aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session_input.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vnet/session/session_input.c')
-rw-r--r--src/vnet/session/session_input.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/vnet/session/session_input.c b/src/vnet/session/session_input.c
index 73b777127fd..01be281d4f7 100644
--- a/src/vnet/session/session_input.c
+++ b/src/vnet/session/session_input.c
@@ -217,9 +217,7 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index,
s->connection_index, s->thread_index);
session_free (s);
/* Notify app that it has data on the new session */
- s = session_get_from_handle (evt->as_u64[1]);
- session_send_io_evt_to_thread (s->rx_fifo,
- SESSION_IO_EVT_BUILTIN_RX);
+ session_program_rx_io_evt (evt->as_u64[1]);
break;
case SESSION_CTRL_EVT_TRANSPORT_CLOSED:
s = session_get (evt->session_index, thread_index);
@@ -257,6 +255,9 @@ app_worker_flush_events_inline (app_worker_t *app_wrk, u32 thread_index,
app->cb_fns.del_segment_callback (app_wrk->wrk_index,
evt->as_u64[1]);
break;
+ case SESSION_CTRL_EVT_RPC:
+ ((void (*) (session_t * s)) (evt->rpc_args.fp)) (evt->rpc_args.arg);
+ break;
default:
clib_warning ("unexpected event: %u", evt->event_type);
ASSERT (0);