mirror of
https://github.com/freebsd/freebsd-src
synced 2024-07-21 18:27:22 +00:00
ng_eiface: switch VNETs when injecting mbufs into netgraph
A ng_eiface instance may be on lease to a different vnet while remaining tied to its parent vnet. In such circumstances, before injecting mbufs into netgraph, curvnet must be set to that of the ng_eiface's netgraph node. Mark the vnet transition as QUIET, since otherwise it would be recorded as a curvnet recursion when ng_eiface's ifnet resides in the same (parent) vnet as its netgraph node. PR: 274028 Reported by: Dancho Penev <dpslavov@hotmail.com> MFC after: 1 week
This commit is contained in:
parent
f9df609750
commit
03ef737c54
|
@ -257,7 +257,9 @@ ng_eiface_start2(node_p node, hook_p hook, void *arg1, int arg2)
|
|||
* freed.
|
||||
*/
|
||||
NG_OUTBOUND_THREAD_REF();
|
||||
CURVNET_SET_QUIET(priv->node->nd_vnet);
|
||||
NG_SEND_DATA_ONLY(error, priv->ether, m);
|
||||
CURVNET_RESTORE();
|
||||
NG_OUTBOUND_THREAD_UNREF();
|
||||
|
||||
/* Update stats */
|
||||
|
|
Loading…
Reference in a new issue