summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/netgraph/ng_ether.c10
-rw-r--r--sys/netgraph/ng_ether.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c
index 30acdfa..f5dc793 100644
--- a/sys/netgraph/ng_ether.c
+++ b/sys/netgraph/ng_ether.c
@@ -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;
diff --git a/sys/netgraph/ng_ether.h b/sys/netgraph/ng_ether.h
index f8ac14a..f2f0519 100644
--- a/sys/netgraph/ng_ether.h
+++ b/sys/netgraph/ng_ether.h
@@ -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_ */
OpenPOWER on IntegriCloud