summaryrefslogtreecommitdiffstats
path: root/sys/net/rtsock.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/rtsock.c')
-rw-r--r--sys/net/rtsock.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c
index 943d713..95faba7 100644
--- a/sys/net/rtsock.c
+++ b/sys/net/rtsock.c
@@ -1206,6 +1206,7 @@ rt_ifannouncemsg(struct ifnet *ifp, int what)
static void
rt_dispatch(struct mbuf *m, const struct sockaddr *sa)
{
+ INIT_VNET_NET(curvnet);
struct m_tag *tag;
/*
@@ -1223,6 +1224,14 @@ rt_dispatch(struct mbuf *m, const struct sockaddr *sa)
*(unsigned short *)(tag + 1) = sa->sa_family;
m_tag_prepend(m, tag);
}
+#ifdef VIMAGE
+ if (V_loif)
+ m->m_pkthdr.rcvif = V_loif;
+ else {
+ m_freem(m);
+ return;
+ }
+#endif
netisr_queue(NETISR_ROUTE, m); /* mbuf is free'd on failure. */
}
OpenPOWER on IntegriCloud