X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fsession%2Fapplication_interface.h;h=a40aa9d9a7f048f42350139aeda1394a207b9593;hb=d1b9e706841150d0da042a05aab51f19fa804192;hp=f73cd0abcbc995e0e903ad34ed40d42f4d5d95ab;hpb=79ba25d40248ceba3efb232952282678b5a7f910;p=vpp.git diff --git a/src/vnet/session/application_interface.h b/src/vnet/session/application_interface.h index f73cd0abcbc..a40aa9d9a7f 100644 --- a/src/vnet/session/application_interface.h +++ b/src/vnet/session/application_interface.h @@ -162,8 +162,8 @@ typedef struct _vnet_application_add_tls_key_args_t typedef enum crypto_engine_type_ { CRYPTO_ENGINE_NONE, - CRYPTO_ENGINE_MBEDTLS, CRYPTO_ENGINE_OPENSSL, + CRYPTO_ENGINE_MBEDTLS, CRYPTO_ENGINE_VPP, CRYPTO_ENGINE_PICOTLS, CRYPTO_ENGINE_LAST = CRYPTO_ENGINE_PICOTLS, @@ -176,6 +176,15 @@ typedef struct _vnet_app_add_cert_key_pair_args_ u32 index; } vnet_app_add_cert_key_pair_args_t; +typedef struct crypto_ctx_ +{ + u32 ctx_index; /**< index in crypto context pool */ + u32 n_subscribers; /**< refcount of sessions using said context */ + u32 ckpair_index; /**< certificate & key */ + u8 crypto_engine; + void *data; /**< protocol specific data */ +} crypto_context_t; + /* Application attach options */ typedef enum { @@ -296,6 +305,7 @@ typedef struct session_listen_msg_ u8 is_ip4; ip46_address_t ip; u32 ckpair_index; + u8 crypto_engine; } __clib_packed session_listen_msg_t; STATIC_ASSERT (sizeof (session_listen_msg_t) <= SESSION_CTRL_MSG_MAX_SIZE, @@ -352,6 +362,7 @@ typedef struct session_accepted_msg_ u64 segment_handle; uword vpp_event_queue_address; transport_endpoint_t rmt; + u8 flags; } __clib_packed session_accepted_msg_t; typedef struct session_accepted_reply_msg_ @@ -376,6 +387,8 @@ typedef struct session_connect_msg_ u8 hostname[16]; u64 parent_handle; u32 ckpair_index; + u8 crypto_engine; + u8 flags; } __clib_packed session_connect_msg_t; STATIC_ASSERT (sizeof (session_connect_msg_t) <= SESSION_CTRL_MSG_MAX_SIZE,