MrMulleMeck <[email protected]> wrote
  in <[email protected]>:

mr> When rtsol(d) starts, it check the interface status (flags). If flags
mr> are not (IFF_UP|IFF_RUNNING) rtsol concludes the interface is "not
mr> active". However, immediately after this, rtsol will activate/set the
mr> IFF_UP flag (if not set) causing DAD to start. Let say that the link
mr> is not ready yet (but in a short period of time) when rtsold starts,
mr> wouldn't this cause DAD to believe that the address is OK (no response
mr> since RS messages are actually never sent over the wire)?

 DAD code assumes a link is ready when IFF_UP && IFF_DRV_RUNNING.  In
 the case that a link is actually down even if IFF_DRV_RUNNING, DAD
 probing messages will be sent and can be lost.

mr> What is the rationale (if any) for rtsol to set the IFF_UP flag? It
mr> seems that rtsold will wait anyway for DAD later on?

 Simply because rtsol needs to activate the specified interface if it
 is down.  As explained above, DAD code in the kernel will wait for
 IFF_DRV_RUNNING after IFF_UP.

-- Hiroki

Attachment: pgpoSOhvL68Ua.pgp
Description: PGP signature

Reply via email to