tcp: drop anything but fins in TIME_WAIT 71/18271/3
authorFlorin Coras <fcoras@cisco.com>
Wed, 13 Mar 2019 20:25:57 +0000 (13:25 -0700)
committerDave Barach <openvpp@barachs.net>
Thu, 14 Mar 2019 20:23:49 +0000 (20:23 +0000)
Change-Id: I8414c2ed8bda59504330aad5f1a80dfe08dd85de
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/tcp/tcp_input.c

index 0d75ba2..5235c20 100644 (file)
@@ -2892,6 +2892,9 @@ tcp46_rcv_process_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
          if (tcp_rcv_ack (wrk, tc0, b0, tcp0, &error0))
            goto drop;
 
+         if (!is_fin0)
+           goto drop;
+
          tcp_program_ack (wrk, tc0);
          tcp_timer_update (tc0, TCP_TIMER_WAITCLOSE, TCP_TIMEWAIT_TIME);
          goto drop;
@@ -2967,6 +2970,7 @@ tcp46_rcv_process_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
                  scoreboard_clear (&tc0->sack_sb);
                  tcp_fastrecovery_off (tc0);
                  tcp_recovery_off (tc0);
+                 tcp_connection_timers_reset (tc0);
                  tc0->snd_nxt = tc0->snd_una_max = tc0->snd_una;
                }
              tcp_send_fin (tc0);