tls: pass session state to engine on client init
[vpp.git] / src / vnet / tls / tls.c
index 3096dd5..996c20f 100644 (file)
@@ -582,7 +582,6 @@ tls_session_connected_cb (u32 tls_app_index, u32 ho_ctx_index,
 
   ctx->tls_session_handle = session_handle (tls_session);
   tls_session->opaque = ctx_handle;
-  tls_session->session_state = SESSION_STATE_READY;
 
   if (tls_ctx_init_client (ctx))
     {
@@ -590,6 +589,9 @@ tls_session_connected_cb (u32 tls_app_index, u32 ho_ctx_index,
       tls_disconnect_transport (ctx);
     }
 
+  if (tls_session->session_state < SESSION_STATE_READY)
+    tls_session->session_state = SESSION_STATE_READY;
+
   return 0;
 }