tcp: fix synack elog crash 63/28063/2
authorFlorin Coras <fcoras@cisco.com>
Fri, 24 Jul 2020 16:49:46 +0000 (09:49 -0700)
committerFlorin Coras <florin.coras@gmail.com>
Fri, 24 Jul 2020 17:12:56 +0000 (17:12 +0000)
The elog track, if enabled, must be initalized before synack is sent.

Type: fix

Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com>
Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I0c585f466c9a5cbc13af971ae4951b93f9913c5f

src/vnet/tcp/tcp_input.c

index bdaa28e..b8c889e 100644 (file)
@@ -2640,10 +2640,11 @@ tcp46_listen_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
 
       child->tx_fifo_size = transport_tx_fifo_size (&child->connection);
 
-      tcp_send_synack (child);
-
+      /* This initializes elog track, must be done before synack */
       TCP_EVT (TCP_EVT_SYN_RCVD, child, 1);
 
+      tcp_send_synack (child);
+
     done:
 
       if (PREDICT_FALSE (b->flags & VLIB_BUFFER_IS_TRACED))