Date: Thu, 27 Aug 2009 02:26:54 +0900 (JST) From: Hiroki Sato <hrs@FreeBSD.org> To: net@FreeBSD.org, re@FreeBSD.org Cc: qingli@FreeBSD.org Subject: IPv6 regression on 8.x Message-ID: <20090827.022654.83897589.hrs@allbsd.org>
next in thread | raw e-mail | index | archive | help
----Security_Multipart(Thu_Aug_27_02_26_54_2009_644)-- Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit 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 ----Security_Multipart(Thu_Aug_27_02_26_54_2009_644)-- Content-Type: application/pgp-signature Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (FreeBSD) iEYEABECAAYFAkqVcF4ACgkQTyzT2CeTzy189ACaAsEaOVd1hRY2Y24eNIX/A798 5BgAn0LcKBkM0dcoju5n4VowXDaRyKsV =q4H+ -----END PGP SIGNATURE----- ----Security_Multipart(Thu_Aug_27_02_26_54_2009_644)----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20090827.022654.83897589.hrs>