Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 4 Jan 2010 19:51:43 -0500
From:      David Horn <dhorn2000@gmail.com>
To:        Qing Li <qing.li@bluecoat.com>, freebsd-current@freebsd.org
Subject:   Re: netinet6/in6.c r201282
Message-ID:  <25ff90d61001041651gf4509ads4d023320471ab74d@mail.gmail.com>
In-Reply-To: <25ff90d61001022118y3c2a4ddcr30fd5283af065346@mail.gmail.com>
References:  <25ff90d61001022118y3c2a4ddcr30fd5283af065346@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Jan 3, 2010 at 12:18 AM, David Horn <dhorn2000@gmail.com> wrote:
> Qing --
>
> I have been having some issues with local ipv6 routes to machines that
> are supposed to be on-link (attached to the same ethernet switch as my
> test FreeBSD 9.0 box, and in the same /64) not being able to be
> accessed properly after r201282.
>
> Simple ping6 to the host does not result in a echo response once the
> ndp entries go stale. (from looking at ndp -a)
>
> I noticed that there seems to be a missing /64 on the routing table
> entry, and doing a "route get -inet6 $hostname" for a host that is
> supposed to be on-link and in the same /64 results in a routing entry
> that points to the default router instead of the appropriate route for
> the /64.
>
> I have attached both a working (route.good.txt) and broken
> (route.bad.txt) routing table (from netstat -rWnfinet6)
>
> Let me know if you want a tcpdump, or other configuration data.
>
> I can get it to work again if I hack up in6.c (not a valid fix TTBOMK) li=
ke so:
>
> Index: in6.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- in6.c =A0 =A0 =A0 (revision 201413)
> +++ in6.c =A0 =A0 =A0 (working copy)
> @@ -1766,8 +1766,6 @@
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0|| (ifp->if_flags & IFF_LOOPBACK))) {
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0error =3D ifa_add_loopback_route((struct i=
faddr *)ia,
> =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =
=A0 (struct sockaddr *)&ia->ia_addr);
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 if (error =3D=3D 0)
> - =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 ia->ia_flags |=3D IFA_RTSEL=
F;
> =A0 =A0 =A0 =A0}
>
> =A0 =A0 =A0 =A0/* Add ownaddr as loopback rtentry, if necessary (ex. on p=
2p link). */
>
>
> uname -a
> FreeBSD la 9.0-CURRENT FreeBSD 9.0-CURRENT #15 r201407:201413: Sat Jan
> =A02 22:36:31 EST 2010 =A0 =A0 dhorn@la:/usr/obj/usr/src/sys/DHORN =A0amd=
64
>
>
> --Thanks!
>
> ---Dave Horn
>

Qing --

Thanks for the fix.   r201543 seems to work well for me so far.

--Dave Horn



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