aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2023-06-20 16:50:51 -0700
committerFlorin Coras <florin.coras@gmail.com>2023-06-21 17:17:58 +0000
commitaa41d25aa1a2d648d0b131df028205dfb387ba9a (patch)
treea7508548de8720f7c4c7ee7406bc4144659f83da
parent5e6bc730efc64c1ccbaca765e99faab828b2f76c (diff)
session: mark half-open transport closed on ntf
Make sure half-open sessions are marked as transport closed once connected notification is provided. This ensures that if they've been scheduled for tx, the event is ignored. Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I8c44584e843d93365ec737ae4e1bcb74eba35506 (cherry picked from commit fb49e078164cd077f652358ad6cfdcda4bdfe73e)
-rw-r--r--src/vnet/session/session.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index a07082b766c..9549cbaf577 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -309,7 +309,7 @@ session_cleanup_half_open (session_handle_t ho_handle)
else
{
/* Cleanup half-open session lookup table if need be */
- if (ho->session_state != SESSION_STATE_TRANSPORT_CLOSING)
+ if (ho->session_state != SESSION_STATE_TRANSPORT_CLOSED)
{
transport_connection_t *tc;
tc = transport_get_half_open (session_get_transport_proto (ho),
@@ -348,7 +348,7 @@ session_half_open_delete_notify (transport_connection_t *tc)
session_t *ho = ho_session_get (tc->s_index);
/* Cleanup half-open lookup table if need be */
- if (ho->session_state != SESSION_STATE_TRANSPORT_CLOSING)
+ if (ho->session_state != SESSION_STATE_TRANSPORT_CLOSED)
{
if (!(tc->flags & TRANSPORT_CONNECTION_F_NO_LOOKUP))
session_lookup_del_half_open (tc);
@@ -911,7 +911,7 @@ session_stream_connect_notify (transport_connection_t * tc,
session_lookup_del_half_open (tc);
ho = ho_session_get (tc->s_index);
- session_set_state (ho, SESSION_STATE_TRANSPORT_CLOSING);
+ session_set_state (ho, SESSION_STATE_TRANSPORT_CLOSED);
opaque = ho->opaque;
app_wrk = app_worker_get_if_valid (ho->app_wrk_index);
if (!app_wrk)