session: improve enable and disable handling

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I3c79d16f6a19767d990e8a4683c296219b559ccd
diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c
index 28d7ed9..1d164f2 100644
--- a/src/vnet/tcp/tcp.c
+++ b/src/vnet/tcp/tcp.c
@@ -1512,6 +1512,10 @@
   clib_error_t *error = 0;
   int thread;
 
+  /* Already initialized */
+  if (tm->wrk_ctx)
+    return 0;
+
   if ((error = vlib_call_init_function (vm, ip_main_init)))
     return error;
   if ((error = vlib_call_init_function (vm, ip4_lookup_init)))
diff --git a/src/vnet/tcp/tcp_timer.c b/src/vnet/tcp/tcp_timer.c
index 8ae3f22..4d1c062 100644
--- a/src/vnet/tcp/tcp_timer.c
+++ b/src/vnet/tcp/tcp_timer.c
@@ -20,8 +20,7 @@
 tcp_timer_initialize_wheel (tcp_timer_wheel_t * tw,
 			    void (*expired_timer_cb) (u32 *), f64 now)
 {
-  if (tw->timers)
-    return;
+  ASSERT (tw->timers == 0);
   tw_timer_wheel_init_tcp_twsl (tw, expired_timer_cb, TCP_TIMER_TICK, ~0);
   tw->last_run_time = now;
 }