aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2021-04-22 22:23:03 -0600
committerJason A. Donenfeld <Jason@zx2c4.com>2021-04-22 22:25:05 -0600
commit04d0ba28396f9b3534530e8babd4437b6e9ef83a (patch)
tree54c49b63528b15894e3893f3d9698283ea5dc766
parentwg_cookie: import optional inet6 headers (diff)
downloadwireguard-freebsd-04d0ba28396f9b3534530e8babd4437b6e9ef83a.tar.xz
wireguard-freebsd-04d0ba28396f9b3534530e8babd4437b6e9ef83a.zip
if_wg: destroy interfaces on module unload
This is already done anyway by if_clone_detach, so let that happen. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
-rw-r--r--src/if_wg.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/if_wg.c b/src/if_wg.c
index 8680337..c8ffa09 100644
--- a/src/if_wg.c
+++ b/src/if_wg.c
@@ -2768,21 +2768,19 @@ wg_init(void *xsc)
static void
vnet_wg_init(const void *unused __unused)
{
-
V_wg_cloner = if_clone_simple(wgname, wg_clone_create, wg_clone_destroy,
- 0);
+ 0);
}
VNET_SYSINIT(vnet_wg_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY,
- vnet_wg_init, NULL);
+ vnet_wg_init, NULL);
static void
vnet_wg_uninit(const void *unused __unused)
{
-
if_clone_detach(V_wg_cloner);
}
VNET_SYSUNINIT(vnet_wg_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY,
- vnet_wg_uninit, NULL);
+ vnet_wg_uninit, NULL);
static int
wg_prison_remove(void *obj, void *data __unused)
@@ -2856,16 +2854,12 @@ wg_module_deinit(void)
static int
wg_module_event_handler(module_t mod, int what, void *arg)
{
-
switch (what) {
case MOD_LOAD:
wg_module_init();
break;
case MOD_UNLOAD:
- if (atomic_load_int(&clone_count) == 0)
- wg_module_deinit();
- else
- return (EBUSY);
+ wg_module_deinit();
break;
default:
return (EOPNOTSUPP);