On 22/02/2017 11:58, Job Snijders wrote: > On Wed, Feb 22, 2017 at 11:44:42AM +1300, Brian E Carpenter wrote: >> On 21/02/2017 23:13, Job Snijders wrote: >>> On Tue, Feb 21, 2017 at 02:11:15PM +1300, Brian E Carpenter wrote: >>>> On 21/02/2017 13:19, Job Snijders wrote: >>>>> On Thu, Feb 16, 2017 at 09:40:01AM +0100, otroan@xxxxxxxxxxxxx wrote: >>>>>> There are many reasons for the 64 bit boundary. >>>>>> - Allowing identifier locator split: 8+8 / GSE that led to ILNP and NPT66 >>>>> >>>>> Irrelevant. >>>> >>>> Not really. They are both running code. You may not want them in >>>> *your* network but that isn't the point. Some people want them. >>>> >>>> And there is a lot of other running code too, not just SLAAC which is >>>> mandatory to implement in every IPv6 host. So this actually trumps all >>>> the other arguments: it's 64 bits because it's 64 bits. >>> >>> When someone utters the phrase "it is X because it is X", the rhetorical >>> imperative seems to be to dismiss further conversation (perhaps any >>> internal dialogue as well, which may be the primary purpose). "It is >>> what it is" therefore, there’s nothing more to be said about it... >>> >>> Except when it's not 64 bits? >> >> That wasn't quite my intention. I just wanted to underline that >> (like it or not) it was set at 64 bits many years ago and a lot >> has been built on that. >> >> ... >>> I've looked at all configured IPv6 addresses on AS 2914 equipment. >>> Interestingly enough, the below table is a reflection of not only NTT's >>> own addressing, and (since AS2914's core function is to connect networks >>> to each other) also of its peers and customers. In the end, whatever >>> makes the thing work is the thing that will be configured. >>> >>> /127 - 22% >>> /126 - 52% >>> /125 - 0,9% >>> /124 - 0,5% >>> /120 - 0,04% >>> /112 - 0,02% >>> /64 - 23% >> >> Thanks, that's interesting. So 23% of the devices might have >> RFC4291-compliant IIDs. The others are configured with 128 bit >> IPv6 addresses. Is that correct? > > The percentage is not the percentage of devices, but the percentage of > interconnections. In all instances the addresses are staticly > configured. OK, but from the outside I can't know that for the /64 subnets. > Back to my example from earlier, to make sure we are on the same page, > this is output from a standard Linux machine: > > job@tardis:~$ sudo ip -6 addr add 2001:728:1808:1::21/126 dev eth1 > job@tardis:~$ sudo ip -6 addr show dev eth1 > 3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000 > inet6 2001:728:1808:1::21/126 scope global > valid_lft forever preferred_lft forever > inet6 fe80::20d:b9ff:fe41:d4f5/64 scope link > valid_lft forever preferred_lft forever > job@tardis:~$ > > Most network engineers would call the above example "configuring a /126 > on an interface" - but am I understanding correctly that in your > taxonomy you would call this "configuring a 128 bit IPv6 address"? Well that does two things: configures a 128 bit address (as Chris points out, *all* addresses are 128 bits, duh) and associates a prefix length with it, which afaik is optional. But the interface has already auto-configured a link-local address, with a 64 bit IID. So yes, that's exactly what I mean. > >> That being so, perhaps the words that are missing are >> "The IID length requirement does not apply to interfaces that >> are explicitly configured with 128 bit addresses." Because the >> requirement is meaningless for such interfaces. > > The terminology might confuse some people, as in common language when > one configures "a /128", or 'a 128 bit address', it usually means you > are configuring something like a loopback address. > > Perhaps: > > "The IID length requirement does not apply to interfaces that are > explicitly configured without autoconfiguration." > > (perhaps even remove the word 'explicitly') > > "The IID length requirement does not apply to interfaces that are > configured without autoconfiguration." Personally I think that's right. (However, if you manually configure an address that matches a pre-existing prefix announced by an RA, it will be assumed to belong to that prefix. I've done that by hand on Windows, not sure I've done it in Linux.) Brian