session: set connected session index for ct 05/32105/3
authorFlorin Coras <fcoras@cisco.com>
Fri, 23 Apr 2021 15:58:57 +0000 (08:58 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Fri, 23 Apr 2021 16:04:00 +0000 (16:04 +0000)
Set connected session index for ct as well.

Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Id82ffcf5572b6a9d2769c0e685c7a0b4d1ea9e9f

src/vnet/session/session_api.c

index f54a46b..cf5a66d 100644 (file)
@@ -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;