FD.io VPP  v19.01.3-6-g70449b9b9
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_index   c_tls_ctx_id.parent_app_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_s_index
 

Typedefs

typedef struct tls_ctx_ tls_ctx_t
 
typedef struct tls_main_ tls_main_t
 
typedef struct tls_engine_vft_ tls_engine_vft_t
 
typedef enum tls_engine_type_ tls_engine_type_t
 

Enumerations

enum  tls_engine_type_ { TLS_ENGINE_NONE, TLS_ENGINE_MBEDTLS, TLS_ENGINE_OPENSSL, TLS_N_ENGINES }
 

Functions

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;}) 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 (stream_session_t *s)
 
int tls_add_vpp_q_tx_evt (stream_session_t *s)
 
int tls_add_vpp_q_builtin_tx_evt (stream_session_t *s)
 
int tls_add_vpp_q_builtin_rx_evt (stream_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, stream_session_t *app_session)
 

Macro Definition Documentation

◆ app_session_handle

#define app_session_handle   c_tls_ctx_id.app_session_handle

Definition at line 61 of file tls.h.

◆ listener_ctx_index

#define listener_ctx_index   c_tls_ctx_id.listener_ctx_index

Definition at line 63 of file tls.h.

◆ parent_app_api_context

#define parent_app_api_context   c_s_index

Definition at line 70 of file tls.h.

◆ parent_app_index

#define parent_app_index   c_tls_ctx_id.parent_app_index

Definition at line 60 of file tls.h.

◆ tcp_is_ip4

#define tcp_is_ip4   c_tls_ctx_id.tcp_is_ip4

Definition at line 64 of file tls.h.

◆ TLS_CA_CERT_PATH

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

Definition at line 28 of file tls.h.

◆ TLS_CHUNK_SIZE

#define TLS_CHUNK_SIZE   (1 << 14)

Definition at line 27 of file tls.h.

◆ tls_ctx_engine

#define tls_ctx_engine   c_tls_ctx_id.tls_engine_id

Definition at line 65 of file tls.h.

◆ tls_ctx_handle

#define tls_ctx_handle   c_c_index

Definition at line 67 of file tls.h.

◆ TLS_DBG

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

Definition at line 35 of file tls.h.

◆ TLS_DEBUG

#define TLS_DEBUG   0

Definition at line 23 of file tls.h.

◆ TLS_DEBUG_LEVEL_CLIENT

#define TLS_DEBUG_LEVEL_CLIENT   0

Definition at line 24 of file tls.h.

◆ TLS_DEBUG_LEVEL_SERVER

#define TLS_DEBUG_LEVEL_SERVER   0

Definition at line 25 of file tls.h.

◆ tls_session_handle

#define tls_session_handle   c_tls_ctx_id.tls_session_handle

Definition at line 62 of file tls.h.

◆ tls_ssl_ctx

#define tls_ssl_ctx   c_tls_ctx_id.ssl_ctx

Definition at line 66 of file tls.h.

Typedef Documentation

◆ tls_ctx_t

typedef struct tls_ctx_ tls_ctx_t

◆ tls_engine_type_t

◆ tls_engine_vft_t

◆ tls_main_t

typedef struct tls_main_ tls_main_t

Enumeration Type Documentation

◆ tls_engine_type_

Enumerator
TLS_ENGINE_NONE 
TLS_ENGINE_MBEDTLS 
TLS_ENGINE_OPENSSL 
TLS_N_ENGINES 

Definition at line 108 of file tls.h.

Function Documentation

◆ CLIB_PACKED()

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;}  )

◆ 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 ( stream_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 ( stream_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 ( stream_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 ( stream_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 232 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,
stream_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 748 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 826 of file tls.c.

+ Here is the caller graph for this function: