Directly pass a pointer, which implies we have a valid reference for
the given interface. This will matters when we'll start using ifp
indexes.
ok?
Index: net/if_bridge.c
===================================================================
RCS file: /cvs/src/sys/net/if_bridge.c,v
retrieving revision 1.316
diff -u -p -r1.316 if_bridge.c
--- net/if_bridge.c 17 Jan 2019 16:07:42 -0000 1.316
+++ net/if_bridge.c 22 Jan 2019 14:54:28 -0000
@@ -1062,15 +1062,15 @@ bridgeintr_frame(struct bridge_softc *sc
* Return 1 if `ena' belongs to `bif', 0 otherwise.
*/
int
-bridge_ourether(struct bridge_iflist *bif, uint8_t *ena)
+bridge_ourether(struct ifnet *ifp, uint8_t *ena)
{
- struct arpcom *ac = (struct arpcom *)bif->ifp;
+ struct arpcom *ac = (struct arpcom *)ifp;
if (memcmp(ac->ac_enaddr, ena, ETHER_ADDR_LEN) == 0)
return (1);
#if NCARP > 0
- if (carp_ourether(bif->ifp, ena))
+ if (carp_ourether(ifp, ena))
return (1);
#endif
@@ -1190,7 +1190,7 @@ bridge_process(struct ifnet *ifp, struct
SLIST_FOREACH(bif, &sc->sc_iflist, bif_next) {
if (bif->ifp->if_type != IFT_ETHER)
continue;
- if (bridge_ourether(bif, eh->ether_dhost)) {
+ if (bridge_ourether(bif->ifp, eh->ether_dhost)) {
if (bif0->bif_flags & IFBIF_LEARNING)
bridge_rtupdate(sc,
(struct ether_addr *)&eh->ether_shost,
@@ -1208,7 +1208,7 @@ bridge_process(struct ifnet *ifp, struct
bridge_ifinput(bif->ifp, m);
return;
}
- if (bridge_ourether(bif, eh->ether_shost)) {
+ if (bridge_ourether(bif->ifp, eh->ether_shost)) {
m_freem(m);
return;
}