diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-04-22 22:23:03 -0600 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2021-04-22 22:25:05 -0600 |
commit | 04d0ba28396f9b3534530e8babd4437b6e9ef83a (patch) | |
tree | 54c49b63528b15894e3893f3d9698283ea5dc766 /src/if_wg.c | |
parent | wg_cookie: import optional inet6 headers (diff) | |
download | wireguard-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>
Diffstat (limited to '')
-rw-r--r-- | src/if_wg.c | 14 |
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); |