M_BCAST & M_MCAST are now set by ether_input before passing to the bridge.

This commit is contained in:
Andrew Thompson 2007-03-19 19:13:02 +00:00
parent 6489fe6553
commit 82912c1f69

View File

@ -2053,7 +2053,7 @@ bridge_input(struct ifnet *ifp, struct mbuf *m)
bridge_span(sc, m);
if (ETHER_IS_MULTICAST(eh->ether_dhost)) {
if (m->m_flags & (M_BCAST|M_MCAST)) {
/* Tap off 802.1D packets; they do not get forwarded. */
if (memcmp(eh->ether_dhost, bstp_etheraddr,
ETHER_ADDR_LEN) == 0) {
@ -2070,12 +2070,6 @@ bridge_input(struct ifnet *ifp, struct mbuf *m)
return (m);
}
if (bcmp(etherbroadcastaddr, eh->ether_dhost,
sizeof(etherbroadcastaddr)) == 0)
m->m_flags |= M_BCAST;
else
m->m_flags |= M_MCAST;
/*
* Make a deep copy of the packet and enqueue the copy
* for bridge processing; return the original packet for