session vcl: refactor builtin tx event for main tx
[vpp.git] / src / vnet / session / session_api.c
index 615e2ad..3481cdf 100644 (file)
@@ -314,6 +314,8 @@ mq_send_session_bound_cb (u32 app_wrk_index, u32 api_context,
   if (session_transport_service_type (ls) == TRANSPORT_SERVICE_CL &&
       ls->rx_fifo)
     {
+      m.mq_index = transport_cl_thread ();
+      m.vpp_evt_q = fifo_segment_msg_q_offset (eq_seg, m.mq_index);
       m.rx_fifo = fifo_segment_fifo_offset (ls->rx_fifo);
       m.tx_fifo = fifo_segment_fifo_offset (ls->tx_fifo);
       m.segment_handle = session_segment_handle (ls);
@@ -1485,7 +1487,9 @@ sapi_socket_detach (app_namespace_t * app_ns, clib_socket_t * cs)
 
   /* Cleanup everything because app worker closed socket or crashed */
   handle = (app_ns_api_handle_t *) & cs->private_data;
-  app_wrk = app_worker_get (handle->aah_app_wrk_index);
+  app_wrk = app_worker_get_if_valid (handle->aah_app_wrk_index);
+  if (!app_wrk)
+    return;
 
   vnet_app_worker_add_del_args_t args = {
     .app_index = app_wrk->app_index,