return s;
}
-clib_error_t *
-nat_affinity_init (vlib_main_t * vm)
+void
+nat_affinity_enable ()
{
nat_affinity_main_t *nam = &nat_affinity_main;
vlib_thread_main_t *tm = vlib_get_thread_main ();
- clib_error_t *error = 0;
if (tm->n_vlib_mains > 1)
clib_spinlock_init (&nam->affinity_lock);
-
clib_bihash_init_16_8 (&nam->affinity_hash, "nat-affinity",
AFFINITY_HASH_BUCKETS, AFFINITY_HASH_MEMORY);
clib_bihash_set_kvp_format_fn_16_8 (&nam->affinity_hash,
format_affinity_kvp);
+}
- nam->vlib_main = vm;
+void
+nat_affinity_disable ()
+{
+ nat_affinity_main_t *nam = &nat_affinity_main;
+ vlib_thread_main_t *tm = vlib_get_thread_main ();
- return error;
+ if (tm->n_vlib_mains > 1)
+ clib_spinlock_free (&nam->affinity_lock);
+ clib_bihash_free_16_8 (&nam->affinity_hash);
+}
+
+clib_error_t *
+nat_affinity_init (vlib_main_t * vm)
+{
+ nat_affinity_main_t *nam = &nat_affinity_main;
+ nam->vlib_main = vm;
+ return 0;
}
static_always_inline void