On Sun, Dec 23, 2007 at 12:24:32AM +0100, Iljitsch van Beijnum wrote:
First of all, there's RFC 3513:
For all unicast addresses, except those that start with binary value 000, Interface IDs are required to be 64 bits long and to be constructed in Modified EUI-64 format.
Ahhh, thanks - that is the only thing I have ever seen that gives any reason for the /64 prefix. Sadly, the document contains no compelling technical reasons for it - looks like it's done just so things are easy when generating interface IDs from ethernet addresses.
Second, we currently have two mechanisms to configure IPv6 hosts with an address: router advertisements and DHCPv6. The former has been implemented in ALL IPv6 stacks but doesn't work if your subnet isn't a /64.
But the protocols don't imply or require this. All of the messages used in stateless autoconfig will behave as expected with longer prefix lengths. So it seems that because the interface identifier has to be 64-bits, stateless autoconfig is unnecessarily crippled. For kicks I just tried RAs with a /96 prefix. Linux 2.6 checks and enforces the requirement from RFC3513, though it'd be trivial to change. But I'm guessing other vendors enforce this as well. -- Ross Vandegrift ross@kallisti.us "The good Christian should beware of mathematicians, and all those who make empty prophecies. The danger already exists that the mathematicians have made a covenant with the devil to darken the spirit and to confine man in the bonds of Hell." --St. Augustine, De Genesi ad Litteram, Book II, xviii, 37