summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorjason <jason@openbsd.org>2001-05-08 05:22:01 +0000
committerjason <jason@openbsd.org>2001-05-08 05:22:01 +0000
commitd2ed3de9140d80a39e73938ed6477e2413d9ed0e (patch)
treeb3539948f099f2562b18ad865fe4e0ac7230be9e /sys/dev
parentvlan tag assist supported now (diff)
downloadwireguard-openbsd-d2ed3de9140d80a39e73938ed6477e2413d9ed0e.tar.xz
wireguard-openbsd-d2ed3de9140d80a39e73938ed6477e2413d9ed0e.zip
add transmit side of bpf tapping
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/pci/if_txp.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/pci/if_txp.c b/sys/dev/pci/if_txp.c
index 13b4f31d207..134b930918d 100644
--- a/sys/dev/pci/if_txp.c
+++ b/sys/dev/pci/if_txp.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_txp.c,v 1.24 2001/05/08 03:52:43 jason Exp $ */
+/* $OpenBSD: if_txp.c,v 1.25 2001/05/08 05:22:01 jason Exp $ */
/*
* Copyright (c) 2001
@@ -1143,7 +1143,7 @@ txp_start(ifp)
struct txp_tx_ring *r = &sc->sc_txhir;
struct txp_tx_desc *txd;
struct txp_frag_desc *fxd;
- struct mbuf *m;
+ struct mbuf *mhead, *m;
u_int32_t firstprod, firstcnt, prod, cnt;
#if NVLAN > 0
struct ifvlan *ifv;
@@ -1159,6 +1159,7 @@ txp_start(ifp)
IF_DEQUEUE(&ifp->if_snd, m);
if (m == NULL)
break;
+ mhead = m;
if ((TX_ENTRIES - cnt) < 4) {
ifp->if_flags |= IFF_OACTIVE;
@@ -1221,6 +1222,12 @@ txp_start(ifp)
}
ifp->if_timer = 5;
+
+#if NBPFILTER > 0
+ if (ifp->if_bpf)
+ bpf_mtap(ifp->if_bpf, mhead);
+#endif
+
WRITE_REG(sc, r->r_reg, TXP_IDX2OFFSET(prod));
}