summaryrefslogtreecommitdiffstats
path: root/src/vnet/tls/tls.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-04-24 23:00:11 +0000
committerDave Barach <openvpp@barachs.net>2020-04-25 11:40:25 +0000
commit36d49391aadeb10b9f3626b62c5c019c4fddf5ed (patch)
tree9280b80a3769104f5ab3e8422428190a640c3352 /src/vnet/tls/tls.c
parent5e6222a0332e38316b5a58b23c35cca69bb72025 (diff)
session vcl: propagate transport cleanup notifications
Type: improvement Can be used to force app to close a connection on which it still waits for data. Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I7c3a8245cbbc23728e4408feb63a659a11f718ed
Diffstat (limited to 'src/vnet/tls/tls.c')
-rw-r--r--src/vnet/tls/tls.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c
index 89dbd36bc44..1af0857d7f2 100644
--- a/src/vnet/tls/tls.c
+++ b/src/vnet/tls/tls.c
@@ -518,7 +518,12 @@ tls_app_session_cleanup (session_t * s, session_cleanup_ntf_t ntf)
tls_ctx_t *ctx;
if (ntf == SESSION_CLEANUP_TRANSPORT)
- return;
+ {
+ /* Allow cleanup of tcp session */
+ if (s->session_state == SESSION_STATE_TRANSPORT_DELETED)
+ session_close (s);
+ return;
+ }
ctx = tls_ctx_get (s->opaque);
if (!ctx->no_app_session)