From ae3eaacaf1df7b83d6ef6b30290e1390d38197df Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 23 Jul 2019 22:38:16 -0700 Subject: tls: handle engine listen failure Type:fix Change-Id: I528b7cfcb7a6aada94ee3649378e6fbe84d2e4e6 Signed-off-by: Florin Coras --- src/vnet/tls/tls.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c index 6769fd254b6..4a9ec4e7eb6 100644 --- a/src/vnet/tls/tls.c +++ b/src/vnet/tls/tls.c @@ -602,7 +602,18 @@ tls_start_listen (u32 app_listener_index, transport_endpoint_t * tep) lctx->tcp_is_ip4 = sep->is_ip4; lctx->tls_ctx_engine = engine_type; - tls_vfts[engine_type].ctx_start_listen (lctx); + if (tls_vfts[engine_type].ctx_start_listen (lctx)) + { + vnet_unlisten_args_t a = { + .handle = lctx->tls_session_handle, + .app_index = tls_main.app_index, + .wrk_map_index = 0 + }; + if ((vnet_unlisten (&a))) + clib_warning ("unlisten returned"); + tls_listener_ctx_free (lctx); + lctx_index = SESSION_INVALID_INDEX; + } TLS_DBG (1, "Started listening %d, engine type %d", lctx_index, engine_type); -- cgit 1.2.3-korg