From fa21035b4e2f11d2c8f90174690853600b670e2d Mon Sep 17 00:00:00 2001 From: archie Date: Sun, 14 May 2000 02:18:43 +0000 Subject: 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 --- sys/dev/sn/if_sn.c | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'sys/dev/sn/if_sn.c') diff --git a/sys/dev/sn/if_sn.c b/sys/dev/sn/if_sn.c index 9e65f3b..860d3ef 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. */ -- cgit v1.1