session: use vpp to switch io events for ct sessions
[vpp.git] / src / vnet / session / application_worker.c
index d02149d..7c88888 100644 (file)
@@ -165,7 +165,6 @@ app_worker_alloc_session_fifos (segment_manager_t * sm, session_t * s)
 
   s->rx_fifo = rx_fifo;
   s->tx_fifo = tx_fifo;
-  s->svm_segment_index = fifo_segment_index;
   return 0;
 }
 
@@ -362,7 +361,7 @@ app_worker_own_session (app_worker_t * app_wrk, session_t * s)
       s->tx_fifo->cursize = txf->cursize;
     }
 
-  segment_manager_dealloc_fifos (rxf->segment_index, rxf, txf);
+  segment_manager_dealloc_fifos (rxf, txf);
 
   return 0;
 }
@@ -489,7 +488,7 @@ app_worker_del_segment_notify (app_worker_t * app_wrk, u64 segment_handle)
                                           segment_handle);
 }
 
-u8
+static inline u8
 app_worker_application_is_builtin (app_worker_t * app_wrk)
 {
   return app_wrk->app_is_builtin;
@@ -544,7 +543,7 @@ app_send_io_evt_rx (app_worker_t * app_wrk, session_t * s, u8 lock)
       return app->cb_fns.builtin_app_rx_callback (s);
     }
 
-  if (svm_fifo_has_event (s->rx_fifo) || svm_fifo_is_empty (s->rx_fifo))
+  if (svm_fifo_has_event (s->rx_fifo))
     return 0;
 
   mq = app_wrk->event_queue;
@@ -564,7 +563,7 @@ app_send_io_evt_rx (app_worker_t * app_wrk, session_t * s, u8 lock)
 
   evt = (session_event_t *) svm_msg_q_msg_data (mq, &msg);
   evt->fifo = s->rx_fifo;
-  evt->event_type = FIFO_EVENT_APP_RX;
+  evt->event_type = SESSION_IO_EVT_RX;
 
   (void) svm_fifo_set_event (s->rx_fifo);
 
@@ -599,7 +598,7 @@ app_send_io_evt_tx (app_worker_t * app_wrk, session_t * s, u8 lock)
   ASSERT (!svm_msg_q_msg_is_invalid (&msg));
 
   evt = (session_event_t *) svm_msg_q_msg_data (mq, &msg);
-  evt->event_type = FIFO_EVENT_APP_TX;
+  evt->event_type = SESSION_IO_EVT_TX;
   evt->fifo = s->tx_fifo;
 
   return app_enqueue_evt (mq, &msg, lock);
@@ -609,9 +608,8 @@ app_send_io_evt_tx (app_worker_t * app_wrk, session_t * s, u8 lock)
 typedef int (app_send_evt_handler_fn) (app_worker_t *app,
                                       session_t *s,
                                       u8 lock);
-static app_send_evt_handler_fn * const app_send_evt_handler_fns[3] = {
+static app_send_evt_handler_fn * const app_send_evt_handler_fns[2] = {
     app_send_io_evt_rx,
-    0,
     app_send_io_evt_tx,
 };
 /* *INDENT-ON* */
@@ -625,7 +623,7 @@ static app_send_evt_handler_fn * const app_send_evt_handler_fns[3] = {
 int
 app_worker_send_event (app_worker_t * app, session_t * s, u8 evt_type)
 {
-  ASSERT (app && evt_type <= FIFO_EVENT_APP_TX);
+  ASSERT (app && evt_type <= SESSION_IO_EVT_TX);
   return app_send_evt_handler_fns[evt_type] (app, s, 0 /* lock */ );
 }
 
@@ -666,7 +664,7 @@ format_app_worker_listener (u8 * s, va_list * args)
 
   app_name = application_name_from_index (app_wrk->app_index);
   listener = listen_session_get_from_handle (handle);
-  str = format (0, "%U", format_stream_session, listener, verbose);
+  str = format (0, "%U", format_session, listener, verbose);
 
   if (verbose)
     {
@@ -737,7 +735,7 @@ app_worker_format_connects (app_worker_t * app_wrk, int verbose)
         thread_index = fifo->master_thread_index;
 
         session = session_get (session_index, thread_index);
-        str = format (0, "%U", format_stream_session, session, verbose);
+        str = format (0, "%U", format_session, session, verbose);
 
         if (verbose)
           s = format (s, "%-40s%-20s%-15u%-10u", str, app_name,