diff options
author | melifaro <melifaro@FreeBSD.org> | 2015-11-15 16:02:22 +0000 |
---|---|---|
committer | melifaro <melifaro@FreeBSD.org> | 2015-11-15 16:02:22 +0000 |
commit | 2bf2184989df811e449644003b7fb0f3b94a4f14 (patch) | |
tree | 2007ca470fccad475eebaf359ac3472a41e3b39d /sys/netinet6 | |
parent | ded369f5b984e877f0c37c58981bfd2b83410cc4 (diff) | |
download | FreeBSD-src-2bf2184989df811e449644003b7fb0f3b94a4f14.zip FreeBSD-src-2bf2184989df811e449644003b7fb0f3b94a4f14.tar.gz |
Bring back the ability of passing cached route via nd6_output_ifp().
Diffstat (limited to 'sys/netinet6')
-rw-r--r-- | sys/netinet6/ip6_forward.c | 2 | ||||
-rw-r--r-- | sys/netinet6/ip6_output.c | 4 | ||||
-rw-r--r-- | sys/netinet6/nd6.c | 6 | ||||
-rw-r--r-- | sys/netinet6/nd6.h | 2 |
4 files changed, 7 insertions, 7 deletions
diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index 9df8e4c..5f794db 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -571,7 +571,7 @@ pass: goto bad; } - error = nd6_output_ifp(rt->rt_ifp, origifp, m, dst); + error = nd6_output_ifp(rt->rt_ifp, origifp, m, dst, NULL); if (error) { in6_ifstat_inc(rt->rt_ifp, ifs6_out_discard); IP6STAT_INC(ip6s_cantforward); diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index 181340f..778f39d 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -935,7 +935,7 @@ passout: m->m_pkthdr.len); ifa_free(&ia6->ia_ifa); } - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); goto done; } @@ -1034,7 +1034,7 @@ sendorfree: counter_u64_add(ia->ia_ifa.ifa_obytes, m->m_pkthdr.len); } - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); } else m_freem(m); } diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index b3fe002..8ead873 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -1905,7 +1905,7 @@ nd6_grab_holdchain(struct llentry *ln, struct mbuf **chain, int nd6_output_ifp(struct ifnet *ifp, struct ifnet *origifp, struct mbuf *m, - struct sockaddr_in6 *dst) + struct sockaddr_in6 *dst, struct route *ro) { int error; int ip6len; @@ -1944,7 +1944,7 @@ nd6_output_ifp(struct ifnet *ifp, struct ifnet *origifp, struct mbuf *m, if ((ifp->if_flags & IFF_LOOPBACK) == 0) origifp = ifp; - error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, NULL); + error = (*ifp->if_output)(origifp, m, (struct sockaddr *)dst, ro); return (error); } @@ -2192,7 +2192,7 @@ nd6_flush_holdchain(struct ifnet *ifp, struct ifnet *origifp, struct mbuf *chain while (m_head) { m = m_head; m_head = m_head->m_nextpkt; - error = nd6_output_ifp(ifp, origifp, m, dst); + error = nd6_output_ifp(ifp, origifp, m, dst, NULL); } /* diff --git a/sys/netinet6/nd6.h b/sys/netinet6/nd6.h index 4c39a09..8a0a56e 100644 --- a/sys/netinet6/nd6.h +++ b/sys/netinet6/nd6.h @@ -422,7 +422,7 @@ int nd6_flush_holdchain(struct ifnet *, struct ifnet *, struct mbuf *, int nd6_add_ifa_lle(struct in6_ifaddr *); void nd6_rem_ifa_lle(struct in6_ifaddr *, int); int nd6_output_ifp(struct ifnet *, struct ifnet *, struct mbuf *, - struct sockaddr_in6 *); + struct sockaddr_in6 *, struct route *); /* nd6_nbr.c */ void nd6_na_input(struct mbuf *, int, int); |