aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-07-24 09:49:46 -0700
committerFlorin Coras <florin.coras@gmail.com>2020-07-24 17:12:56 +0000
commitd2f5174dd045da53395939cd55a0f6e2821f6dcf (patch)
tree79adc1120e6bec8d1278faffec2a5fa0d8ba9a29
parenta340fe1ac6a31d4e60affa7209ade48189b18eb4 (diff)
tcp: fix synack elog crash
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
-rw-r--r--src/vnet/tcp/tcp_input.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c
index bdaa28ec3d0..b8c889ee1cc 100644
--- a/src/vnet/tcp/tcp_input.c
+++ b/src/vnet/tcp/tcp_input.c
@@ -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))