As of r1.21 all broadcast packets are reprocessed by ether_input as arriving on
the bridge, this caused these packets to show up twice via bpf. Do not process them twice with BPF_TAP. MFC after: 3 days
This commit is contained in:
parent
1adffac42b
commit
1e4200620a
@ -1757,8 +1757,12 @@ bridge_forward(struct bridge_softc *sc, struct mbuf *m)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (dst_if == NULL) {
|
if (dst_if == NULL) {
|
||||||
/* tap off packets passing the bridge */
|
/*
|
||||||
BPF_MTAP(ifp, m);
|
* Tap off packets passing the bridge. Broadcast packets will
|
||||||
|
* already be tapped as they are reinjected into ether_input.
|
||||||
|
*/
|
||||||
|
if ((m->m_flags & (M_BCAST|M_MCAST)) == 0)
|
||||||
|
BPF_MTAP(ifp, m);
|
||||||
|
|
||||||
bridge_broadcast(sc, src_if, m, 1);
|
bridge_broadcast(sc, src_if, m, 1);
|
||||||
return;
|
return;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user