diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index b307b3d5ab88..2c2a1ddd4d23 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -667,6 +667,7 @@ ng_ether_rcv_lower(hook_p hook, item_p item) const node_p node = NG_HOOK_NODE(hook); const priv_p priv = NG_NODE_PRIVATE(node); struct ifnet *const ifp = priv->ifp; + int error; NGI_GET_M(item, m); NG_FREE_ITEM(item); @@ -703,7 +704,10 @@ ng_ether_rcv_lower(hook_p hook, item_p item) } /* Send it on its way */ - return ether_output_frame(ifp, m); + CURVNET_SET(ifp->if_vnet); + error = ether_output_frame(ifp, m); + CURVNET_RESTORE(); + return (error); } /*