diff options
author | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-09-12 20:26:08 +0000 |
---|---|---|
committer | Martin Pieuchot <mpi@cvs.openbsd.org> | 2015-09-12 20:26:08 +0000 |
commit | 62488894e357cef741a48eeff848f58431ce07ed (patch) | |
tree | f70491c5141d8697d0b27819c26bbca957b26bf1 /sys/netinet6/nd6.c | |
parent | d4533dcdd79582de2b7d8682334227be2c589776 (diff) |
Stop overwriting the rt_ifp pointer of RTF_LOCAL routes with lo0ifp.
Use instead the RTF_LOCAL flag to loop local traffic back to the
corresponding protocol queue.
With this change rt_ifp is now always the same as rt_ifa->ifa_ifp.
ok claudio@
Diffstat (limited to 'sys/netinet6/nd6.c')
-rw-r--r-- | sys/netinet6/nd6.c | 11 |
1 files changed, 2 insertions, 9 deletions
diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index ba57ab46438..b37a5cc09df 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nd6.c,v 1.150 2015/09/10 17:52:05 claudio Exp $ */ +/* $OpenBSD: nd6.c,v 1.151 2015/09/12 20:26:07 mpi Exp $ */ /* $KAME: nd6.c,v 1.280 2002/06/08 19:52:07 itojun Exp $ */ /* @@ -1113,13 +1113,6 @@ nd6_rtrequest(int req, struct rtentry *rt) ln->ln_byhint = 0; /* - * XXX Since lo0 is in the default rdomain we - * should not (ab)use it for any route related - * to an interface of a different rdomain. - */ - rt->rt_ifp = lo0ifp; - - /* * Make sure rt_ifa be equal to the ifaddr * corresponding to the address. * We need this because when we refer @@ -1699,7 +1692,7 @@ nd6_output(struct ifnet *ifp, struct mbuf *m0, struct sockaddr_in6 *dst, return (0); sendpkt: - return ((*ifp->if_output)(ifp, m, sin6tosa(dst), rt)); + return (if_output(ifp, m, sin6tosa(dst), rt)); bad: m_freem(m); |