tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: IPv6 socket behaviour different to IPv4?



At Wed, 04 Jun 2014 18:09:11 +0100,
Roy Marples <roy%marples.name@localhost> wrote:

> Link goes from != DOWN to DOWN then all IPv6 addresses are marked as
> detached (this is what Darren is complaining about)
>
> Link goes from DOWN to != DOWN then all IPv6 addresses are marked as
> tentative, detached flag is cleared and DAD is performed again
>
> The rationale for this is simple, DAD must be performed on link change
> as we may have moved to a different network.
> This is also stated in RFC6509 Section 5.4

This should be RFC6059, btw.

> 5.4. Link-Layer Indication
>
>     In order to start detection of network attachment procedures, a host
>     typically requires a link-layer indication that the medium has become
>     available [RFC4957].
>
>     After the indication is received, the host MUST mark all currently
>     configured (non-tentative) IP addresses as inoperable until the
>     change detection process completes.

> I chose to mark them as non tentative (ie detached) at link down,
> because we're fractionally to late at link up.

Ah, okay.  So, as I understand it, this is not an issue of DAD but an
issue of DNA, and, more specifically, a matter of how precisely we
implement it.  Disabling DAD on that interface certainly looks too
much if the purpose is to allow node-local communication using a
"detached" address.  One possibility would be to introduce a tweakable
switch that disables the DNA operation at the risk of allowing the
small window on link up.  Another, probably more substantial but
probably cleaner change would be to allow using a detached address for
(node) local communication (e.g., allow bind() but filter out packets
using a detached address if they are sent to the wire rather than
loopback).

--
JINMEI, Tatuya


Home | Main Index | Thread Index | Old Index