Mailing List Archive

A=1 L=0 PIO
Hi,

I'm trying to figure out what a "normal" currently deployed in the field
IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.

I've skimmed RFC4861 and RFC4862 without finding an answer.

Thoughts on this? I can of course try it out myself, but I have a limited
number of operating systems available. Anyone here have any data or other
insights?

--
Mikael Abrahamsson email: swmike@swm.pp.se
Re: A=1 L=0 PIO [ In reply to ]
A host won't do on-link computation nor ND but instead send packets
for other destinations in the same /64 to a router, and rely on ICMPv6
Redirects to learn which destinations are actually on-link.

On 16 August 2016 at 16:11, Mikael Abrahamsson <swmike@swm.pp.se> wrote:
>
> Hi,
>
> I'm trying to figure out what a "normal" currently deployed in the field
> IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.
>
> I've skimmed RFC4861 and RFC4862 without finding an answer.
>
> Thoughts on this? I can of course try it out myself, but I have a limited
> number of operating systems available. Anyone here have any data or other
> insights?
>
> --
> Mikael Abrahamsson email: swmike@swm.pp.se
Re: A=1 L=0 PIO [ In reply to ]
On 16 Aug 2016, at 9:25, Erik Kline <ek@google.com> wrote:

> A host won't do on-link computation nor ND but instead send packets
> for other destinations in the same /64 to a router, and rely on ICMPv6
> Redirects to learn which destinations are actually on-link.

The fact that stuff is in the same /64 is meaningless in this case: all traffic goes to the gateway.

Please refer to your CLNP textbooks, that also works like this. :-)

I seem to remember that MacOS and possibly others don't pay much attention to redirects these days, though.
Re: A=1 L=0 PIO [ In reply to ]
Hi Mikael,

> I'm trying to figure out what a "normal" currently deployed in the field IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.

On an implementation level what I have seen on Linux is that the L flag determines whether the route 2001:db8::/64 -> eth0 is installed or not.

Cheers,
Sander
Re: A=1 L=0 PIO [ In reply to ]
On Tue, 16 Aug 2016, Sander Steffann wrote:

> Hi Mikael,
>
>> I'm trying to figure out what a "normal" currently deployed in the field IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.
>
> On an implementation level what I have seen on Linux is that the L flag determines whether the route 2001:db8::/64 -> eth0 is installed or not.

Ok, thanks everybody. So it'll still do A=1 style addressing (EUI64,
privacy extension addressing etc)? Will it perform DAD?

--
Mikael Abrahamsson email: swmike@swm.pp.se
Re: A=1 L=0 PIO [ In reply to ]
On Tue, Aug 16, 2016, at 11:49, Mikael Abrahamsson wrote:

> Ok, thanks everybody. So it'll still do A=1 style addressing (EUI64,
> privacy extension addressing etc)? Will it perform DAD?

It should. But when taking the road less traveled there's always
increased chances of potholes.

I.e., you really don't want to depend on this unusual case being
implemented properly in a wide range of different systems.
Re: A=1 L=0 PIO [ In reply to ]
Hi,

On Tue, Aug 16, 2016 at 11:49:33AM +0200, Mikael Abrahamsson wrote:
> On Tue, 16 Aug 2016, Sander Steffann wrote:
>
> > Hi Mikael,
> >
> >> I'm trying to figure out what a "normal" currently deployed in the field IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.
> >
> > On an implementation level what I have seen on Linux is that the L flag determines whether the route 2001:db8::/64 -> eth0 is installed or not.
>
> Ok, thanks everybody. So it'll still do A=1 style addressing (EUI64,
> privacy extension addressing etc)? Will it perform DAD?

