Page MenuHomeFreeBSD

D53871.id167512.diff
No OneTemporary

D53871.id167512.diff

diff --git a/sys/dev/usb/usb_pf.c b/sys/dev/usb/usb_pf.c
--- a/sys/dev/usb/usb_pf.c
+++ b/sys/dev/usb/usb_pf.c
@@ -387,6 +387,7 @@
void
usbpf_xfertap(struct usb_xfer *xfer, int type)
{
+ struct epoch_tracker et;
struct usb_bus *bus;
struct usbpf_pkthdr *up;
struct usbpf_framehdr *uf;
@@ -525,7 +526,9 @@
}
}
+ NET_EPOCH_ENTER(et);
bpf_tap_if(bus->ifp, buf, totlen);
+ NET_EPOCH_EXIT(et);
free(buf, M_TEMP);
}
diff --git a/sys/net/bpf.c b/sys/net/bpf.c
--- a/sys/net/bpf.c
+++ b/sys/net/bpf.c
@@ -2291,7 +2291,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
@@ -2300,8 +2299,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);
/*
@@ -2334,7 +2334,6 @@
BPFD_UNLOCK(d);
}
}
- NET_EPOCH_EXIT(et);
}
void
@@ -2355,7 +2354,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
@@ -2364,6 +2362,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;
@@ -2373,7 +2373,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_CHECK_DIRECTION(d, m_rcvif(m), bp->bif_ifp))
continue;
@@ -2401,7 +2400,6 @@
BPFD_UNLOCK(d);
}
}
- NET_EPOCH_EXIT(et);
}
void
@@ -2420,13 +2418,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;
@@ -2447,7 +2446,6 @@
gottime = BPF_TSTAMP_NONE;
- NET_EPOCH_ENTER(et);
CK_LIST_FOREACH(d, &bp->bif_dlist, bd_next) {
if (BPF_CHECK_DIRECTION(d, m->m_pkthdr.rcvif, bp->bif_ifp))
continue;
@@ -2467,7 +2465,6 @@
BPFD_UNLOCK(d);
}
}
- NET_EPOCH_EXIT(et);
}
void

File Metadata

Mime Type
text/plain
Expires
Wed, Aug 26, 3:47 PM (8 h, 7 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
37308888
Default Alt Text
D53871.id167512.diff (2 KB)

Event Timeline