netinet6/in6.c r201282

David Horn dhorn2000 at gmail.com
Sun Jan 3 05:18:48 UTC 2010


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) like so:

Index: in6.c
===================================================================
--- in6.c	(revision 201413)
+++ in6.c	(working copy)
@@ -1766,8 +1766,6 @@
 		|| (ifp->if_flags & IFF_LOOPBACK))) {
 		error = ifa_add_loopback_route((struct ifaddr *)ia,
 				       (struct sockaddr *)&ia->ia_addr);
-		if (error == 0)
-			ia->ia_flags |= IFA_RTSELF;
 	}

 	/* Add ownaddr as loopback rtentry, if necessary (ex. on p2p link). */


uname -a
FreeBSD la 9.0-CURRENT FreeBSD 9.0-CURRENT #15 r201407:201413: Sat Jan
 2 22:36:31 EST 2010     dhorn at la:/usr/obj/usr/src/sys/DHORN  amd64


--Thanks!

---Dave Horn
-------------- next part --------------
Routing tables

Internet6:
Destination                       Gateway                       Flags    Refs      Use    Mtu    Netif Expire
::/96                             ::1                           UGRS        0        0  16384      lo0 =>
default                           fe80::224:1ff:fe43:21e6%bfe0  UG          0        0   1500     bfe0
::1                               ::1                           UH          0        2  16384      lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        0        0  16384      lo0
2001:470:8:584::                  link#2                        UH          0        0   1500     bfe0
2001:470:8:584::aa                link#2                        UHS         0        0  16384      lo0
fe80::/10                         ::1                           UGRS        0        0  16384      lo0
fe80::%bfe0                       link#2                        UH          0        0   1500     bfe0
fe80::21c:23ff:fe98:2c5d%bfe0     link#2                        UHS         0        0  16384      lo0
fe80::%lo0                        link#5                        UH          0        0  16384      lo0
fe80::1%lo0                       link#5                        UHS         0        0  16384      lo0
ff01:2::/32                       fe80::21c:23ff:fe98:2c5d%bfe0 U           0        0   1500     bfe0
ff01:5::/32                       ::1                           U           0        0  16384      lo0
ff02::/16                         ::1                           UGRS        0        0  16384      lo0
ff02::%bfe0/32                    fe80::21c:23ff:fe98:2c5d%bfe0 U           0        0   1500     bfe0
ff02::%lo0/32                     ::1                           U           0        0  16384      lo0
-------------- next part --------------
Routing tables

Internet6:
Destination                       Gateway                       Flags    Refs      Use    Mtu    Netif Expire
::/96                             ::1                           UGRS        0        0  16384      lo0 =>
default                           fe80::224:1ff:fe43:21e6%bfe0  UG          0        0   1500     bfe0
::1                               ::1                           UH          0        2  16384      lo0
::ffff:0.0.0.0/96                 ::1                           UGRS        0        0  16384      lo0
2001:470:8:584::/64               link#2                        U           0        0   1500     bfe0
2001:470:8:584::aa                link#2                        UHS         0        0  16384      lo0
fe80::/10                         ::1                           UGRS        0        0  16384      lo0
fe80::%bfe0/64                    link#2                        U           0        0   1500     bfe0
fe80::21c:23ff:fe98:2c5d%bfe0     link#2                        UHS         0        0  16384      lo0
fe80::%lo0/64                     link#5                        U           0        0  16384      lo0
fe80::1%lo0                       link#5                        UHS         0        0  16384      lo0
ff01:2::/32                       fe80::21c:23ff:fe98:2c5d%bfe0 U           0        0   1500     bfe0
ff01:5::/32                       ::1                           U           0        0  16384      lo0
ff02::/16                         ::1                           UGRS        0        0  16384      lo0
ff02::%bfe0/32                    fe80::21c:23ff:fe98:2c5d%bfe0 U           0        0   1500     bfe0
ff02::%lo0/32                     ::1                           U           0        0  16384      lo0


More information about the freebsd-current mailing list