summaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorIvan Shvedunov <ivan4th@gmail.com>2021-01-16 03:43:01 +0300
committerIvan Shvedunov <ivan4th@gmail.com>2021-01-16 03:46:36 +0300
commit4beb1c6643c1288aca8f2429ac380337458066c5 (patch)
treec3d0f164c3e15588c99bf8043528c257bf519e88 /src/vnet
parent35ef865678d82b5a6fd3936716de8afb2fd49e60 (diff)
tcp: remove bad assert
Don't assume that half-open connections pending removal are always successful. Type: fix Signed-off-by: Ivan Shvedunov <ivan4th@gmail.com> Change-Id: I955077a4ed2389b9ee38d97e27a7c7761c860a4a
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/tcp/tcp_input.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/vnet/tcp/tcp_input.c b/src/vnet/tcp/tcp_input.c
index 0a3d31588ee..a159d850728 100644
--- a/src/vnet/tcp/tcp_input.c
+++ b/src/vnet/tcp/tcp_input.c
@@ -1812,13 +1812,10 @@ tcp46_syn_sent_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
goto drop;
}
- /* Half-open completed recently but the connection was't removed
- * yet by the owning thread */
+ /* Half-open completed or cancelled recently but the connection
+ * was't removed yet by the owning thread */
if (PREDICT_FALSE (tc0->flags & TCP_CONN_HALF_OPEN_DONE))
{
- /* Make sure the connection actually exists */
- ASSERT (tcp_lookup_connection (tc0->c_fib_index, b0,
- my_thread_index, is_ip4));
error0 = TCP_ERROR_SPURIOUS_SYN_ACK;
goto drop;
}