diff options
author | glebius <glebius@FreeBSD.org> | 2004-09-06 21:14:32 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2004-09-06 21:14:32 +0000 |
commit | dd09be3e02e6df55404b04ba7c70801ff0915fa8 (patch) | |
tree | 4946fda100aaec7425a2a97728e5666623ce7a38 | |
parent | ba7370a4c37d36b21af0be60735f563076ad9772 (diff) | |
download | FreeBSD-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.c | 22 |
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; |