Add new netgraph control message NGM_ETHER_DETACH, which actually
removes netgraph node and unwraps Ethernet interface. This gives us ability to unload ng_ether.ko, when all interfaces are detached, making ng_ether(4) developers happy. Reviewed by: ru
This commit is contained in:
parent
eb46c866bb
commit
cefddd662e
@ -186,6 +186,13 @@ static const struct ng_cmdlist ng_ether_cmdlist[] = {
|
||||
&ng_parse_enaddr_type,
|
||||
NULL
|
||||
},
|
||||
{
|
||||
NGM_ETHER_COOKIE,
|
||||
NGM_ETHER_DETACH,
|
||||
"detach",
|
||||
NULL,
|
||||
NULL
|
||||
},
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
@ -544,6 +551,9 @@ ng_ether_rcvmsg(node_p node, item_p item, hook_p lasthook)
|
||||
(struct sockaddr *)&sa_dl);
|
||||
break;
|
||||
}
|
||||
case NGM_ETHER_DETACH:
|
||||
ng_ether_detach(priv->ifp);
|
||||
break;
|
||||
default:
|
||||
error = EINVAL;
|
||||
break;
|
||||
|
@ -67,6 +67,7 @@ enum {
|
||||
NGM_ETHER_SET_AUTOSRC, /* enable/disable src addr override */
|
||||
NGM_ETHER_ADD_MULTI, /* add multicast membership */
|
||||
NGM_ETHER_DEL_MULTI, /* delete multicast membership */
|
||||
NGM_ETHER_DETACH, /* our way to be shut down */
|
||||
};
|
||||
|
||||
#endif /* _NETGRAPH_NG_ETHER_H_ */
|
||||
|
Loading…
Reference in New Issue
Block a user