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
2c94e273cc
commit
4733958e41
@ -1757,8 +1757,12 @@ bridge_forward(struct bridge_softc *sc, struct mbuf *m)
|
||||
}
|
||||
|
||||
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);
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user