diff --git a/sys/net/bpf.c b/sys/net/bpf.c --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -2171,7 +2171,6 @@ void bpf_tap(struct bpf_if *bp, u_char *pkt, u_int pktlen) { - struct epoch_tracker et; struct bintime bt; struct bpf_d *d; #ifdef BPF_JITTER @@ -2180,8 +2179,9 @@ u_int slen; int gottime; + NET_EPOCH_ASSERT(); + gottime = BPF_TSTAMP_NONE; - NET_EPOCH_ENTER(et); CK_LIST_FOREACH(d, &bp->bif_dlist, bd_next) { counter_u64_add(d->bd_rcount, 1); /* @@ -2214,7 +2214,6 @@ BPFD_UNLOCK(d); } } - NET_EPOCH_EXIT(et); } void @@ -2231,7 +2230,6 @@ void bpf_mtap(struct bpf_if *bp, struct mbuf *m) { - struct epoch_tracker et; struct bintime bt; struct bpf_d *d; #ifdef BPF_JITTER @@ -2240,6 +2238,8 @@ u_int pktlen, slen; int gottime; + NET_EPOCH_ASSERT(); + /* Skip outgoing duplicate packets. */ if ((m->m_flags & M_PROMISC) != 0 && m_rcvif(m) == NULL) { m->m_flags &= ~M_PROMISC; @@ -2249,7 +2249,6 @@ pktlen = m_length(m, NULL); gottime = BPF_TSTAMP_NONE; - NET_EPOCH_ENTER(et); CK_LIST_FOREACH(d, &bp->bif_dlist, bd_next) { if (bpf_chkdir(d, m)) continue; @@ -2277,7 +2276,6 @@ BPFD_UNLOCK(d); } } - NET_EPOCH_EXIT(et); } void @@ -2296,13 +2294,14 @@ void bpf_mtap2(struct bpf_if *bp, void *data, u_int dlen, struct mbuf *m) { - struct epoch_tracker et; struct bintime bt; struct mbuf mb; struct bpf_d *d; u_int pktlen, slen; int gottime; + NET_EPOCH_ASSERT(); + /* Skip outgoing duplicate packets. */ if ((m->m_flags & M_PROMISC) != 0 && m->m_pkthdr.rcvif == NULL) { m->m_flags &= ~M_PROMISC; @@ -2323,7 +2322,6 @@ gottime = BPF_TSTAMP_NONE; - NET_EPOCH_ENTER(et); CK_LIST_FOREACH(d, &bp->bif_dlist, bd_next) { if (bpf_chkdir(d, m)) continue; @@ -2343,7 +2341,6 @@ BPFD_UNLOCK(d); } } - NET_EPOCH_EXIT(et); } void