Date: Fri, 24 Nov 2017 20:55:28 +0100 From: Harry Schmalzbauer <freebsd@omnilan.de> To: FreeBSD Net <freebsd-net@freebsd.org> Subject: =?UTF-8?B?UTogW3J0YWR2ZF0gcHJlZml4IGluZm8gZmxhZyAnUicgLSBNb2JpbGU=?= =?UTF-8?B?IElQdjYgZXh0ZW5zaW9uIOKAkyBvciBob3cgdG8gZGlzYWJsZSBsaW5rLWxvY2E=?= =?UTF-8?B?bCBnYXRld2F5?= Message-ID: <5A187930.1070406@omnilan.de>
next in thread | raw e-mail | index | archive | help
Hello, it was unavoidable, so I took some time reading rtadvd.conf(5), rfc4861 (Neighbour Discovery for IP version 6, which also describes the Router Advertisement Message Format with it's Prefix Information, flags L and A) and rfc6275 (Mobility Support in IPv6, which extends the Prefix Information Flags). As far as I can tell, our rtadvd(8) doesn't support the extended 'R' flag. My aim: Stateful _only_ (dhcp6) configuration in the LAN for widest client deversity possible, without the need to change anything on any client. dhcp6 setup was no probelm with isc's dhcpd. Finding the "managed adress" flag for RA messages, which tells most popular clients to _also_ request DHCPv6 leases was also no big effort. Finding the unwanted L flag for the prefix information in the RA message was a bit trickier. Finding out that rtadvd(8) seems to only respect the corresponding "pinfoflags='l'" capability field if you explicitly set a addr for prefix info (not leaving the auto-determination) was hard. So for the records, if somebody else want's to restrict SLAAC in her DHCPv6 environment, /etc/rtadvd.conf needs the following lines to convince the most popular clients to use the stateful (dhcp6) address for internet communication: yourdefaults:\ :noifprefix:nolladdr:raflags='m': yourif:\ :tc=yourdefaults:addr="2001:db8:abcd:1::":prefixlen#64:pinfoflags='l': (If you only set the 'm' flag, most popular clients use the SLAAC address, despite they got a dhcp lease.) In any case, they use the link-local address of the gateway. I'd prefer that clients use the global unicast address of the router, instead of the link-local address. What I found so far is the already mentioned "R" flag, but that's not implemented so far (in rtadvd(8)). What do your setups look like? Do you use radvd(8) instead? Any other trick? Not caring about source addresses at all? Thanks, -harry
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5A187930.1070406>