PPP IPv6 prefix length and stateless autoconfiguration?
dan.krejsa at windriver.com
Mon Oct 16 22:19:59 UTC 2006
Some code in the in6_update_ifa() function in netinet6/in6.c
enforces that if an IPv6 destination address is specified for
an interface address, the interface must be point-to-point or
loopback (fine), and the corresponding prefix length must be
exactly 128 bits.
The latter seems (at least naively) to conflict with
the definition in
that the interface identifier length for PPP interfaces is 64 bits, and
correspondingly prefixes accepted from a router advertisement
must also be 64 bits long; see section 5.5.3 in
There's code in nd6_rtr.c's in6_ifadd() function which
requires the prefix length associated with the link local
in6_ifaddr (found by in6ifa_ifpforlinklocal()) to agree
with the prefix length from the router advertisement
prefix info option before adding an autoconfigured address.
They won't match if the in6_ifaddr has prefix length 128.
This would seem to prevent autoconfiguring global
IPv6 addresses on PPP links. Or is there a way this is
worked around elsewhere in the code?
More information about the freebsd-net