tcp: accept fins if in recovery 89/15089/2
authorFlorin Coras <fcoras@cisco.com>
Tue, 2 Oct 2018 01:31:02 +0000 (18:31 -0700)
committerMarco Varlese <marco.varlese@suse.de>
Tue, 2 Oct 2018 07:07:02 +0000 (07:07 +0000)
Change-Id: I0c9c055fcc3d681c4032228a90cc81f484e200f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
src/vnet/tcp/tcp_input.c

index d297ee7..10f50fe 100644 (file)
@@ -1401,7 +1401,9 @@ process_ack:
       if (!tcp_in_cong_recovery (tc))
        return 0;
       *error = TCP_ERROR_ACK_DUP;
-      return vnet_buffer (b)->tcp.data_len ? 0 : -1;
+      if (vnet_buffer (b)->tcp.data_len || tcp_is_fin (th))
+       return 0;
+      return -1;
     }
 
   /*