Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Aug 2009 21:20:42 -0700
From:      "Li, Qing" <qing.li@bluecoat.com>
To:        "Hiroki Sato" <hrs@freebsd.org>, <qingli@freebsd.org>
Cc:        freebsd-net@freebsd.org, freebsd-current@freebsd.org
Subject:   RE: IPv6 regression on 8.x
Message-ID:  <B583FBF374231F4A89607B4D08578A43052776D0@bcs-mail03.internal.cacheflow.com>

next in thread | raw e-mail | index | archive | help
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.=20
Please try the patch at=20

	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@freebsd.org [mailto:owner-freebsd-
> net@freebsd.org] On Behalf Of Hiroki Sato
> Sent: Wednesday, August 26, 2009 10:27 AM
> To: net@freebsd.org; re@freebsd.org
> Cc: qingli@freebsd.org
> Subject: IPv6 regression on 8.x
>=20
> Hi,
>=20
>  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:
>=20
>  1) Scope violation in a simple global unicast address:
>=20
>  # ifconfig em0 inet6 2001:db8:1::1 prefixlen 64
>  # ping6 2001:db8:1::1
>  PING6(56=3D40+8+8 bytes) 2001:db8:1::1 --> 2001:db8:1::1
>  16 bytes from ::1, icmp_seq=3D0 hlim=3D64 time=3D0.195 ms
>=20
>  --> 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.
>=20
>  2) Issue of subnet-router anycast address with a global address on
>     another I/F:
>=20
>  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=3D40+8+8 bytes) 2001:db8:1::6 --> 2001:db8:1::
>  16 bytes from 2001:db8:1::1, icmp_seq=3D0 hlim=3D64 time=3D0.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=3D40+8+8 bytes) 2001:db8:1::6 --> 2001:db8:1::
>  16 bytes from fe80::213:a9ff:feff:63e6%re0, icmp_seq=3D0 hlim=3D64
> time=3D0.405 ms
>  ^C
>=20
>  --> 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.
>=20
>  3) Manually-configured subnet routes disapper on receiving RA:
>=20
>  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=3D1
>  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
>=20
>  --> 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.
>=20
>  I am very concerned that these bugs would disappoint IPv6 users in
>  production environments if we ship 8.0R without fixing them.
>=20
> -- Hiroki



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B583FBF374231F4A89607B4D08578A43052776D0>