diff options
author | 2001-05-08 05:22:01 +0000 | |
---|---|---|
committer | 2001-05-08 05:22:01 +0000 | |
commit | d2ed3de9140d80a39e73938ed6477e2413d9ed0e (patch) | |
tree | b3539948f099f2562b18ad865fe4e0ac7230be9e | |
parent | vlan tag assist supported now (diff) | |
download | wireguard-openbsd-d2ed3de9140d80a39e73938ed6477e2413d9ed0e.tar.xz wireguard-openbsd-d2ed3de9140d80a39e73938ed6477e2413d9ed0e.zip |
add transmit side of bpf tapping
-rw-r--r-- | sys/dev/pci/if_txp.c | 11 |
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)); } |