summaryrefslogtreecommitdiffstats
path: root/sys/netgraph/ng_iface.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netgraph/ng_iface.c')
-rw-r--r--sys/netgraph/ng_iface.c39
1 files changed, 9 insertions, 30 deletions
diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c
index 6ed1daf6..49cba25 100644
--- a/sys/netgraph/ng_iface.c
+++ b/sys/netgraph/ng_iface.c
@@ -76,6 +76,7 @@
#include <net/bpf.h>
#include <net/netisr.h>
#include <net/route.h>
+#include <net/vnet.h>
#include <netinet/in.h>
@@ -209,22 +210,9 @@ static struct ng_type typestruct = {
};
NETGRAPH_INIT(iface, &typestruct);
-static vnet_attach_fn ng_iface_iattach;
-static vnet_detach_fn ng_iface_idetach;
-
static VNET_DEFINE(struct unrhdr *, ng_iface_unit);
#define V_ng_iface_unit VNET(ng_iface_unit)
-#ifdef VIMAGE
-static vnet_modinfo_t vnet_ng_iface_modinfo = {
- .vmi_id = VNET_MOD_NG_IFACE,
- .vmi_name = "ng_iface",
- .vmi_dependson = VNET_MOD_NETGRAPH,
- .vmi_iattach = ng_iface_iattach,
- .vmi_idetach = ng_iface_idetach
-};
-#endif
-
/************************************************************************
HELPER STUFF
************************************************************************/
@@ -849,18 +837,7 @@ ng_iface_mod_event(module_t mod, int event, void *data)
switch (event) {
case MOD_LOAD:
-#ifdef VIMAGE
- vnet_mod_register(&vnet_ng_iface_modinfo);
-#else
- ng_iface_iattach(NULL);
-#endif
- break;
case MOD_UNLOAD:
-#ifdef VIMAGE
- vnet_mod_deregister(&vnet_ng_iface_modinfo);
-#else
- ng_iface_idetach(NULL);
-#endif
break;
default:
error = EOPNOTSUPP;
@@ -869,18 +846,20 @@ ng_iface_mod_event(module_t mod, int event, void *data)
return (error);
}
-static int ng_iface_iattach(const void *unused)
+static void
+vnet_ng_iface_init(const void *unused)
{
V_ng_iface_unit = new_unrhdr(0, 0xffff, NULL);
-
- return (0);
}
+VNET_SYSINIT(vnet_ng_iface_init, SI_SUB_PSEUDO, SI_ORDER_ANY,
+ vnet_ng_iface_init, NULL);
-static int ng_iface_idetach(const void *unused)
+static void
+vnet_ng_iface_uninit(const void *unused)
{
delete_unrhdr(V_ng_iface_unit);
-
- return (0);
}
+VNET_SYSUNINIT(vnet_ng_iface_uninit, SI_SUB_PSEUDO, SI_ORDER_ANY,
+ vnet_ng_iface_uninit, NULL);
OpenPOWER on IntegriCloud