diff options
author | julian <julian@FreeBSD.org> | 2009-08-21 09:22:32 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 2009-08-21 09:22:32 +0000 |
commit | 009dd3230641d71a4af4912deacfc735cbbd4ea1 (patch) | |
tree | eb3fd64c5ebdefe1e727afc35be37f5acf1a4346 /sys/net/flowtable.c | |
parent | 9137c5d8b475c07cbaf42aeb2788ced063f4b32b (diff) | |
download | FreeBSD-src-009dd3230641d71a4af4912deacfc735cbbd4ea1.zip FreeBSD-src-009dd3230641d71a4af4912deacfc735cbbd4ea1.tar.gz |
Don't allow access to the internals until it has all been set up.
Specifically, not until the per-vnet parts have been set up.
Submitted by: kmacy@
Reviewed by: julian@, zec@
Approved by: re(rwatson)
MFC after: immediately
Diffstat (limited to 'sys/net/flowtable.c')
-rw-r--r-- | sys/net/flowtable.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/net/flowtable.c b/sys/net/flowtable.c index f6cd778..98127ed 100644 --- a/sys/net/flowtable.c +++ b/sys/net/flowtable.c @@ -999,6 +999,7 @@ flowtable_init_vnet(const void *unused __unused) NULL, NULL, NULL, NULL, 64, UMA_ZONE_MAXBUCKET); uma_zone_set_max(V_flow_ipv4_zone, V_flowtable_nmbflows); uma_zone_set_max(V_flow_ipv6_zone, V_flowtable_nmbflows); + V_flowtable_ready = 1; } VNET_SYSINIT(flowtable_init_vnet, SI_SUB_KTHREAD_INIT, SI_ORDER_MIDDLE, flowtable_init_vnet, NULL); @@ -1011,7 +1012,6 @@ flowtable_init(const void *unused __unused) mtx_init(&flowclean_lock, "flowclean lock", NULL, MTX_DEF); EVENTHANDLER_REGISTER(ifnet_departure_event, flowtable_flush, NULL, EVENTHANDLER_PRI_ANY); - V_flowtable_ready = 1; } SYSINIT(flowtable_init, SI_SUB_KTHREAD_INIT, SI_ORDER_ANY, flowtable_init, NULL); @@ -1022,6 +1022,7 @@ static void flowtable_uninit(const void *unused __unused) { + V_flowtable_ready = 0; uma_zdestroy(V_flow_ipv4_zone); uma_zdestroy(V_flow_ipv6_zone); } |