Date: Mon, 16 Oct 2006 15:19:55 -0700 From: "Krejsa, Dan" <dan.krejsa@windriver.com> To: <freebsd-net@freebsd.org> Subject: PPP IPv6 prefix length and stateless autoconfiguration? Message-ID: <F7D1E22E318B7148B9EF6345A57821D901DA861B@ALA-MAIL03.corp.ad.wrs.com>
next in thread | raw e-mail | index | archive | help
Hi, 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=20 the definition in http://www.ietf.org/internet-drafts/draft-ietf-ipv6-over-ppp-v2-02.txt 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 http://www.ietf.org/internet-drafts/draft-ietf-ipv6-rfc2462bis-08.txt 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? - Dan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?F7D1E22E318B7148B9EF6345A57821D901DA861B>