tcp: fix close wait timeout with no fin 79/15079/3
authorFlorin Coras <fcoras@cisco.com>
Mon, 1 Oct 2018 15:32:04 +0000 (08:32 -0700)
committerMarco Varlese <marco.varlese@suse.de>
Tue, 2 Oct 2018 07:08:17 +0000 (07:08 +0000)
Change-Id: Icba9b0dc6dcb4b72288f966728201812d8d12144
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/tcp/tcp.c

index 30e5899..1c8ce34 100644 (file)
@@ -1192,6 +1192,10 @@ tcp_timer_waitclose_handler (u32 conn_index)
          clib_warning ("FIN was sent and still in CLOSE WAIT. Weird!");
        }
 
+      /* Make sure we don't try to send unsent data */
+      tcp_connection_timers_reset (tc);
+      tcp_cong_recovery_off (tc);
+      tc->snd_una_max = tc->snd_nxt = tc->snd_una;
       tcp_send_fin (tc);
       tc->state = TCP_STATE_LAST_ACK;