tcp: allow ooo data in syn-rcvd 16/39816/4
authorFlorin Coras <fcoras@cisco.com>
Wed, 1 Nov 2023 20:01:48 +0000 (13:01 -0700)
committerDave Barach <vpp@barachs.net>
Wed, 1 Nov 2023 22:58:16 +0000 (22:58 +0000)
As long as ack and segment are legitimate accept ooo data as we
transition to established.

Type: improvement

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

src/vnet/tcp/tcp_input.c

index 932a7ec..5e85f13 100644 (file)
@@ -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,