from my memory: yes to all of those, for common desktop OS (Win, Linux, Max OS-X). When we did the lab testing for this one (https://www.ernw.de/download/ERNW_Whitepaper_IPv6_RAs_RDNSS_DHCPv6_Conflicting_Parameters.pdf) we played a bit with the L-flag as well, so the L=0 + A=1 scenario occurred. I don't remember any case where the things you mention did not happen.
We still have that lab infrastructure so we can repeat (some of) the tests with L=1 (and without DHCPv6). Let me know if you (or the group) is interested; we can assign a student to the task. (I'm on family holiday myself until end of Aug).

best

Enno





>
> --
> Mikael Abrahamsson email: swmike@swm.pp.se

--
Enno Rey

ERNW GmbH - Carl-Bosch-Str. 4 - 69115 Heidelberg - www.ernw.de
Tel. +49 6221 480390 - Fax 6221 419008 - Cell +49 173 6745902

Handelsregister Mannheim: HRB 337135
Geschaeftsfuehrer: Enno Rey

=======================================================
Blog: www.insinuator.net || Conference: www.troopers.de
Twitter: @Enno_Insinuator
=======================================================
Re: A=1 L=0 PIO [ In reply to ]
Mikael Abrahamsson <swmike@swm.pp.se> writes:
> On Tue, 16 Aug 2016, Sander Steffann wrote:
>
>>> I'm trying to figure out what a "normal" currently deployed in the field IPv6 host would do if it receives an RA with PIO /64 where L=0 and A=1.
>>
>> On an implementation level what I have seen on Linux is that the L flag determines whether the route 2001:db8::/64 -> eth0 is installed or not.
>
> Ok, thanks everybody. So it'll still do A=1 style addressing (EUI64,
> privacy extension addressing etc)? Will it perform DAD?

Use the source, Luke1

https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/net/ipv6/addrconf.c#n2523

That is:

if (L) then add route
if (A) then do autoconf

Without any side looking at the other flag. Specifically: The value of
L does not affect the interpretation of A. Which is pretty much what
RFC 4861 says too, AFAICT

So the answers to both your questions is "yes".


Bjørn
Re: A=1 L=0 PIO [ In reply to ]
On Tue, 16 Aug 2016, Enno Rey wrote:

> from my memory: yes to all of those, for common desktop OS (Win, Linux,
> Max OS-X). When we did the lab testing for this one
> (https://www.ernw.de/download/ERNW_Whitepaper_IPv6_RAs_RDNSS_DHCPv6_Conflicting_Parameters.pdf)
> we played a bit with the L-flag as well, so the L=0 + A=1 scenario
> occurred. I don't remember any case where the things you mention did not
> happen. We still have that lab infrastructure so we can repeat (some of)
> the tests with L=1 (and without DHCPv6). Let me know if you (or the
> group) is interested; we can assign a student to the task. (I'm on
> family holiday myself until end of Aug).

I just tried A=1 L=0 with the following operating systems, all fully
updated with whatever latest versions is shipping to normal people.

Windows 10
MacOS 10.11.6
iOS 9.3.4
Android 5.1.1
Linux 14.04 LTS

They all did what I consider "the right thing". They autoconfigured
addresses and used them, and they did DAD on the link.

--
Mikael Abrahamsson email: swmike@swm.pp.se
Re: A=1 L=0 PIO [ In reply to ]
On Tue, 16 Aug 2016, Bjørn Mork wrote:

> if (L) then add route
> if (A) then do autoconf

Win10 and MacOS seems to do the same as you described here.

Ok, goodness, that's what I wanted to hear.

--
Mikael Abrahamsson email: swmike@swm.pp.se
RE: A=1 L=0 PIO [ In reply to ]
Hi Mikael,

> -----Original Message-----
> From: ipv6-ops-bounces+fred.l.templin=boeing.com@lists.cluenet.de [mailto:ipv6-ops-
> bounces+fred.l.templin=boeing.com@lists.cluenet.de] On Behalf Of Mikael Abrahamsson
> Sent: Tuesday, August 16, 2016 4:47 AM
> To: Enno Rey <erey@ernw.de>
> Cc: ipv6-ops@lists.cluenet.de
> Subject: Re: A=1 L=0 PIO
>
> On Tue, 16 Aug 2016, Enno Rey wrote:
>
> > from my memory: yes to all of those, for common desktop OS (Win, Linux,
> > Max OS-X). When we did the lab testing for this one
> > (https://www.ernw.de/download/ERNW_Whitepaper_IPv6_RAs_RDNSS_DHCPv6_Conflicting_Parameters.pdf)
> > we played a bit with the L-flag as well, so the L=0 + A=1 scenario
> > occurred. I don't remember any case where the things you mention did not
> > happen. We still have that lab infrastructure so we can repeat (some of)
> > the tests with L=1 (and without DHCPv6). Let me know if you (or the
> > group) is interested; we can assign a student to the task. (I'm on
> > family holiday myself until end of Aug).
>
> I just tried A=1 L=0 with the following operating systems, all fully
> updated with whatever latest versions is shipping to normal people.
>
> Windows 10
> MacOS 10.11.6
> iOS 9.3.4
> Android 5.1.1
> Linux 14.04 LTS
>
> They all did what I consider "the right thing". They autoconfigured
> addresses and used them, and they did DAD on the link.

For a shared prefix (e.g., one that is advertised in a PIO and with
'A'=1), DAD is required regardless of the state of the 'L' bit.

For a prefix that has been delegated for the node's own exclusive
use (e.g., via DHCPv6 PD), addresses can be assigned to the interface
without need for DAD. This becomes important as the number of
assigned addresses becomes large since it avoids the need for
DAD/MLD multicasts. See: 'draft-templin-v6ops-pdhost'.

Thanks - Fred
fred.l.templin@boeing.com

> --
> Mikael Abrahamsson email: swmike@swm.pp.se