tls: switch to vc service and track half-open sessions

Half-open tls sessions are now tracked by the app worker and are cleaned
up only when tcp cleans up its half-open session, i.e., independent of
when the established tls context is allocated.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: If5d594d7095192dd527daf4ea1358ffeccdfcc7a
This commit is contained in:
Florin Coras
2021-05-10 21:12:27 -07:00
committed by Damjan Marion
parent 89a9f61dfc
commit 2c876f9c58
7 changed files with 78 additions and 19 deletions

View File

@ -316,7 +316,7 @@ session_half_open_delete_notify (transport_connection_t *tc)
s = ho_session_get (tc->s_index);
app_wrk = app_worker_get (s->app_wrk_index);
app_worker_del_half_open (app_wrk, s->ho_index);
app_worker_del_half_open (app_wrk, s);
session_free (s);
}
@ -339,7 +339,7 @@ session_alloc_for_connection (transport_connection_t * tc)
return s;
}
static session_t *
session_t *
session_alloc_for_half_open (transport_connection_t *tc)
{
session_t *s;
@ -1297,7 +1297,8 @@ session_open_vc (session_endpoint_cfg_t *rmt, session_handle_t *rsh)
ho->opaque = rmt->opaque;
*rsh = session_handle (ho);
session_lookup_add_half_open (tc, tc->c_index);
if (!(tc->flags & TRANSPORT_CONNECTION_F_NO_LOOKUP))
session_lookup_add_half_open (tc, tc->c_index);
return 0;
}