From 9a1e6eafd68b372e7aec53f75ac8f1881de72150 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Wed, 17 Oct 2018 14:53:11 -0700 Subject: tls: fix connection failures/interrupts at scale (VPP-1464) Change-Id: I0bc4062c1fd3202ee201acb36a2bb14fc6ee1543 Signed-off-by: Florin Coras (cherry picked from commit c01d578a625fb136bc33b0eb9c19907769a67989) --- src/vnet/session/session.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/vnet/session/session.c') diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 23d258ffdea..81c93064d38 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -814,18 +814,22 @@ stream_session_delete_notify (transport_connection_t * tc) * from the app, do the whole disconnect since we might still * have lingering events */ stream_session_disconnect (s); + s->session_state = SESSION_STATE_CLOSED; break; case SESSION_STATE_CLOSING: /* Cleanup lookup table. Transport needs to still be valid */ session_lookup_del_session (s); + s->session_state = SESSION_STATE_CLOSED; break; case SESSION_STATE_CLOSED: case SESSION_STATE_ACCEPTING: stream_session_delete (s); break; + default: + /* Assume connection was not yet added the lookup table */ + session_free_w_fifos (s); + break; } - - s->session_state = SESSION_STATE_CLOSED; } /** -- cgit 1.2.3-korg