From: Florin Coras Date: Tue, 11 Jun 2024 19:17:04 +0000 (-0700) Subject: session: fix ho cleanup on active and passive close X-Git-Tag: v25.02-rc0~195 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=refs%2Fchanges%2F10%2F41110%2F3;p=vpp.git session: fix ho cleanup on active and passive close Type: fix Signed-off-by: Florin Coras Change-Id: I9e7011ff45f14e17fc0d0d63800184f404c29093 --- diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c index 67e7ee39001..32c987cc5d9 100644 --- a/src/vnet/session/session.c +++ b/src/vnet/session/session.c @@ -1659,8 +1659,10 @@ session_transport_close (session_t * s) { if (s->session_state == SESSION_STATE_TRANSPORT_CLOSED) session_set_state (s, SESSION_STATE_CLOSED); - /* If transport is already deleted, just free the session */ - else if (s->session_state >= SESSION_STATE_TRANSPORT_DELETED) + /* If transport is already deleted, just free the session. Half-opens + * expected to be already cleaning up at this point */ + else if (s->session_state >= SESSION_STATE_TRANSPORT_DELETED && + !(s->flags & SESSION_F_HALF_OPEN)) session_program_cleanup (s); return; }