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/an/if_an.c | 13 ------------- 1 file changed, 13 deletions(-) (limited to 'sys/dev/an/if_an.c') diff --git a/sys/dev/an/if_an.c b/sys/dev/an/if_an.c index dc63b93..34a5263 100644 --- a/sys/dev/an/if_an.c +++ b/sys/dev/an/if_an.c @@ -455,25 +455,12 @@ static void an_rxeof(sc) ifp->if_ipackets++; - /* Handle BPF listeners. */ - if (ifp->if_bpf) { - bpf_mtap(ifp, m); - if (ifp->if_flags & IFF_PROMISC && - (bcmp(eh->ether_dhost, sc->arpcom.ac_enaddr, - ETHER_ADDR_LEN) && (eh->ether_dhost[0] & 1) == 0)) { - m_freem(m); - return; - } - } - /* Receive packet. */ m_adj(m, sizeof(struct ether_header)); #ifdef ANCACHE an_cache_store(sc, eh, m, rx_frame.an_rx_signal_strength); #endif ether_input(ifp, eh, m); - - return; } static void an_txeof(sc, status) -- cgit v1.1