diff options
author | Florin Coras <fcoras@cisco.com> | 2023-06-20 16:50:51 -0700 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2023-06-21 17:17:58 +0000 |
commit | aa41d25aa1a2d648d0b131df028205dfb387ba9a (patch) | |
tree | a7508548de8720f7c4c7ee7406bc4144659f83da | |
parent | 5e6bc730efc64c1ccbaca765e99faab828b2f76c (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.c | 6 |
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) |