kern/135585: [ip6] net.inet6.ip6.accept_rtadv=1 removes a cloning
hrs at FreeBSD.org
Sun Jun 14 23:10:01 UTC 2009
>Synopsis: [ip6] net.inet6.ip6.accept_rtadv=1 removes a cloning route
>Arrival-Date: Sun Jun 14 23:10:00 UTC 2009
>Originator: Hiroki Sato
>Release: FreeBSD 7.2-STABLE i386
Tokyo University of Science
System: FreeBSD phaleano.allbsd.org 7.2-STABLE FreeBSD 7.2-STABLE #20: Sun Jun 14 02:30:28 JST 2009 hrs at phaleano.allbsd.org:/usr/obj/usr/src/sys/PHALEANO i386
Behavior of net.int6.ip6.accept_rtadv=1 is odd on 7.1R and
later. The environment and symptom are the following:
1. The box has two NICs. One has an address 2001:0db8:1::1/64
(NIC A), and another has 2001:0db8:2::1/64 (NIC B). These
addresses are assigned manually ($ipv6_ifconfig in
rc.conf). Each NIC has a link-local address since
$ipv6_enable="YES" in rc.conf.
2. RA is periodically sent to the network 2001:0db8:1::1/64
(NIC A) by a router on the subnet. The RA includes a
source link-layer address option only.
When setting net.inet6.ip6.accept_rtadv=1 in this
configuration, I expected the box assigns an autoconf IPv6
address (prefix 2001:0db8:1::/64 + EUI64) to NIC A and an
default route based on source link-layer address in the RA
packet. Actually, these two were done as expected. However,
after the autoconf address and default route are assigned,
routes for NIC B disappeared from the routing table. More
specifically, a cloning route "2001:0db8:2::1/64 -> link#2"
was removed for some reason.
Enable net.inet6.ip6.accept_rtadv=1 on a box with two NICs.
7.0R works fine, but 7.1R and 7.2R remove cloning route of a
NIC which did not receive RA unconditionally.
More information about the freebsd-bugs