From: Florin Coras Date: Wed, 1 Nov 2023 20:01:48 +0000 (-0700) Subject: tcp: allow ooo data in syn-rcvd X-Git-Tag: v24.06-rc0~175 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F16%2F39816%2F4;p=vpp.git tcp: allow ooo data in syn-rcvd As long as ack and segment are legitimate accept ooo data as we transition to established. Type: improvement Signed-off-by: Florin Coras Change-Id: I85cdc65d70cb8ae689a9ce9bbe4f86228b1ac533 --- diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c index 932a7ec66ab..5e85f13cbac 100644 --- a/src/vnet/tcp/tcp_input.c +++ b/src/vnet/tcp/tcp_input.c @@ -2125,15 +2125,6 @@ tcp46_rcv_process_inline (vlib_main_t *vm, vlib_node_runtime_t *node, switch (tc->state) { case TCP_STATE_SYN_RCVD: - - /* Make sure the segment is exactly right */ - if (tc->rcv_nxt != vnet_buffer (b[0])->tcp.seq_number) - { - tcp_send_reset_w_pkt (tc, b[0], thread_index, is_ip4); - error = TCP_ERROR_SEGMENT_INVALID; - goto drop; - } - /* * If the segment acknowledgment is not acceptable, form a * reset segment,