From 129ff04e3c564f040a8c00783ebe7f28cfadcbff Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Mon, 8 Jul 2024 15:15:07 -0700 Subject: session: add api to program rx io evts Type: improvement Change-Id: I5a4a33604ecb8a29ef6932cc5826835d3bec7f23 Signed-off-by: Florin Coras --- src/vnet/session/session.c | 16 ++++++++++++++++ src/vnet/session/session.h | 1 + 2 files changed, 17 insertions(+) diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index f1598519363..c1becf2c5ea 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -103,6 +103,22 @@ session_program_tx_io_evt (session_handle_tu_t sh, session_evt_type_t evt_type) (u32) sh.thread_index, evt_type); } +int +session_program_rx_io_evt (session_handle_tu_t sh) +{ + if (sh.thread_index == vlib_get_thread_index ()) + { + session_t *s = session_get_from_handle (sh); + return session_enqueue_notify (s); + } + else + { + return session_send_evt_to_thread ((void *) &sh.session_index, 0, + (u32) sh.thread_index, + SESSION_IO_EVT_BUILTIN_RX); + } +} + int session_send_ctrl_evt_to_thread (session_t * s, session_evt_type_t evt_type) { diff --git a/src/vnet/session/session.h b/src/vnet/session/session.h index a5604bf8725..67a182573e4 100644 --- a/src/vnet/session/session.h +++ b/src/vnet/session/session.h @@ -461,6 +461,7 @@ int session_send_io_evt_to_thread_custom (void *data, u32 thread_index, session_evt_type_t evt_type); int session_program_tx_io_evt (session_handle_tu_t sh, session_evt_type_t evt_type); +int session_program_rx_io_evt (session_handle_tu_t sh); void session_send_rpc_evt_to_thread (u32 thread_index, void *fp, void *rpc_args); void session_send_rpc_evt_to_thread_force (u32 thread_index, void *fp, -- cgit 1.2.3-korg