FD.io VPP  v19.04.4-rc0-5-ge88582fac
Vector Packet Processing
tls.h File Reference
+ Include dependency graph for tls.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  tls_ctx_
 
struct  tls_main_
 
struct  tls_engine_vft_
 

Macros

#define TLS_DEBUG   0
 
#define TLS_DEBUG_LEVEL_CLIENT   0
 
#define TLS_DEBUG_LEVEL_SERVER   0
 
#define TLS_CHUNK_SIZE   (1 << 14)
 
#define TLS_CA_CERT_PATH   "/etc/ssl/certs/ca-certificates.crt"
 
#define TLS_DBG(_lvl, _fmt, _args...)
 
#define parent_app_wrk_index   c_tls_ctx_id.parent_app_wrk_index
 
#define app_session_handle   c_tls_ctx_id.app_session_handle
 
#define tls_session_handle   c_tls_ctx_id.tls_session_handle
 
#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
 
#define parent_app_api_context   c_tls_ctx_id.parent_app_api_ctx
 

Typedefs

typedef struct tls_ctx_ tls_ctx_t
 
typedef struct tls_main_ tls_main_t
 
typedef struct tls_engine_vft_ tls_engine_vft_t
 

Functions

typedef CLIB_PACKED (struct tls_cxt_id_ { u32 parent_app_wrk_index;union { session_handle_t app_session_handle;u32 parent_app_api_ctx;};session_handle_t tls_session_handle;u32 ssl_ctx;u32 listener_ctx_index;u8 tcp_is_ip4;u8 tls_engine_id;}) tls_ctx_id_t
 
 STATIC_ASSERT (sizeof(tls_ctx_id_t)<=42, "ctx id must be less than 42")
 
tls_main_tvnet_tls_get_main (void)
 
void tls_register_engine (const tls_engine_vft_t *vft, tls_engine_type_t type)
 
int tls_add_vpp_q_rx_evt (session_t *s)
 
int tls_add_vpp_q_tx_evt (session_t *s)
 
int tls_add_vpp_q_builtin_tx_evt (session_t *s)
 
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, u8 is_failed)
 
void tls_notify_app_enqueue (tls_ctx_t *ctx, session_t *app_session)
 

Macro Definition Documentation

◆ app_session_handle

#define app_session_handle   c_tls_ctx_id.app_session_handle

Definition at line 65 of file tls.h.

◆ listener_ctx_index

#define listener_ctx_index   c_tls_ctx_id.listener_ctx_index

Definition at line 67 of file tls.h.

◆ parent_app_api_context

#define parent_app_api_context   c_tls_ctx_id.parent_app_api_ctx

Definition at line 74 of file tls.h.

◆ parent_app_wrk_index

#define parent_app_wrk_index   c_tls_ctx_id.parent_app_wrk_index

Definition at line 64 of file tls.h.

◆ tcp_is_ip4

#define tcp_is_ip4   c_tls_ctx_id.tcp_is_ip4

Definition at line 68 of file tls.h.

◆ TLS_CA_CERT_PATH

#define TLS_CA_CERT_PATH   "/etc/ssl/certs/ca-certificates.crt"

Definition at line 29 of file tls.h.

◆ TLS_CHUNK_SIZE

#define TLS_CHUNK_SIZE   (1 << 14)

Definition at line 28 of file tls.h.

◆ tls_ctx_engine

#define tls_ctx_engine   c_tls_ctx_id.tls_engine_id

Definition at line 69 of file tls.h.

◆ tls_ctx_handle

#define tls_ctx_handle   c_c_index

Definition at line 71 of file tls.h.

◆ TLS_DBG

#define TLS_DBG (   _lvl,
  _fmt,
  _args... 
)

Definition at line 36 of file tls.h.

◆ TLS_DEBUG

#define TLS_DEBUG   0

Definition at line 24 of file tls.h.

◆ TLS_DEBUG_LEVEL_CLIENT

#define TLS_DEBUG_LEVEL_CLIENT   0

Definition at line 25 of file tls.h.

◆ TLS_DEBUG_LEVEL_SERVER

#define TLS_DEBUG_LEVEL_SERVER   0

Definition at line 26 of file tls.h.

◆ tls_session_handle

#define tls_session_handle   c_tls_ctx_id.tls_session_handle

Definition at line 66 of file tls.h.

◆ tls_ssl_ctx

#define tls_ssl_ctx   c_tls_ctx_id.ssl_ctx

Definition at line 70 of file tls.h.

Typedef Documentation

◆ tls_ctx_t

typedef struct tls_ctx_ tls_ctx_t

◆ tls_engine_vft_t

◆ tls_main_t

typedef struct tls_main_ tls_main_t

Function Documentation

◆ CLIB_PACKED()

typedef CLIB_PACKED ( struct tls_cxt_id_ { u32 parent_app_wrk_index;union { session_handle_t app_session_handle;u32 parent_app_api_ctx;};session_handle_t tls_session_handle;u32 ssl_ctx;u32 listener_ctx_index;u8 tcp_is_ip4;u8 tls_engine_id;}  )

◆ STATIC_ASSERT()

STATIC_ASSERT ( sizeof(tls_ctx_id_t)<=  42,
"ctx id must be less than 42"   
)

◆ tls_add_vpp_q_builtin_rx_evt()

int tls_add_vpp_q_builtin_rx_evt ( session_t s)

Definition at line 62 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_add_vpp_q_builtin_tx_evt()

int tls_add_vpp_q_builtin_tx_evt ( session_t s)

Definition at line 78 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_add_vpp_q_rx_evt()

int tls_add_vpp_q_rx_evt ( session_t s)

Definition at line 54 of file tls.c.

+ Here is the call graph for this function:

◆ tls_add_vpp_q_tx_evt()

int tls_add_vpp_q_tx_evt ( session_t s)

Definition at line 70 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_notify_app_accept()

int tls_notify_app_accept ( tls_ctx_t ctx)

Definition at line 190 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_notify_app_connected()

int tls_notify_app_connected ( tls_ctx_t ctx,
u8  is_failed 
)

Definition at line 222 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_notify_app_enqueue()

void tls_notify_app_enqueue ( tls_ctx_t ctx,
session_t app_session 
)

Definition at line 181 of file tls.c.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ tls_register_engine()

void tls_register_engine ( const tls_engine_vft_t vft,
tls_engine_type_t  type 
)

Definition at line 747 of file tls.c.

+ Here is the caller graph for this function:

◆ vnet_tls_get_main()

tls_main_t* vnet_tls_get_main ( void  )

Definition at line 833 of file tls.c.

+ Here is the caller graph for this function: