From 4b47ee26cba610b26bbfc088736846541bee7be3 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Thu, 19 Nov 2020 13:38:26 -0800 Subject: tls: dtls initial implementation Type: feature Basic dtls transport protocol implementation that relies on openssl wire protocol implementation. Retries/timeouts not yet supported. To test using vcl test apps, first ensure all arp entries are properly resolved and subsequently: server: vcl_server -p dtls 1234 client: vcl_client -p dtls 1234 -U -N 2000000 -T 1460 -X Signed-off-by: Florin Coras Change-Id: I04b4516a8fe9ce85ba230bcdd891f33a900046ed --- src/vnet/tls/tls.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src/vnet/tls/tls.h') diff --git a/src/vnet/tls/tls.h b/src/vnet/tls/tls.h index d950fe82629..2038fdff133 100644 --- a/src/vnet/tls/tls.h +++ b/src/vnet/tls/tls.h @@ -21,7 +21,7 @@ #ifndef SRC_VNET_TLS_TLS_H_ #define SRC_VNET_TLS_TLS_H_ -#define TLS_DEBUG 0 +#define TLS_DEBUG 0 #define TLS_DEBUG_LEVEL_CLIENT 0 #define TLS_DEBUG_LEVEL_SERVER 0 @@ -49,6 +49,7 @@ typedef struct tls_cxt_id_ u32 listener_ctx_index; u8 tcp_is_ip4; u8 tls_engine_id; + void *migrate_ctx; } tls_ctx_id_t; /* *INDENT-ON* */ @@ -73,14 +74,17 @@ typedef struct tls_ctx_ /* Temporary storage for session open opaque. Overwritten once * underlying tcp connection is established */ #define parent_app_api_context c_tls_ctx_id.parent_app_api_ctx +#define migration_ctx c_tls_ctx_id.migrate_ctx u8 is_passive_close; u8 resume; u8 app_closed; u8 no_app_session; + u8 is_migrated; u8 *srv_hostname; u32 evt_index; u32 ckpair_index; + transport_proto_t tls_type; } tls_ctx_t; typedef struct tls_main_ @@ -104,7 +108,10 @@ typedef struct tls_main_ typedef struct tls_engine_vft_ { u32 (*ctx_alloc) (void); + u32 (*ctx_alloc_w_thread) (u32 thread_index); void (*ctx_free) (tls_ctx_t * ctx); + void *(*ctx_detach) (tls_ctx_t *ctx); + u32 (*ctx_attach) (u32 thread_index, void *ctx); tls_ctx_t *(*ctx_get) (u32 ctx_index); tls_ctx_t *(*ctx_get_w_thread) (u32 ctx_index, u8 thread_index); int (*ctx_init_client) (tls_ctx_t * ctx); -- cgit 1.2.3-korg