Great! I will run some tests with the diff.

One thing I noticed:

> @@ -1982,11 +1941,8 @@ gen_address_proposal(struct slaacd_iface *iface, 
> struct radv *ra, struct
>  
>       gen_addr(iface, prefix, addr_proposal, privacy);
>  
> -     tv.tv_sec = 0;
> -     tv.tv_usec = 0;
> -     evtimer_add(&addr_proposal->timer, &tv);
> -
>       LIST_INSERT_HEAD(&iface->addr_proposals, addr_proposal, entries);
> +     configure_address(addr_proposal);
>  
>       hbuf = sin6_to_str(&addr_proposal->addr);
>       log_debug("%s: iface %d: %s: %lld s", __func__,
> @@ -2047,11 +2003,8 @@ gen_dfr_proposal(struct slaacd_iface *iface, struct 
> radv *ra)
>       dfr_proposal->router_lifetime = ra->router_lifetime;
>       dfr_proposal->rpref = ra->rpref;
>  
> -     tv.tv_sec = 0;
> -     tv.tv_usec = 0;
> -     evtimer_add(&dfr_proposal->timer, &tv);
> -
>       LIST_INSERT_HEAD(&iface->dfr_proposals, dfr_proposal, entries);
> +     configure_dfr(dfr_proposal);
>  
>       hbuf = sin6_to_str(&dfr_proposal->addr);
>       log_debug("%s: iface %d: %s: %lld s", __func__,

I think the tv variable should be deleted in both gen_addr_proposal
and gen_dfr_rpoposal. Right now it is unitialized and (only) used
in log_debug.

Reply via email to