summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2004-09-06 21:14:32 +0000
committerglebius <glebius@FreeBSD.org>2004-09-06 21:14:32 +0000
commitdd09be3e02e6df55404b04ba7c70801ff0915fa8 (patch)
tree4946fda100aaec7425a2a97728e5666623ce7a38
parentba7370a4c37d36b21af0be60735f563076ad9772 (diff)
downloadFreeBSD-src-dd09be3e02e6df55404b04ba7c70801ff0915fa8.zip
FreeBSD-src-dd09be3e02e6df55404b04ba7c70801ff0915fa8.tar.gz
Remove layer intermixing. Device driver should pass the frame should
pass frame to ether_input(), and do not play with bridge itself. Reviewed by: sam, andre Approved by: julian (mentor) MFC after: 1 week
-rw-r--r--sys/dev/ed/if_ed.c22
1 files changed, 2 insertions, 20 deletions
diff --git a/sys/dev/ed/if_ed.c b/sys/dev/ed/if_ed.c
index bccc4b9..d0df875 100644
--- a/sys/dev/ed/if_ed.c
+++ b/sys/dev/ed/if_ed.c
@@ -67,7 +67,6 @@ __FBSDID("$FreeBSD$");
#endif
#include <net/bpf.h>
-#include <net/bridge.h>
#include <machine/md_var.h>
@@ -2810,26 +2809,9 @@ ed_get_packet(sc, buf, len)
eh = mtod(m, struct ether_header *);
/*
- * Don't read in the entire packet if we know we're going to drop it
- * and no bpf is active.
+ * Get packet, including link layer address, from interface.
*/
- if (!ifp->if_bpf && BDG_ACTIVE( (ifp) ) ) {
- struct ifnet *bif;
-
- ed_ring_copy(sc, buf, (char *)eh, ETHER_HDR_LEN);
- bif = bridge_in_ptr(ifp, eh) ;
- if (bif == BDG_DROP) {
- m_freem(m);
- return;
- }
- if (len > ETHER_HDR_LEN)
- ed_ring_copy(sc, buf + ETHER_HDR_LEN,
- (char *)(eh + 1), len - ETHER_HDR_LEN);
- } else
- /*
- * Get packet, including link layer address, from interface.
- */
- ed_ring_copy(sc, buf, (char *)eh, len);
+ ed_ring_copy(sc, buf, (char *)eh, len);
m->m_pkthdr.len = m->m_len = len;
OpenPOWER on IntegriCloud