aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/cnat/cnat_types.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cnat/cnat_types.c')
-rw-r--r--src/plugins/cnat/cnat_types.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/plugins/cnat/cnat_types.c b/src/plugins/cnat/cnat_types.c
index ae485a48d79..9db953f0174 100644
--- a/src/plugins/cnat/cnat_types.c
+++ b/src/plugins/cnat/cnat_types.c
@@ -80,9 +80,14 @@ cnat_types_init (vlib_main_t * vm)
CNAT_FIB_SOURCE_PRIORITY,
FIB_SOURCE_BH_SIMPLE);
+
clib_rwlock_init (&cnat_main.ts_lock);
- clib_spinlock_init (&cnat_main.src_ports_lock);
- clib_bitmap_validate (cnat_main.src_ports, UINT16_MAX);
+ vec_validate (cnat_main.src_ports, CNAT_N_SPORT_PROTO);
+ for (int i = 0; i < CNAT_N_SPORT_PROTO; i++)
+ {
+ clib_spinlock_init (&cnat_main.src_ports[i].lock);
+ clib_bitmap_validate (cnat_main.src_ports[i].bmap, UINT16_MAX);
+ }
throttle_init (&cnat_throttle, n_vlib_mains, 1e-3);
return (NULL);