summaryrefslogtreecommitdiffstats
path: root/sys/netinet6
diff options
context:
space:
mode:
authormelifaro <melifaro@FreeBSD.org>2015-11-15 16:02:22 +0000
committermelifaro <melifaro@FreeBSD.org>2015-11-15 16:02:22 +0000
commit2bf2184989df811e449644003b7fb0f3b94a4f14 (patch)
tree2007ca470fccad475eebaf359ac3472a41e3b39d /sys/netinet6
parentded369f5b984e877f0c37c58981bfd2b83410cc4 (diff)
downloadFreeBSD-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.c2
-rw-r--r--sys/netinet6/ip6_output.c4
-rw-r--r--sys/netinet6/nd6.c6
-rw-r--r--sys/netinet6/nd6.h2
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);
OpenPOWER on IntegriCloud