diff options
author | Florin Coras <fcoras@cisco.com> | 2020-12-11 13:58:12 -0800 |
---|---|---|
committer | Florin Coras <fcoras@cisco.com> | 2020-12-29 12:11:07 -0800 |
commit | b462418890240b2e38dbf522f9dd0196b79e0fa8 (patch) | |
tree | 3ae26a22edb23da8d40f2c2b54eb96b056bca565 /src/plugins/hs_apps/sapi/vpp_echo.c | |
parent | 04943b4c42db300d0d895644f32da79a6d411c51 (diff) |
svm: allow mq attachments at random offsets
Type: feature
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic373cd2c11272da539eb4b0db27227f36f2f9688
Diffstat (limited to 'src/plugins/hs_apps/sapi/vpp_echo.c')
-rw-r--r-- | src/plugins/hs_apps/sapi/vpp_echo.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/plugins/hs_apps/sapi/vpp_echo.c b/src/plugins/hs_apps/sapi/vpp_echo.c index a47a4d455d8..19b5808c550 100644 --- a/src/plugins/hs_apps/sapi/vpp_echo.c +++ b/src/plugins/hs_apps/sapi/vpp_echo.c @@ -556,16 +556,14 @@ session_accepted_handler (session_accepted_msg_t * mp) session = echo_session_new (em); if (echo_attach_session (mp->segment_handle, mp->server_rx_fifo, - mp->server_tx_fifo, session)) + mp->server_tx_fifo, mp->vpp_event_queue_address, + session)) { ECHO_FAIL (ECHO_FAIL_ACCEPTED_WAIT_FOR_SEG_ALLOC, "accepted wait_for_segment_allocation errored"); return; } - session->vpp_evt_q = - uword_to_pointer (mp->vpp_event_queue_address, svm_msg_q_t *); - session->vpp_session_handle = mp->handle; /* session->transport needed by app_send_dgram */ @@ -617,14 +615,14 @@ session_connected_handler (session_connected_msg_t * mp) session = echo_session_new (em); if (echo_attach_session (mp->segment_handle, mp->server_rx_fifo, - mp->server_tx_fifo, session)) + mp->server_tx_fifo, mp->vpp_event_queue_address, + session)) { ECHO_FAIL (ECHO_FAIL_CONNECTED_WAIT_FOR_SEG_ALLOC, "connected wait_for_segment_allocation errored"); return; } - session->vpp_evt_q = uword_to_pointer (mp->vpp_event_queue_address, - svm_msg_q_t *); + session->vpp_session_handle = mp->handle; session->start = clib_time_now (&em->clib_time); session->listener_index = listener_index; @@ -806,7 +804,7 @@ echo_process_rpcs (echo_main_t * em) { echo_rpc_msg_t *rpc; svm_msg_q_msg_t msg; - svm_msg_q_t *mq = em->rpc_msq_queue; + svm_msg_q_t *mq = &em->rpc_msq_queue; while (em->state < STATE_DATA_DONE && !em->time_to_stop) { @@ -1321,7 +1319,7 @@ main (int argc, char **argv) cfg->n_rings = 1; cfg->q_nitems = rpc_queue_size; cfg->ring_cfgs = rc; - em->rpc_msq_queue = svm_msg_q_alloc (cfg); + svm_msg_q_attach (&em->rpc_msq_queue, svm_msg_q_alloc (cfg)); signal (SIGINT, stop_signal); signal (SIGQUIT, stop_signal); |