IPv6 regression on 8.x
Li, Qing
qing.li at bluecoat.com
Fri Aug 28 07:34:08 UTC 2009
Hi,
The problems you raised:
>
> 1) Scope violation in a simple global unicast address:
>
> 2) Issue of subnet-router anycast address with a global address on
> another I/F:
>
The above two issues should be fixed by r196569. Please confirm.
>
> 3) Manually-configured subnet routes disapper on receiving RA:
>
I've found the problem and have a fix. I will do some more
investigation.
Please try the patch at
http://people.freebsd.org/~qingli/patch-8-27-ipv6.diff
I have done unit testing and RA no longer removes the statically
configured prefixes.
Thanks,
-- Qing
> -----Original Message-----
> From: owner-freebsd-net at freebsd.org [mailto:owner-freebsd-
> net at freebsd.org] On Behalf Of Hiroki Sato
> Sent: Wednesday, August 26, 2009 10:27 AM
> To: net at freebsd.org; re at freebsd.org
> Cc: qingli at freebsd.org
> Subject: IPv6 regression on 8.x
>
> 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
More information about the freebsd-current
mailing list