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 21:09:03 +0100,
Roy Marples <roy%marples.name@localhost> wrote:

> > 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.
>
> It's not really DNA either. I just used that RFC as an example of why
> the behavior as I see it is required.
> If you don't perform DAD on link change then why bother with DAD at all?

To perform DAD on link up, it should suffice to just make the
addresses tentative on getting the indication of status change.  (If I
understand it correctly) the implementation using DETACHED flag is
stronger than that: closing a small (if theoretical/any) window where
these addresses could be used between the link up and the address
status change (marked as tentative) upon recognizing the link status.
Personally, I'd still consider it a valid DAD implementation even if
it allows such a small window as long as it's small enough (remember,
DAD is not an algorithm that guarantees 100% safety anyway).

> >  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).
>
> I've not tested this, but wouldn't a host route to the interface address
> via the loopback address work?

Is this a question of whether local communication using a detached
address is currently possible?  I don't fully remember either, but the
host route itself should work (unless it's removed as a result of the
status change to detached).  But there may be other issues, like
whether bind(2) is allowed for that address.

--
JINMEI, Tatuya


Home | Main Index | Thread Index | Old Index