{
application_t *app;
app = application_get_if_valid (app_session->app_index);
- tls_add_app_q_evt (app, app_session);
+ if (PREDICT_TRUE (app != 0))
+ tls_add_app_q_evt (app, app_session);
}
int
tls_ctx_t *lctx, *ctx;
u32 ctx_handle;
- tls_listener = listen_session_get (tls_session->session_type,
- tls_session->listener_index);
+ tls_listener = listen_session_get (tls_session->listener_index);
lctx = tls_listener_ctx_get (tls_listener->opaque);
ctx_handle = tls_ctx_alloc (lctx->tls_ctx_engine);
stream_session_t *tls_listener;
tls_ctx_t *lctx;
u32 lctx_index;
- session_type_t st;
stream_session_t *app_listener;
tls_engine_type_t engine_type;
tls_listener = listen_session_get_from_handle (tls_handle);
tls_listener->opaque = lctx_index;
- st = session_type_from_proto_and_ip (TRANSPORT_PROTO_TLS, sep->is_ip4);
- app_listener = listen_session_get (st, app_listener_index);
+ app_listener = listen_session_get (app_listener_index);
lctx = tls_listener_ctx_get (lctx_index);
lctx->parent_app_index = sep->app_index;
{
u32 tc_index = va_arg (*args, u32);
tls_ctx_t *ctx = tls_listener_ctx_get (tc_index);
- u32 listener_index, type;
+ u32 listener_index, thread_index;
- listen_session_parse_handle (ctx->tls_session_handle, &type,
- &listener_index);
+ listen_session_parse_handle (ctx->tls_session_handle, &listener_index,
+ &thread_index);
return format (s, "[TLS] listener app %u child %u", ctx->parent_app_index,
listener_index);
}
tls_vfts[type] = *vft;
}
-clib_error_t *
+static clib_error_t *
tls_init (vlib_main_t * vm)
{
vlib_thread_main_t *vtm = vlib_get_thread_main ();
memset (options, 0, sizeof (options));
a->session_cb_vft = &tls_app_cb_vft;
- a->api_client_index = (1 << 24) + 1;
+ a->api_client_index = APP_INVALID_INDEX;
a->options = options;
+ a->name = format (0, "tls");
a->options[APP_OPTIONS_SEGMENT_SIZE] = segment_size;
a->options[APP_OPTIONS_RX_FIFO_SIZE] = fifo_size;
a->options[APP_OPTIONS_TX_FIFO_SIZE] = fifo_size;
FIB_PROTOCOL_IP4, ~0);
transport_register_protocol (TRANSPORT_PROTO_TLS, &tls_proto,
FIB_PROTOCOL_IP6, ~0);
-
+ vec_free (a->name);
return 0;
}