diff options
author | Florin Coras <fcoras@cisco.com> | 2018-10-01 18:31:02 -0700 |
---|---|---|
committer | Marco Varlese <marco.varlese@suse.de> | 2018-10-02 07:07:02 +0000 |
commit | ca09d0730974effd53b436871f3e69c8bb8b1114 (patch) | |
tree | dfdfd6f4d532f71c79eb1c1b53de9a058ea39072 /src/vnet/tcp/tcp_input.c | |
parent | 0a4e0063f79490f134150a0cefe33600733f7d94 (diff) |
tcp: accept fins if in recovery
Change-Id: I0c9c055fcc3d681c4032228a90cc81f484e200f0
Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/tcp/tcp_input.c')
-rw-r--r-- | src/vnet/tcp/tcp_input.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c index d297ee7ed3e..10f50fefc09 100644 --- a/src/vnet/tcp/tcp_input.c +++ b/src/vnet/tcp/tcp_input.c @@ -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; } /* |