diff options
author | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-06-20 03:24:22 +0000 |
---|---|---|
committer | Aaron Campbell <aaron@cvs.openbsd.org> | 2000-06-20 03:24:22 +0000 |
commit | 6af2dc107ac730691babd68e1359f15d77997754 (patch) | |
tree | 28f9333b80f9334e5f61b69e67864333a6e6ff87 /sys | |
parent | 2d581339767f96bd18b29a80aad7065f678cb879 (diff) |
After bpf_mtap(), in promisc mode, don't drop packets that aren't for us here;
that is done in ether_input(); jason@ ok
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ic/an.c | 15 | ||||
-rw-r--r-- | sys/dev/pci/if_tl.c | 9 |
2 files changed, 7 insertions, 17 deletions
diff --git a/sys/dev/ic/an.c b/sys/dev/ic/an.c index e391141f1d4..25d4889f39e 100644 --- a/sys/dev/ic/an.c +++ b/sys/dev/ic/an.c @@ -1,4 +1,4 @@ -/* $OpenBSD: an.c,v 1.6 2000/06/19 00:12:41 aaron Exp $ */ +/* $OpenBSD: an.c,v 1.7 2000/06/20 03:24:21 aaron Exp $ */ /* * Copyright (c) 1997, 1998, 1999 @@ -346,16 +346,11 @@ an_rxeof(sc) ifp->if_ipackets++; +#if NBPFILTER > 0 /* Handle BPF listeners. */ - if (ifp->if_bpf) { + 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; - } - } +#endif /* Receive packet. */ m_adj(m, sizeof(struct ether_header)); @@ -1167,8 +1162,10 @@ void an_start(ifp) * If there's a BPF listner, bounce a copy of * this frame to him. */ +#if NBPFILTER > 0 if (ifp->if_bpf) BPF_MTAP(ifp, m0); +#endif m_freem(m0); m0 = NULL; diff --git a/sys/dev/pci/if_tl.c b/sys/dev/pci/if_tl.c index 1a1f8a954c9..ce1c9ab8a24 100644 --- a/sys/dev/pci/if_tl.c +++ b/sys/dev/pci/if_tl.c @@ -1,4 +1,4 @@ -/* $OpenBSD: if_tl.c,v 1.11 2000/02/15 02:28:15 jason Exp $ */ +/* $OpenBSD: if_tl.c,v 1.12 2000/06/20 03:24:21 aaron Exp $ */ /* * Copyright (c) 1997, 1998 @@ -1554,13 +1554,6 @@ int tl_intvec_rxeof(xsc, type) if (ifp->if_bpf) { m->m_pkthdr.len = m->m_len = total_len; bpf_mtap(ifp->if_bpf, 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); - continue; - } } #endif /* Remove header from mbuf and pass it on. */ |