summaryrefslogtreecommitdiffstats
path: root/src/vnet/session/application_worker.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2021-05-10 21:12:27 -0700
committerDamjan Marion <dmarion@me.com>2021-05-12 08:44:38 +0000
commit2c876f9c587a359ffd7191723cf616b14dcb9cf1 (patch)
tree17f941b0fe361b8c918b4bcfe63f3f5d3d469693 /src/vnet/session/application_worker.c
parent89a9f61dfcd76cdbfd7c731b823cb4a3a7e8d1cf (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.c7
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;
}