diff --git a/sys/net/netisr.c b/sys/net/netisr.c index f6ffb5b39bb..0a54550f252 100644 --- a/sys/net/netisr.c +++ b/sys/net/netisr.c @@ -1056,6 +1056,9 @@ netisr_queue_src(u_int proto, uintptr_t source, struct mbuf *m) if (m != NULL) { KASSERT(!CPU_ABSENT(cpuid), ("%s: CPU %u absent", __func__, cpuid)); +#ifdef VIMAGE + KASSERT(m->m_pkthdr.rcvif != NULL, ("m->m_pkthdr.rcvif == NULL")); +#endif error = netisr_queue_internal(proto, m, cpuid); } else error = ENOBUFS; diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c index 52aff9e6999..2ebd63cd2b9 100644 --- a/sys/netinet/igmp.c +++ b/sys/netinet/igmp.c @@ -301,6 +301,7 @@ igmp_save_context(struct mbuf *m, struct ifnet *ifp) { #ifdef VIMAGE + m->m_pkthdr.rcvif = ifp; m->m_pkthdr.PH_loc.ptr = ifp->if_vnet; #endif /* VIMAGE */ m->m_pkthdr.flowid = ifp->if_index; diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index f563bc3133b..9c67b653536 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -281,6 +281,7 @@ mld_save_context(struct mbuf *m, struct ifnet *ifp) { #ifdef VIMAGE + m->m_pkthdr.rcvif = ifp; m->m_pkthdr.PH_loc.ptr = ifp->if_vnet; #endif /* VIMAGE */ m->m_pkthdr.flowid = ifp->if_index;