Page MenuHomeFreeBSD

D26226.id76338.diff
No OneTemporary

D26226.id76338.diff

Index: sys/netgraph/ng_ether.c
===================================================================
--- sys/netgraph/ng_ether.c
+++ sys/netgraph/ng_ether.c
@@ -663,10 +663,12 @@
static int
ng_ether_rcv_lower(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);
struct ifnet *const ifp = priv->ifp;
+ int ret;
NGI_GET_M(item, m);
NG_FREE_ITEM(item);
@@ -702,8 +704,12 @@
ETHER_ADDR_LEN);
}
+ NET_EPOCH_ENTER(et);
/* Send it on its way */
- return ether_output_frame(ifp, m);
+ ret = ether_output_frame(ifp, m);
+ NET_EPOCH_EXIT(et);
+
+ return (ret);
}
/*
@@ -732,15 +738,17 @@
m->m_pkthdr.rcvif = ifp;
+ NET_EPOCH_ENTER(et);
/* Pass the packet to the bridge, it may come back to us */
if (ifp->if_bridge) {
BRIDGE_INPUT(ifp, m);
- if (m == NULL)
+ if (m == NULL) {
+ NET_EPOCH_EXIT(et);
return (0);
+ }
}
/* Route packet back in */
- NET_EPOCH_ENTER(et);
ether_demux(ifp, m);
NET_EPOCH_EXIT(et);
return (0);

File Metadata

Mime Type
text/plain
Expires
Sat, Oct 25, 12:04 AM (10 h, 2 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24150470
Default Alt Text
D26226.id76338.diff (1 KB)

Event Timeline