summaryrefslogtreecommitdiffstats
path: root/src/vnet/tls
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2022-02-24 16:35:26 -0800
committerDave Barach <openvpp@barachs.net>2022-02-28 21:04:14 +0000
commit8c5e5f64023146a20e1a9e774b76d6bf713b622b (patch)
tree363cbbbe69a1032475911b2ad7c1ca2c213ae968 /src/vnet/tls
parent3683d1b5ab253c90506231c1590d92ae95454ee4 (diff)
tls: handle read write ssl errors
Type: improvement Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: If5eed7dac4951f0510a4b4b092f66f44d0d3cacd
Diffstat (limited to 'src/vnet/tls')
-rw-r--r--src/vnet/tls/tls.c10
-rw-r--r--src/vnet/tls/tls.h1
2 files changed, 11 insertions, 0 deletions
diff --git a/src/vnet/tls/tls.c b/src/vnet/tls/tls.c
index b91282ce074..54bb739e11d 100644
--- a/src/vnet/tls/tls.c
+++ b/src/vnet/tls/tls.c
@@ -400,6 +400,16 @@ tls_ctx_handshake_is_over (tls_ctx_t * ctx)
}
void
+tls_notify_app_io_error (tls_ctx_t *ctx)
+{
+ ASSERT (tls_ctx_handshake_is_over (ctx));
+
+ session_transport_reset_notify (&ctx->connection);
+ session_transport_closed_notify (&ctx->connection);
+ tls_disconnect_transport (ctx);
+}
+
+void
tls_session_reset_callback (session_t * s)
{
tls_ctx_t *ctx;
diff --git a/src/vnet/tls/tls.h b/src/vnet/tls/tls.h
index 4e2fabd5669..54798e0230f 100644
--- a/src/vnet/tls/tls.h
+++ b/src/vnet/tls/tls.h
@@ -137,6 +137,7 @@ int tls_add_vpp_q_builtin_rx_evt (session_t * s);
int tls_notify_app_accept (tls_ctx_t * ctx);
int tls_notify_app_connected (tls_ctx_t * ctx, session_error_t err);
void tls_notify_app_enqueue (tls_ctx_t * ctx, session_t * app_session);
+void tls_notify_app_io_error (tls_ctx_t *ctx);
void tls_disconnect_transport (tls_ctx_t * ctx);
#endif /* SRC_VNET_TLS_TLS_H_ */