diff options
Diffstat (limited to 'sys/netinet')
-rw-r--r-- | sys/netinet/in_fib.c | 7 | ||||
-rw-r--r-- | sys/netinet/in_pcb.c | 1 | ||||
-rw-r--r-- | sys/netinet/ip_encap.c | 2 | ||||
-rw-r--r-- | sys/netinet/ip_mroute.c | 1 | ||||
-rw-r--r-- | sys/netinet/ip_output.c | 1 | ||||
-rw-r--r-- | sys/netinet/raw_ip.c | 1 | ||||
-rw-r--r-- | sys/netinet/tcp_reass.c | 1 | ||||
-rw-r--r-- | sys/netinet/tcp_subr.c | 1 | ||||
-rw-r--r-- | sys/netinet/toecore.c | 15 |
9 files changed, 15 insertions, 15 deletions
diff --git a/sys/netinet/in_fib.c b/sys/netinet/in_fib.c index 451b3747..352c6d0 100644 --- a/sys/netinet/in_fib.c +++ b/sys/netinet/in_fib.c @@ -200,6 +200,13 @@ fib4_lookup_nh_ext(uint32_t fibnum, struct in_addr dst, uint32_t flags, rn = rh->rnh_matchaddr((void *)&sin, rh); if (rn != NULL && ((rn->rn_flags & RNF_ROOT) == 0)) { rte = RNTORT(rn); +#ifdef RADIX_MPATH + rte = rt_mpath_select(rte, flowid); + if (rte == NULL) { + RADIX_NODE_HEAD_RUNLOCK(rh); + return (ENOENT); + } +#endif /* Ensure route & ifp is UP */ if (RT_LINK_IS_UP(rte->rt_ifp)) { fib4_rte_to_nh_extended(rte, dst, flags, pnh4); diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 9454426..ec42e67 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/callout.h> +#include <sys/eventhandler.h> #include <sys/domain.h> #include <sys/protosw.h> #include <sys/rmlock.h> diff --git a/sys/netinet/ip_encap.c b/sys/netinet/ip_encap.c index d3d0116..f186fe2 100644 --- a/sys/netinet/ip_encap.c +++ b/sys/netinet/ip_encap.c @@ -65,6 +65,8 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/systm.h> +#include <sys/lock.h> +#include <sys/mutex.h> #include <sys/socket.h> #include <sys/sockio.h> #include <sys/mbuf.h> diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index ffa88ae..9b762d6 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -77,6 +77,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/kernel.h> #include <sys/stddef.h> +#include <sys/eventhandler.h> #include <sys/lock.h> #include <sys/ktr.h> #include <sys/malloc.h> diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 7ad43a2..fa225fc 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -376,6 +376,7 @@ again: ia = ifatoia(rte->rt_ifa); ifp = rte->rt_ifp; counter_u64_add(rte->rt_pksent, 1); + rt_update_ro_flags(ro); if (rte->rt_flags & RTF_GATEWAY) gw = (struct sockaddr_in *)rte->rt_gateway; if (rte->rt_flags & RTF_HOST) diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 4e9feda..2eecb95 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/jail.h> #include <sys/kernel.h> +#include <sys/eventhandler.h> #include <sys/lock.h> #include <sys/malloc.h> #include <sys/mbuf.h> diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c index 4677154..a22fb30 100644 --- a/sys/netinet/tcp_reass.c +++ b/sys/netinet/tcp_reass.c @@ -38,6 +38,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/kernel.h> +#include <sys/eventhandler.h> #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/socket.h> diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 9f21f11..d68a8a6 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> #include <sys/systm.h> #include <sys/callout.h> +#include <sys/eventhandler.h> #include <sys/hhook.h> #include <sys/kernel.h> #include <sys/khelp.h> diff --git a/sys/netinet/toecore.c b/sys/netinet/toecore.c index 6ed8eb0..cfa77e7 100644 --- a/sys/netinet/toecore.c +++ b/sys/netinet/toecore.c @@ -70,7 +70,6 @@ static TAILQ_HEAD(, toedev) toedev_list; static eventhandler_tag listen_start_eh; static eventhandler_tag listen_stop_eh; static eventhandler_tag lle_event_eh; -static eventhandler_tag route_redirect_eh; static int toedev_connect(struct toedev *tod __unused, struct socket *so __unused, @@ -438,17 +437,6 @@ toe_lle_event(void *arg __unused, struct llentry *lle, int evt) } /* - * XXX: implement. - */ -static void -toe_route_redirect_event(void *arg __unused, struct rtentry *rt0, - struct rtentry *rt1, struct sockaddr *sa) -{ - - return; -} - -/* * Returns 0 or EWOULDBLOCK on success (any other value is an error). 0 means * lladdr and vtag are valid on return, EWOULDBLOCK means the TOE driver's * tod_l2_update will be called later, when the entry is resolved or times out. @@ -534,8 +522,6 @@ toecore_load(void) toe_listen_stop_event, NULL, EVENTHANDLER_PRI_ANY); lle_event_eh = EVENTHANDLER_REGISTER(lle_event, toe_lle_event, NULL, EVENTHANDLER_PRI_ANY); - route_redirect_eh = EVENTHANDLER_REGISTER(route_redirect_event, - toe_route_redirect_event, NULL, EVENTHANDLER_PRI_ANY); return (0); } @@ -553,7 +539,6 @@ toecore_unload(void) EVENTHANDLER_DEREGISTER(tcp_offload_listen_start, listen_start_eh); EVENTHANDLER_DEREGISTER(tcp_offload_listen_stop, listen_stop_eh); EVENTHANDLER_DEREGISTER(lle_event, lle_event_eh); - EVENTHANDLER_DEREGISTER(route_redirect_event, route_redirect_eh); mtx_unlock(&toedev_lock); mtx_destroy(&toedev_lock); |