aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet/session
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2021-07-21 18:17:20 -0700
committerDave Barach <openvpp@barachs.net>2021-07-22 16:50:46 +0000
commitf6e284b20c7a5b774ae21934fbf3f07801d61fc2 (patch)
treebebb5d84fff954af8762c70724559a4c721dd8e1 /src/vnet/session
parent4cef6de5915d22508c3e79335fbbe226f47ad0f5 (diff)
session vcl: explit mq indices in ctrl messages
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8e80252b85dda9a8f5699109264dc1b913581442
Diffstat (limited to 'src/vnet/session')
-rw-r--r--src/vnet/session/application_interface.h5
-rw-r--r--src/vnet/session/session_api.c3
2 files changed, 5 insertions, 3 deletions
diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h
index 7d8b8ce4e1c..b10dd6c150d 100644
--- a/src/vnet/session/application_interface.h
+++ b/src/vnet/session/application_interface.h
@@ -352,6 +352,7 @@ typedef struct session_bound_msg_
uword tx_fifo;
uword vpp_evt_q;
u64 segment_handle;
+ u32 mq_index;
} __clib_packed session_bound_msg_t;
typedef struct session_unlisten_msg_
@@ -435,10 +436,8 @@ typedef struct session_connected_msg_
uword ct_tx_fifo;
u64 ct_segment_handle;
uword vpp_event_queue_address;
- u32 segment_size;
- u8 segment_name_length;
- u8 segment_name[64];
transport_endpoint_t lcl;
+ u32 mq_index;
} __clib_packed session_connected_msg_t;
typedef struct session_shutdown_msg_
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index 31022294be5..75c4700361f 100644
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -282,6 +282,7 @@ mq_send_session_connected_cb (u32 app_wrk_index, u32 api_context,
m.server_rx_fifo = fifo_segment_fifo_offset (s->rx_fifo);
m.server_tx_fifo = fifo_segment_fifo_offset (s->tx_fifo);
m.segment_handle = session_segment_handle (s);
+ m.mq_index = s->thread_index;
}
else
{
@@ -301,6 +302,7 @@ mq_send_session_connected_cb (u32 app_wrk_index, u32 api_context,
m.ct_rx_fifo = fifo_segment_fifo_offset (ss->tx_fifo);
m.ct_tx_fifo = fifo_segment_fifo_offset (ss->rx_fifo);
m.ct_segment_handle = session_segment_handle (ss);
+ m.mq_index = s->thread_index;
}
/* Setup client session index in advance, in case data arrives
@@ -361,6 +363,7 @@ mq_send_session_bound_cb (u32 app_wrk_index, u32 api_context,
app = application_get (app_wrk->app_index);
eq_seg = application_get_rx_mqs_segment (app);
m.vpp_evt_q = fifo_segment_msg_q_offset (eq_seg, ls->thread_index);
+ m.mq_index = ls->thread_index;
if (session_transport_service_type (ls) == TRANSPORT_SERVICE_CL &&
ls->rx_fifo)