Compare commits

..

2 Commits

Author SHA1 Message Date
493b8990d1 misc: VPP 23.06 Release Notes
Type: docs
Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
Change-Id: Id39d7d6a6340e65885ab0845b6fc9a2b81e4f565
2023-06-28 10:41:33 +00:00
aa41d25aa1 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 fb49e07816)
2023-06-21 17:17:58 +00:00
3 changed files with 623 additions and 3 deletions

View File

@ -6,6 +6,7 @@ Release notes
.. toctree:: .. toctree::
:maxdepth: 2 :maxdepth: 2
v23.06
v23.02 v23.02
v22.10.1 v22.10.1
v22.10 v22.10

File diff suppressed because it is too large Load Diff

View File

@ -309,7 +309,7 @@ session_cleanup_half_open (session_handle_t ho_handle)
else else
{ {
/* Cleanup half-open session lookup table if need be */ /* 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; transport_connection_t *tc;
tc = transport_get_half_open (session_get_transport_proto (ho), 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); session_t *ho = ho_session_get (tc->s_index);
/* Cleanup half-open lookup table if need be */ /* 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)) if (!(tc->flags & TRANSPORT_CONNECTION_F_NO_LOOKUP))
session_lookup_del_half_open (tc); session_lookup_del_half_open (tc);
@ -911,7 +911,7 @@ session_stream_connect_notify (transport_connection_t * tc,
session_lookup_del_half_open (tc); session_lookup_del_half_open (tc);
ho = ho_session_get (tc->s_index); 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; opaque = ho->opaque;
app_wrk = app_worker_get_if_valid (ho->app_wrk_index); app_wrk = app_worker_get_if_valid (ho->app_wrk_index);
if (!app_wrk) if (!app_wrk)