Acceptable prefix sizes for Windows Vista/7

Daniel Roesen dr at cluenet.de
Wed Feb 16 08:39:19 CET 2011


On Tue, Feb 15, 2011 at 11:16:18PM -0600, Frank Bulk wrote:
> I was testing a residential broadband router's implementation of IPv6 and
> found that it wasn't using the first /64 in the delegated prefix, but the
> whole /56.

This wasn't OpenWRT on WRT54GL using the Xavient DS-Lite module by
chance? That one had this bug, and got fixed quickly after being
reported to Xavient.

> Does Windows possibly have a requirement that the advertised prefix only be
> a /64 in order for SLAAC to work?

Ethernet interface identifiers are defined to be 64 bits long. RFC2462
(SLAAC) says:

    d) If the prefix advertised does not match the prefix of an address
       already in the list, and the Valid Lifetime is not 0, form an
       address (and add it to the list) by combining the advertised
       prefix with the link's interface identifier as follows:

   |            128 - N bits               |       N bits           |
   +---------------------------------------+------------------------+
   |            link prefix                |  interface identifier  |
   +----------------------------------------------------------------+


->     If the sum of the prefix length and interface identifier length
->     does not equal 128 bits, the Prefix Information option MUST be
->     ignored.  An implementation MAY wish to log a system management
       error in this case. It is the responsibility of the system
       administrator to insure that the lengths of prefixes contained in
       Router Advertisements are consistent with the length of interface
       identifiers for that link type. Note that interface identifiers
       will typically be 64-bits long and based on EUI-64 identifiers as
       described in [ADDR-ARCH].

56+64=120 != 128, so Windows behaviour is IMHO ok.

Best regards,
Daniel

-- 
CLUE-RIPE -- Jabber: dr at cluenet.de -- dr at IRCnet -- PGP: 0xA85C8AA0


More information about the ipv6-ops mailing list