From 43818c1e02b33b5baf0d3e06caf9dec61301e921 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Sun, 9 Feb 2020 23:09:26 +0000 Subject: tcp: add option to avoid endpoint cleanup Type: feature If set, avoid trying to cleanup the local endpoint table. Signed-off-by: Florin Coras Change-Id: Iaa382ae74523d608217d2d17544bf1e7d82b2728 --- src/vnet/tcp/tcp.c | 5 +++-- src/vnet/tcp/tcp.h | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/vnet/tcp') diff --git a/src/vnet/tcp/tcp.c b/src/vnet/tcp/tcp.c index 3fa242e6e5f..0c2523c5bff 100644 --- a/src/vnet/tcp/tcp.c +++ b/src/vnet/tcp/tcp.c @@ -242,8 +242,9 @@ tcp_connection_cleanup (tcp_connection_t * tc) TCP_EVT (TCP_EVT_DELETE, tc); /* Cleanup local endpoint if this was an active connect */ - transport_endpoint_cleanup (TRANSPORT_PROTO_TCP, &tc->c_lcl_ip, - tc->c_lcl_port); + if (!(tc->cfg_flags & TCP_CFG_F_NO_ENDPOINT)) + transport_endpoint_cleanup (TRANSPORT_PROTO_TCP, &tc->c_lcl_ip, + tc->c_lcl_port); /* Check if connection is not yet fully established */ if (tc->state == TCP_STATE_SYN_SENT) diff --git a/src/vnet/tcp/tcp.h b/src/vnet/tcp/tcp.h index 896a69b8336..73d59706da5 100644 --- a/src/vnet/tcp/tcp.h +++ b/src/vnet/tcp/tcp.h @@ -109,6 +109,7 @@ extern timer_expiration_handler tcp_timer_retransmit_syn_handler; _(NO_CSUM_OFFLOAD, "No csum offload") \ _(NO_TSO, "TSO off") \ _(TSO, "TSO") \ + _(NO_ENDPOINT,"No endpoint") \ typedef enum tcp_cfg_flag_bits_ { -- cgit 1.2.3-korg