diff options
author | Ping Yu <ping.yu@intel.com> | 2018-08-13 06:20:00 -0400 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2018-08-17 14:48:10 +0000 |
commit | decda5b466843b3164ba13f248f9e0bb93111782 (patch) | |
tree | 3a33e53c4e42e36e2d37209ab954cddad900bc2c /src/vnet/tls/tls.h | |
parent | 38b99d06ad00d09f406998e23c1d6cf44e11b86e (diff) |
optimize init_server to reduce session overhead
move un-necessary session based operation to listener
split orignal openssl ctx to be session based ctx and listen ctx
Change-Id: Id6c54f47b0e2171fd8924a45efcd5266ce5402d5
Signed-off-by: Ping Yu <ping.yu@intel.com>
Diffstat (limited to 'src/vnet/tls/tls.h')
-rw-r--r-- | src/vnet/tls/tls.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/vnet/tls/tls.h b/src/vnet/tls/tls.h index f67f307550b..5515cb25b8a 100644 --- a/src/vnet/tls/tls.h +++ b/src/vnet/tls/tls.h @@ -41,6 +41,7 @@ typedef CLIB_PACKED (struct tls_cxt_id_ u32 parent_app_index; session_handle_t app_session_handle; session_handle_t tls_session_handle; + u32 ssl_ctx; u32 listener_ctx_index; u8 tcp_is_ip4; u8 tls_engine_id; @@ -62,6 +63,7 @@ typedef struct tls_ctx_ #define listener_ctx_index c_tls_ctx_id.listener_ctx_index #define tcp_is_ip4 c_tls_ctx_id.tcp_is_ip4 #define tls_ctx_engine c_tls_ctx_id.tls_engine_id +#define tls_ssl_ctx c_tls_ctx_id.ssl_ctx #define tls_ctx_handle c_c_index /* Temporary storage for session open opaque. Overwritten once * underlying tcp connection is established */ @@ -99,6 +101,8 @@ typedef struct tls_engine_vft_ int (*ctx_read) (tls_ctx_t * ctx, stream_session_t * tls_session); int (*ctx_write) (tls_ctx_t * ctx, stream_session_t * app_session); u8 (*ctx_handshake_is_over) (tls_ctx_t * ctx); + int (*ctx_start_listen) (tls_ctx_t * ctx); + int (*ctx_stop_listen) (tls_ctx_t * ctx); } tls_engine_vft_t; typedef enum tls_engine_type_ |