diff options
author | Archie Cobbs <archie@FreeBSD.org> | 2000-05-14 02:18:43 +0000 |
---|---|---|
committer | Archie Cobbs <archie@FreeBSD.org> | 2000-05-14 02:18:43 +0000 |
commit | 2e2de7f23f09ed445e6d2503174e890cc64b9a7c (patch) | |
tree | 3bb6d87c220b15e365d011925cab4b92d4ba1bb9 /sys/dev/sn | |
parent | e3227bc7a68281f480934b30853e25233d70f57d (diff) | |
download | src-2e2de7f23f09ed445e6d2503174e890cc64b9a7c.tar.gz src-2e2de7f23f09ed445e6d2503174e890cc64b9a7c.zip |
Move code to handle BPF and bridging for incoming Ethernet packets out
of the individual drivers and into the common routine ether_input().
Also, remove the (incomplete) hack for matching ethernet headers
in the ip_fw code.
The good news: net result of 1016 lines removed, and this should make
bridging now work with *all* Ethernet drivers.
The bad news: it's nearly impossible to test every driver, especially
for bridging, and I was unable to get much testing help on the mailing
lists.
Reviewed by: freebsd-net
Notes
Notes:
svn path=/head/; revision=60536
Diffstat (limited to 'sys/dev/sn')
-rw-r--r-- | sys/dev/sn/if_sn.c | 20 |
1 files changed, 0 insertions, 20 deletions
diff --git a/sys/dev/sn/if_sn.c b/sys/dev/sn/if_sn.c index 9e65f3b3ebea..860d3efcb42d 100644 --- a/sys/dev/sn/if_sn.c +++ b/sys/dev/sn/if_sn.c @@ -1096,26 +1096,6 @@ read_another: } ++sc->arpcom.ac_if.if_ipackets; - if (sc->arpcom.ac_if.if_bpf) - { - bpf_mtap(&sc->arpcom.ac_if, m); - - /* - * Note that the interface cannot be in promiscuous mode if - * there are no BPF listeners. And if we are in promiscuous - * mode, we have to check if this packet is really ours. - */ - if ((sc->arpcom.ac_if.if_flags & IFF_PROMISC) && - (eh->ether_dhost[0] & 1) == 0 && - bcmp(eh->ether_dhost, sc->arpcom.ac_enaddr, - sizeof(eh->ether_dhost)) != 0 && - bcmp(eh->ether_dhost, etherbroadcastaddr, - sizeof(eh->ether_dhost)) != 0) { - m_freem(m); - goto out; - } - } - /* * Remove link layer addresses and whatnot. */ |