diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2019-10-07 22:40:05 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2019-10-07 22:40:05 +0000 |
| commit | b8a6e03fac922677455d8e0977831506cf8212e8 (patch) | |
| tree | 28fc099c8daca3278068766b2863e110876865ce /sys/netgraph | |
| parent | 746c7ae563142eaae423b0e6c0077ef2013c2435 (diff) | |
Notes
Diffstat (limited to 'sys/netgraph')
| -rw-r--r-- | sys/netgraph/ng_ether.c | 3 | ||||
| -rw-r--r-- | sys/netgraph/ng_iface.c | 3 | ||||
| -rw-r--r-- | sys/netgraph/ng_ip_input.c | 7 |
3 files changed, 12 insertions, 1 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index 575f3740a6f1e..3b1a9efc849e1 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -711,6 +711,7 @@ ng_ether_rcv_lower(hook_p hook, item_p item) static int ng_ether_rcv_upper(hook_p hook, item_p item) { + struct epoch_tracker et; struct mbuf *m; const node_p node = NG_HOOK_NODE(hook); const priv_p priv = NG_NODE_PRIVATE(node); @@ -738,7 +739,9 @@ ng_ether_rcv_upper(hook_p hook, item_p item) } /* Route packet back in */ + NET_EPOCH_ENTER(et); ether_demux(ifp, m); + NET_EPOCH_EXIT(et); return (0); } diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c index f1ddce70c86d5..605a1f7d9e24b 100644 --- a/sys/netgraph/ng_iface.c +++ b/sys/netgraph/ng_iface.c @@ -690,6 +690,7 @@ ng_iface_rcvdata(hook_p hook, item_p item) const priv_p priv = NG_NODE_PRIVATE(NG_HOOK_NODE(hook)); const iffam_p iffam = get_iffam_from_hook(priv, hook); struct ifnet *const ifp = priv->ifp; + struct epoch_tracker et; struct mbuf *m; int isr; @@ -731,7 +732,9 @@ ng_iface_rcvdata(hook_p hook, item_p item) } random_harvest_queue(m, sizeof(*m), RANDOM_NET_NG); M_SETFIB(m, ifp->if_fib); + NET_EPOCH_ENTER(et); netisr_dispatch(isr, m); + NET_EPOCH_EXIT(et); return (0); } diff --git a/sys/netgraph/ng_ip_input.c b/sys/netgraph/ng_ip_input.c index 5e6dce38f6d18..88e0e11c08d32 100644 --- a/sys/netgraph/ng_ip_input.c +++ b/sys/netgraph/ng_ip_input.c @@ -125,8 +125,13 @@ ngipi_rcvdata(hook_p hook, item_p item) NG_FREE_ITEM(item); if (curthread->td_ng_outbound) netisr_queue(NETISR_IP, m); - else + else { + struct epoch_tracker et; + + NET_EPOCH_ENTER(et); netisr_dispatch(NETISR_IP, m); + NET_EPOCH_EXIT(et); + } return 0; } |
