summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/vnet/session/session_api.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vnet/session/session_api.c b/src/vnet/session/session_api.c
index f54a46b39ba..cf5a66d9e7a 100644
--- a/src/vnet/session/session_api.c
+++ b/src/vnet/session/session_api.c
@@ -303,8 +303,6 @@ 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);
- s->rx_fifo->shr->client_session_index = api_context;
- s->tx_fifo->shr->client_session_index = api_context;
}
else
{
@@ -326,6 +324,11 @@ mq_send_session_connected_cb (u32 app_wrk_index, u32 api_context,
m.ct_segment_handle = session_segment_handle (ss);
}
+ /* Setup client session index in advance, in case data arrives
+ * before the app processes message and updates it */
+ s->rx_fifo->shr->client_session_index = api_context;
+ s->tx_fifo->shr->client_session_index = api_context;
+
snd_msg:
app_mq = app_wrk->event_queue;