aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-12-12 23:31:33 -0800
committerDave Barach <openvpp@barachs.net>2018-12-13 14:41:22 +0000
commit2e7e6ae11f96bb7c92c94c332b4b4d3786157829 (patch)
treeb43200f19821531fdb61bee6ac3708b0cb929793
parent21bb9af16e5fc1fd2ddf811f2a8011c973a20852 (diff)
tcp: drop handshake ack with fin set
Change-Id: I529c34235ad2b0e4c730959bb1b8c9d50a83738c Signed-off-by: Florin Coras <fcoras@cisco.com>
-rw-r--r--src/vnet/tcp/tcp_input.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c
index fc1aff40747..94dcaaf9eda 100644
--- a/src/vnet/tcp/tcp_input.c
+++ b/src/vnet/tcp/tcp_input.c
@@ -2727,7 +2727,7 @@ tcp46_rcv_process_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
}
/* Make sure the ack is exactly right */
- if (tc0->rcv_nxt != vnet_buffer (b0)->tcp.seq_number)
+ if (tc0->rcv_nxt != vnet_buffer (b0)->tcp.seq_number || is_fin0)
{
error0 = TCP_ERROR_SEGMENT_INVALID;
tcp_send_reset_w_pkt (tc0, b0, is_ip4);