diff options
author | Florin Coras <fcoras@cisco.com> | 2021-05-10 21:12:27 -0700 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2021-05-12 08:44:38 +0000 |
commit | 2c876f9c587a359ffd7191723cf616b14dcb9cf1 (patch) | |
tree | 17f941b0fe361b8c918b4bcfe63f3f5d3d469693 /src/vnet/session/application_worker.c | |
parent | 89a9f61dfcd76cdbfd7c731b823cb4a3a7e8d1cf (diff) |
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
Diffstat (limited to 'src/vnet/session/application_worker.c')
-rw-r--r-- | src/vnet/session/application_worker.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/vnet/session/application_worker.c b/src/vnet/session/application_worker.c index b55c55aea47..fad70c06de3 100644 --- a/src/vnet/session/application_worker.c +++ b/src/vnet/session/application_worker.c @@ -393,10 +393,13 @@ app_worker_add_half_open (app_worker_t *app_wrk, session_handle_t sh) } int -app_worker_del_half_open (app_worker_t *app_wrk, u32 ho_index) +app_worker_del_half_open (app_worker_t *app_wrk, session_t *s) { + application_t *app = application_get (app_wrk->app_index); ASSERT (vlib_get_thread_index () == 0); - pool_put_index (app_wrk->half_open_table, ho_index); + pool_put_index (app_wrk->half_open_table, s->ho_index); + if (app->cb_fns.half_open_cleanup_callback) + app->cb_fns.half_open_cleanup_callback (s); return 0; } |