diff options
author | thompsa <thompsa@FreeBSD.org> | 2005-07-06 01:24:45 +0000 |
---|---|---|
committer | thompsa <thompsa@FreeBSD.org> | 2005-07-06 01:24:45 +0000 |
commit | 23f56c61a96992c32ea50b6322160e084052f565 (patch) | |
tree | cb9a365f71f710f2509cd4083fa223da565b3f3d /sys/net/bridgestp.c | |
parent | 5e71112509f619704ade66a8c8429cb90bfff811 (diff) | |
download | FreeBSD-src-23f56c61a96992c32ea50b6322160e084052f565.zip FreeBSD-src-23f56c61a96992c32ea50b6322160e084052f565.tar.gz |
- Previously when broadcasting to N number of interfaces we would run pfil
hooks for each outgoing interface but also run pfil hooks _N times_ on the
bridge interface. This is changed so pfil hooks are run once for the bridge
interface (bridge0) and then only on the outgoing interfaces in the broadcast
loop.
- Simplify bridge_enqueue() by moving bridge_pfil() to the callers.
- Check (inet6_pfil_hook.ph_busy_count >= 0), it may be possible to have a
packet filter hooked for only ipv6 but we were only checking if ipv4 hooks
were busy.
- Minor optimisation for null mbuf check after bridge_pfil(), move it into the
if-block as it couldnt possibly be null outside.
Prodded by: mlaier
Approved by: re (scottl), mlaier (mentor)
Diffstat (limited to 'sys/net/bridgestp.c')
-rw-r--r-- | sys/net/bridgestp.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/net/bridgestp.c b/sys/net/bridgestp.c index 476e026..ccb7674 100644 --- a/sys/net/bridgestp.c +++ b/sys/net/bridgestp.c @@ -281,7 +281,7 @@ bstp_send_config_bpdu(struct bridge_softc *sc, struct bridge_iflist *bif, /* XXX: safe here?!? */ BRIDGE_UNLOCK(sc); - bridge_enqueue(sc, ifp, m, 0); + bridge_enqueue(sc, ifp, m); BRIDGE_LOCK(sc); } @@ -397,7 +397,7 @@ bstp_transmit_tcn(struct bridge_softc *sc) /* XXX: safe here?!? */ BRIDGE_UNLOCK(sc); - bridge_enqueue(sc, ifp, m, 0); + bridge_enqueue(sc, ifp, m); BRIDGE_LOCK(sc); } |