tls: allow disconnects from main thread 08/23008/2
authorFlorin Coras <[email protected]>
Fri, 11 Oct 2019 15:00:43 +0000 (08:00 -0700)
committerAndrew Yourtchenko <[email protected]>
Tue, 29 Oct 2019 09:48:30 +0000 (09:48 +0000)
Type: fix

Use api with explicit thread index to retrieve tls contex on close.

Change-Id: Ibdc4338747300b7fc8f91ef3e10bcd48ce7ae366
Signed-off-by: Florin Coras <[email protected]>
(cherry picked from commit 6faac1622e0d5352da987c73a6f3f1ec55896116)

src/vnet/tls/tls.c

index 4fff72f..67807d3 100644 (file)
@@ -386,7 +386,10 @@ tls_session_disconnect_callback (session_t * tls_session)
   TLS_DBG (1, "TCP disconnecting handle %x session %u", tls_session->opaque,
           tls_session->session_index);
 
-  ctx = tls_ctx_get (tls_session->opaque);
+  ASSERT (tls_session->thread_index == vlib_get_thread_index ()
+         || vlib_thread_is_main_w_barrier ());
+
+  ctx = tls_ctx_get_w_thread (tls_session->opaque, tls_session->thread_index);
   ctx->is_passive_close = 1;
   tls_ctx_transport_close (ctx);
 }