If we change the "rcvif" pointer of a packet we need to run if_input()
again otherwise we might skip the handlers on the new interface.
Ultimately it would be nice to only assign "rcvif" in if_input(), but
that's for another diff.
This fix one case I left out in my previous conversion, ok?
Index: net/if_bridge.c
===================================================================
RCS file: /cvs/src/sys/net/if_bridge.c,v
retrieving revision 1.238
diff -u -p -r1.238 if_bridge.c
--- net/if_bridge.c 15 May 2015 10:15:13 -0000 1.238
+++ net/if_bridge.c 15 May 2015 10:50:32 -0000
@@ -1478,12 +1478,9 @@ bridge_dispatch(struct bridge_iflist *if
m->m_pkthdr.rcvif = ifl->ifp;
m->m_pkthdr.ph_rtableid = ifl->ifp->if_rdomain;
- if (ifp->if_type == IFT_GIF) {
- m->m_flags |= M_PROTO1;
- ether_input_mbuf(ifl->ifp, m);
- m = NULL;
- }
- return (m);
+ m->m_flags |= M_PROTO1;
+ ether_input_mbuf(ifl->ifp, m);
+ return (NULL);
}
if (bcmp(ac->ac_enaddr, eh->ether_shost, ETHER_ADDR_LEN) == 0
#if NCARP > 0