> I tried to place each of these such that the events are only generated
 > if the operation that prompts the event actually completes, as opposed
 > to simply when an attempt the operation is made (the IPv4 events that
 > Phil originally had were actually in the same place as they are now).
 > There are cases in ipif_up_done*() where the IPIF_UP flag does not get
 > set due to an error, but yet routing sockets has already sent up an
 > IFINFO message.

IFINFO in general isn't a concern since it only reports the current flags.
The NEWADDR message only happens when DAD completes, which may not happen
in ipif_up_done(), hence the ipif_addr_ready check.


 > I think that routing sockets got this wrong.  The sctp_update_ipif()
 > function calls, however, seem to have gotten this right.

I think you'll find the ip_rts_newaddrmsg() calls mirror the
sctp_update_ipif() calls.

 > Having just said that, I do notice some DAD-related calls to
 > sctp_update_ipif(ipif, SCTP_IPIF_UP) that have no equivalent NE_LIF_UP
 > events, so I'll take a look at those.

Right, those are the DAD-related cases I mentioned above.

-- 
meem

Reply via email to