IPv6 regression on 8.x

Hiroki Sato hrs at FreeBSD.org
Wed Aug 26 17:29:30 UTC 2009


Hi,

 I found there are serious regressions in IPv6 routing on 8.x (and
 7.1R and later) after ARP/NDP changes in the last December.  What I
 noticed are the following:

 1) Scope violation in a simple global unicast address:

 # ifconfig em0 inet6 2001:db8:1::1 prefixlen 64
 # ping6 2001:db8:1::1
 PING6(56=40+8+8 bytes) 2001:db8:1::1 --> 2001:db8:1::1
 16 bytes from ::1, icmp_seq=0 hlim=64 time=0.195 ms

 --> 2001:db8:1::1 has a routing entry with lo0, but ::1 should not be
     used in the reply packet.  On 7.x, 2001:db8:1::1 is used as
     expected.

 2) Issue of subnet-router anycast address with a global address on
    another I/F:

 box-1# ifconfig em0 inet6 2001:db8:1::1 prefixlen 64
 box-1# ifconfig em0 inet6 2001:db8:1:: prefixlen 64 anycast
 box-2# ifconfig re0 inet6 2001:db8:1::6 prefixlen 64
 box-2# ping6 2001:db8:1::
 PING6(56=40+8+8 bytes) 2001:db8:1::6 --> 2001:db8:1::
 16 bytes from 2001:db8:1::1, icmp_seq=0 hlim=64 time=0.439 ms
 ^C
 box-1# ifconfig em0 inet6 2001:db8:1::1 prefixlen 64 -alias
 box-1# ifconfig em1 inet6 2001:db8:2::1 prefixlen 64
 box-2# ping6 2001:db8:1::
 PING6(56=40+8+8 bytes) 2001:db8:1::6 --> 2001:db8:1::
 16 bytes from fe80::213:a9ff:feff:63e6%re0, icmp_seq=0 hlim=64 time=0.405 ms
 ^C

 --> The em0 and re0 are on the same link with each other.  In 7.x,
     replies are from 2001:db8:2::1, not fe80::/64.

 3) Manually-configured subnet routes disapper on receiving RA:

 box-1# ifconfig em0 inet6 2001:db8:1::1 prefixlen 64
 box-1# ifconfig em1 inet6 2001:db8:2::1 prefixlen 64
 box-1# netstat -nrf inet6 | grep ^2001:db8
 2001:db8:1::/64                   link#1                        U           em0
 2001:db8:1::1                     link#5                        UHS         lo0
 2001:db8:2::/64                   link#6                        U           em1
 2001:db8:2::1                     link#5                        UHS         lo0
 box-1# sysctl net.inet6.ip6.accept_rtadv=1
 box-1# rtsol em0
 box-1# netstat -nrf inet6 | grep ^2001:db8
 2001:db8:1::1                     link#5                        UHS         lo0
 2001:db8:2::1                     link#5                        UHS         lo0

 --> This symptom occurs on 7.1R and later, including 8.x and
     9-current, not 7.0R.  Even by doing a manual configuration, the
     routes on the RA-receiving I/F can not be added.

 I am very concerned that these bugs would disappoint IPv6 users in
 production environments if we ship 8.0R without fixing them.

-- Hiroki
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20090826/3a809235/attachment.pgp


More information about the freebsd-net mailing list