tcp: cleanup connections if handshake fails
[vpp.git] / src / vnet / tcp / tcp_input.c
index f0ae8b1..91876fe 100644 (file)
@@ -2720,8 +2720,7 @@ tcp46_rcv_process_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
           */
          if (!tcp_rcv_ack_is_acceptable (tc0, b0))
            {
-             TCP_DBG ("connection not accepted");
-             tcp_send_reset_w_pkt (tc0, b0, is_ip4);
+             tcp_connection_reset (tc0);
              error0 = TCP_ERROR_ACK_INVALID;
              goto drop;
            }
@@ -2729,8 +2728,8 @@ 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 || is_fin0)
            {
+             tcp_connection_reset (tc0);
              error0 = TCP_ERROR_SEGMENT_INVALID;
-             tcp_send_reset_w_pkt (tc0, b0, is_ip4);
              goto drop;
            }