FD.io VPP  v21.06
Vector Packet Processing
tls.c File Reference
+ Include dependency graph for tls.c:

Go to the source code of this file.

Macros

#define TLS_INVALID_HANDLE   ~0
 
#define TLS_IDX_MASK   0x00FFFFFF
 
#define TLS_ENGINE_TYPE_SHIFT   28
 

Functions

void tls_disconnect (u32 ctx_handle, u32 thread_index)
 
void tls_disconnect_transport (tls_ctx_t *ctx)
 
crypto_engine_type_t tls_get_available_engine (void)
 
int tls_add_vpp_q_rx_evt (session_t *s)
 
int tls_add_vpp_q_builtin_rx_evt (session_t *s)
 
int tls_add_vpp_q_tx_evt (session_t *s)
 
static int tls_add_app_q_evt (app_worker_t *app, session_t *app_session)
 
u32 tls_listener_ctx_alloc (void)
 
void tls_listener_ctx_free (tls_ctx_t *ctx)
 
tls_ctx_ttls_listener_ctx_get (u32 ctx_index)
 
u32 tls_listener_ctx_index (tls_ctx_t *ctx)
 
u32 tls_ctx_half_open_alloc (void)
 
void tls_ctx_half_open_free (u32 ho_index)
 
tls_ctx_ttls_ctx_half_open_get (u32 ctx_index)
 
void tls_ctx_half_open_reader_unlock ()
 
u32 tls_ctx_half_open_index (tls_ctx_t *ctx)
 
void tls_notify_app_enqueue (tls_ctx_t *ctx, session_t *app_session)
 
int tls_notify_app_accept (tls_ctx_t *ctx)
 
int tls_notify_app_connected (tls_ctx_t *ctx, session_error_t err)
 
static void tls_ctx_parse_handle (u32 ctx_handle, u32 *ctx_index, u32 *engine_type)
 
static crypto_engine_type_t tls_get_engine_type (crypto_engine_type_t requested, crypto_engine_type_t preferred)
 
static u32 tls_ctx_alloc (crypto_engine_type_t engine_type)
 
static u32 tls_ctx_alloc_w_thread (crypto_engine_type_t engine_type, u32 thread_index)
 
static u32 tls_ctx_attach (crypto_engine_type_t engine_type, u32 thread_index, void *ctx)
 
static void * tls_ctx_detach (tls_ctx_t *ctx)
 
static tls_ctx_ttls_ctx_get (u32 ctx_handle)
 
static tls_ctx_ttls_ctx_get_w_thread (u32 ctx_handle, u8 thread_index)
 
static int tls_ctx_init_server (tls_ctx_t *ctx)
 
static int tls_ctx_init_client (tls_ctx_t *ctx)
 
static int tls_ctx_write (tls_ctx_t *ctx, session_t *app_session, transport_send_params_t *sp)
 
static int tls_ctx_read (tls_ctx_t *ctx, session_t *tls_session)
 
static int tls_ctx_transport_close (tls_ctx_t *ctx)
 
static int tls_ctx_app_close (tls_ctx_t *ctx)
 
void tls_ctx_free (tls_ctx_t *ctx)
 
u8 tls_ctx_handshake_is_over (tls_ctx_t *ctx)
 
void tls_session_reset_callback (session_t *s)
 
static void tls_session_cleanup_ho (session_t *s)
 
int tls_add_segment_callback (u32 client_index, u64 segment_handle)
 
int tls_del_segment_callback (u32 client_index, u64 segment_handle)
 
void tls_session_disconnect_callback (session_t *tls_session)
 
int tls_session_accept_callback (session_t *tls_session)
 
int tls_app_rx_callback (session_t *tls_session)
 
int tls_app_tx_callback (session_t *tls_session)
 
int tls_session_connected_cb (u32 tls_app_index, u32 ho_ctx_index, session_t *tls_session, session_error_t err)
 
int dtls_session_connected_cb (u32 app_wrk_index, u32 ctx_handle, session_t *us, session_error_t err)
 
int tls_session_connected_callback (u32 tls_app_index, u32 ho_ctx_index, session_t *tls_session, session_error_t err)
 
static void tls_app_session_cleanup (session_t *s, session_cleanup_ntf_t ntf)
 
static void dtls_migrate_ctx (void *arg)
 
static void dtls_session_migrate_callback (session_t *us, session_handle_t new_sh)
 
int tls_connect (transport_endpoint_cfg_t *tep)
 
u32 tls_start_listen (u32 app_listener_index, transport_endpoint_t *tep)
 
u32 tls_stop_listen (u32 lctx_index)
 
transport_connection_ttls_connection_get (u32 ctx_index, u32 thread_index)
 
transport_connection_ttls_listener_get (u32 listener_index)
 
static transport_connection_ttls_half_open_get (u32 ho_index)
 
static void tls_cleanup_ho (u32 ho_index)
 
int tls_custom_tx_callback (void *session, transport_send_params_t *sp)
 
u8format_tls_ctx (u8 *s, va_list *args)
 
static u8format_tls_listener_ctx (u8 *s, va_list *args)
 
static u8format_tls_ctx_state (u8 *s, va_list *args)
 
u8format_tls_connection (u8 *s, va_list *args)
 
u8format_tls_listener (u8 *s, va_list *args)
 
u8format_tls_half_open (u8 *s, va_list *args)
 
static void tls_transport_endpoint_get (u32 ctx_handle, u32 thread_index, transport_endpoint_t *tep, u8 is_lcl)
 
static void tls_transport_listener_endpoint_get (u32 ctx_handle, transport_endpoint_t *tep, u8 is_lcl)
 
static clib_error_ttls_enable (vlib_main_t *vm, u8 is_en)
 
int dtls_connect (transport_endpoint_cfg_t *tep)
 
static transport_connection_tdtls_half_open_get (u32 ho_index)
 
static void dtls_cleanup_callback (u32 ctx_index, u32 thread_index)
 
static void dtls_cleanup_ho (u32 ho_index)
 
u8format_dtls_half_open (u8 *s, va_list *args)
 
void tls_register_engine (const tls_engine_vft_t *vft, crypto_engine_type_t type)
 
static clib_error_ttls_init (vlib_main_t *vm)
 
static clib_error_ttls_config_fn (vlib_main_t *vm, unformat_input_t *input)
 
tls_main_tvnet_tls_get_main (void)
 

Variables

static tls_main_t tls_main
 
static tls_engine_vft_ttls_vfts
 
static session_cb_vft_t tls_app_cb_vft
 
static const transport_proto_vft_t tls_proto
 
static const transport_proto_vft_t dtls_proto
 

Macro Definition Documentation

◆ TLS_ENGINE_TYPE_SHIFT

#define TLS_ENGINE_TYPE_SHIFT   28

Definition at line 25 of file tls.c.

◆ TLS_IDX_MASK

#define TLS_IDX_MASK   0x00FFFFFF

Definition at line 24 of file tls.c.

◆ TLS_INVALID_HANDLE

#define TLS_INVALID_HANDLE   ~0

Definition at line 23 of file tls.c.

Function Documentation

◆ dtls_cleanup_callback()

static void dtls_cleanup_callback ( u32  ctx_index,
u32  thread_index 
)
static

Definition at line 1236 of file tls.c.

◆ dtls_cleanup_ho()

static void dtls_cleanup_ho ( u32  ho_index)
static

Definition at line 1242 of file tls.c.

+ Here is the call graph for this function:

◆ dtls_connect()

int dtls_connect ( transport_endpoint_cfg_t tep)

Definition at line 1167 of file tls.c.

+ Here is the call graph for this function:

◆ dtls_half_open_get()

static transport_connection_t* dtls_half_open_get ( u32  ho_index)
static

Definition at line 1228 of file tls.c.

+ Here is the call graph for this function:

◆ dtls_migrate_ctx()

static void dtls_migrate_ctx ( void *  arg)
static

Definition at line 638 of file tls.c.

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

◆ dtls_session_connected_cb()

int dtls_session_connected_cb ( u32  app_wrk_index,
u32  ctx_handle,
session_t us,
session_error_t  err 
)

Definition at line 589 of file tls.c.

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

◆ dtls_session_migrate_callback()

static void dtls_session_migrate_callback ( session_t us,
session_handle_t  new_sh 
)
static

Definition at line 668 of file tls.c.

+ Here is the call graph for this function:

◆ format_dtls_half_open()

u8* format_dtls_half_open ( u8 s,
va_list *  args 
)

Definition at line 1250 of file tls.c.

◆ format_tls_connection()

u8* format_tls_connection ( u8 s,
va_list *  args 
)

Definition at line 1014 of file tls.c.

+ Here is the call graph for this function:

◆ format_tls_ctx()

u8* format_tls_ctx ( u8 s,
va_list *  args 
)

Definition at line 948 of file tls.c.

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

◆ format_tls_ctx_state()

static u8* format_tls_ctx_state ( u8 s,
va_list *  args 
)
static

Definition at line 987 of file tls.c.

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

◆ format_tls_half_open()

u8* format_tls_half_open ( u8 s,
va_list *  args 
)

Definition at line 1051 of file tls.c.

◆ format_tls_listener()

u8* format_tls_listener ( u8 s,
va_list *  args 
)

Definition at line 1037 of file tls.c.

◆ format_tls_listener_ctx()

static u8* format_tls_listener_ctx ( u8 s,
va_list *  args 
)
static

Definition at line 966 of file tls.c.

+ Here is the call graph for this function:

◆ tls_add_app_q_evt()

static int tls_add_app_q_evt ( app_worker_t app,
session_t app_session 
)
inlinestatic

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_segment_callback()

int tls_add_segment_callback ( u32  client_index,
u64  segment_handle 
)

Definition at line 443 of file tls.c.

◆ 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_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_app_rx_callback()

int tls_app_rx_callback ( session_t tls_session)

Definition at line 507 of file tls.c.

+ Here is the call graph for this function:

◆ tls_app_session_cleanup()

static void tls_app_session_cleanup ( session_t s,
session_cleanup_ntf_t  ntf 
)
static

Definition at line 619 of file tls.c.

+ Here is the call graph for this function:

◆ tls_app_tx_callback()

int tls_app_tx_callback ( session_t tls_session)

Definition at line 521 of file tls.c.

+ Here is the call graph for this function:

◆ tls_cleanup_ho()

static void tls_cleanup_ho ( u32  ho_index)
static

Definition at line 919 of file tls.c.

+ Here is the call graph for this function:

◆ tls_config_fn()

static clib_error_t* tls_config_fn ( vlib_main_t vm,
unformat_input_t input 
)
static

Definition at line 1332 of file tls.c.

+ Here is the call graph for this function:

◆ tls_connect()

int tls_connect ( transport_endpoint_cfg_t tep)

Definition at line 701 of file tls.c.

+ Here is the call graph for this function:

◆ tls_connection_get()

transport_connection_t* tls_connection_get ( u32  ctx_index,
u32  thread_index 
)

Definition at line 893 of file tls.c.

+ Here is the call graph for this function:

◆ tls_ctx_alloc()

static u32 tls_ctx_alloc ( crypto_engine_type_t  engine_type)
inlinestatic

Definition at line 303 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_alloc_w_thread()

static u32 tls_ctx_alloc_w_thread ( crypto_engine_type_t  engine_type,
u32  thread_index 
)
inlinestatic

Definition at line 311 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_app_close()

static int tls_ctx_app_close ( tls_ctx_t ctx)
inlinestatic

Definition at line 385 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_attach()

static u32 tls_ctx_attach ( crypto_engine_type_t  engine_type,
u32  thread_index,
void *  ctx 
)
inlinestatic

Definition at line 319 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_detach()

static void* tls_ctx_detach ( tls_ctx_t ctx)
inlinestatic

Definition at line 327 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_free()

void tls_ctx_free ( tls_ctx_t ctx)

Definition at line 391 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_get()

static tls_ctx_t* tls_ctx_get ( u32  ctx_handle)
inlinestatic

Definition at line 333 of file tls.c.

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

◆ tls_ctx_get_w_thread()

static tls_ctx_t* tls_ctx_get_w_thread ( u32  ctx_handle,
u8  thread_index 
)
inlinestatic

Definition at line 341 of file tls.c.

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

◆ tls_ctx_half_open_alloc()

u32 tls_ctx_half_open_alloc ( void  )

Definition at line 115 of file tls.c.

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

◆ tls_ctx_half_open_free()

void tls_ctx_half_open_free ( u32  ho_index)

Definition at line 144 of file tls.c.

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

◆ tls_ctx_half_open_get()

tls_ctx_t* tls_ctx_half_open_get ( u32  ctx_index)

Definition at line 153 of file tls.c.

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

◆ tls_ctx_half_open_index()

u32 tls_ctx_half_open_index ( tls_ctx_t ctx)

Definition at line 167 of file tls.c.

◆ tls_ctx_half_open_reader_unlock()

void tls_ctx_half_open_reader_unlock ( )

Definition at line 161 of file tls.c.

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

◆ tls_ctx_handshake_is_over()

u8 tls_ctx_handshake_is_over ( tls_ctx_t ctx)

Definition at line 397 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_init_client()

static int tls_ctx_init_client ( tls_ctx_t ctx)
inlinestatic

Definition at line 355 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_init_server()

static int tls_ctx_init_server ( tls_ctx_t ctx)
inlinestatic

Definition at line 349 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_parse_handle()

static void tls_ctx_parse_handle ( u32  ctx_handle,
u32 ctx_index,
u32 engine_type 
)
inlinestatic

Definition at line 281 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_read()

static int tls_ctx_read ( tls_ctx_t ctx,
session_t tls_session 
)
inlinestatic

Definition at line 373 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_transport_close()

static int tls_ctx_transport_close ( tls_ctx_t ctx)
inlinestatic

Definition at line 379 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_ctx_write()

static int tls_ctx_write ( tls_ctx_t ctx,
session_t app_session,
transport_send_params_t sp 
)
inlinestatic

Definition at line 361 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_custom_tx_callback()

int tls_custom_tx_callback ( void *  session,
transport_send_params_t sp 
)

Definition at line 933 of file tls.c.

+ Here is the call graph for this function:

◆ tls_del_segment_callback()

int tls_del_segment_callback ( u32  client_index,
u64  segment_handle 
)

Definition at line 450 of file tls.c.

◆ tls_disconnect()

void tls_disconnect ( u32  ctx_handle,
u32  thread_index 
)

Definition at line 763 of file tls.c.

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

◆ tls_disconnect_transport()

void tls_disconnect_transport ( tls_ctx_t ctx)

Definition at line 30 of file tls.c.

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

◆ tls_enable()

static clib_error_t* tls_enable ( vlib_main_t vm,
u8  is_en 
)
static

Definition at line 1095 of file tls.c.

+ Here is the call graph for this function:

◆ tls_get_available_engine()

crypto_engine_type_t tls_get_available_engine ( void  )

Definition at line 42 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_get_engine_type()

static crypto_engine_type_t tls_get_engine_type ( crypto_engine_type_t  requested,
crypto_engine_type_t  preferred 
)
inlinestatic

Definition at line 288 of file tls.c.

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

◆ tls_half_open_get()

static transport_connection_t* tls_half_open_get ( u32  ho_index)
static

Definition at line 909 of file tls.c.

+ Here is the call graph for this function:

◆ tls_init()

static clib_error_t* tls_init ( vlib_main_t vm)
static

Definition at line 1301 of file tls.c.

+ Here is the call graph for this function:

◆ tls_listener_ctx_alloc()

u32 tls_listener_ctx_alloc ( void  )

Definition at line 84 of file tls.c.

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

◆ tls_listener_ctx_free()

void tls_listener_ctx_free ( tls_ctx_t ctx)

Definition at line 95 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_listener_ctx_get()

tls_ctx_t* tls_listener_ctx_get ( u32  ctx_index)

Definition at line 103 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_listener_ctx_index()

u32 tls_listener_ctx_index ( tls_ctx_t ctx)

Definition at line 109 of file tls.c.

◆ tls_listener_get()

transport_connection_t* tls_listener_get ( u32  listener_index)

Definition at line 901 of file tls.c.

+ Here is the call graph for this function:

◆ tls_notify_app_accept()

int tls_notify_app_accept ( tls_ctx_t ctx)

Definition at line 182 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,
session_error_t  err 
)

Definition at line 212 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 173 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,
crypto_engine_type_t  type 
)

Definition at line 1294 of file tls.c.

+ Here is the caller graph for this function:

◆ tls_session_accept_callback()

int tls_session_accept_callback ( session_t tls_session)

Definition at line 472 of file tls.c.

+ Here is the call graph for this function:

◆ tls_session_cleanup_ho()

static void tls_session_cleanup_ho ( session_t s)
static

Definition at line 429 of file tls.c.

+ Here is the call graph for this function:

◆ tls_session_connected_callback()

int tls_session_connected_callback ( u32  tls_app_index,
u32  ho_ctx_index,
session_t tls_session,
session_error_t  err 
)

Definition at line 607 of file tls.c.

+ Here is the call graph for this function:

◆ tls_session_connected_cb()

int tls_session_connected_cb ( u32  tls_app_index,
u32  ho_ctx_index,
session_t tls_session,
session_error_t  err 
)

Definition at line 532 of file tls.c.

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

◆ tls_session_disconnect_callback()

void tls_session_disconnect_callback ( session_t tls_session)

Definition at line 456 of file tls.c.

+ Here is the call graph for this function:

◆ tls_session_reset_callback()

void tls_session_reset_callback ( session_t s)

Definition at line 403 of file tls.c.

+ Here is the call graph for this function:

◆ tls_start_listen()

u32 tls_start_listen ( u32  app_listener_index,
transport_endpoint_t tep 
)

Definition at line 774 of file tls.c.

+ Here is the call graph for this function:

◆ tls_stop_listen()

u32 tls_stop_listen ( u32  lctx_index)

Definition at line 855 of file tls.c.

+ Here is the call graph for this function:

◆ tls_transport_endpoint_get()

static void tls_transport_endpoint_get ( u32  ctx_handle,
u32  thread_index,
transport_endpoint_t tep,
u8  is_lcl 
)
static

Definition at line 1071 of file tls.c.

+ Here is the call graph for this function:

◆ tls_transport_listener_endpoint_get()

static void tls_transport_listener_endpoint_get ( u32  ctx_handle,
transport_endpoint_t tep,
u8  is_lcl 
)
static

Definition at line 1082 of file tls.c.

+ Here is the call graph for this function:

◆ vnet_tls_get_main()

tls_main_t* vnet_tls_get_main ( void  )

Definition at line 1364 of file tls.c.

+ Here is the caller graph for this function:

Variable Documentation

◆ dtls_proto

const transport_proto_vft_t dtls_proto
static
Initial value:
= {
.enable = 0,
.connect = dtls_connect,
.close = tls_disconnect,
.start_listen = tls_start_listen,
.stop_listen = tls_stop_listen,
.get_connection = tls_connection_get,
.get_listener = tls_listener_get,
.get_half_open = dtls_half_open_get,
.custom_tx = tls_custom_tx_callback,
.cleanup_ho = dtls_cleanup_ho,
.format_connection = format_tls_connection,
.format_half_open = format_dtls_half_open,
.format_listener = format_tls_listener,
.get_transport_endpoint = tls_transport_endpoint_get,
.get_transport_listener_endpoint = tls_transport_listener_endpoint_get,
.transport_options = {
.name = "dtls",
.short_name = "D",
.service_type = TRANSPORT_SERVICE_VC,
},
}
u8 * format_tls_connection(u8 *s, va_list *args)
Definition: tls.c:1014
transport_connection_t * tls_connection_get(u32 ctx_index, u32 thread_index)
Definition: tls.c:893
u8 * format_tls_listener(u8 *s, va_list *args)
Definition: tls.c:1037
static void tls_transport_listener_endpoint_get(u32 ctx_handle, transport_endpoint_t *tep, u8 is_lcl)
Definition: tls.c:1082
static void tls_transport_endpoint_get(u32 ctx_handle, u32 thread_index, transport_endpoint_t *tep, u8 is_lcl)
Definition: tls.c:1071
int dtls_connect(transport_endpoint_cfg_t *tep)
Definition: tls.c:1167
void tls_disconnect(u32 ctx_handle, u32 thread_index)
Definition: tls.c:763
transport_connection_t * tls_listener_get(u32 listener_index)
Definition: tls.c:901
virtual circuit service
static transport_connection_t * dtls_half_open_get(u32 ho_index)
Definition: tls.c:1228
apps acting as transports
u8 * format_dtls_half_open(u8 *s, va_list *args)
Definition: tls.c:1250
u32 tls_stop_listen(u32 lctx_index)
Definition: tls.c:855
static void dtls_cleanup_callback(u32 ctx_index, u32 thread_index)
Definition: tls.c:1236
static void dtls_cleanup_ho(u32 ho_index)
Definition: tls.c:1242
int tls_custom_tx_callback(void *session, transport_send_params_t *sp)
Definition: tls.c:933
u32 tls_start_listen(u32 app_listener_index, transport_endpoint_t *tep)
Definition: tls.c:774

Definition at line 1268 of file tls.c.

◆ tls_app_cb_vft

session_cb_vft_t tls_app_cb_vft
static
Initial value:
= {
.session_accept_callback = tls_session_accept_callback,
.session_disconnect_callback = tls_session_disconnect_callback,
.session_connected_callback = tls_session_connected_callback,
.session_reset_callback = tls_session_reset_callback,
.half_open_cleanup_callback = tls_session_cleanup_ho,
.add_segment_callback = tls_add_segment_callback,
.del_segment_callback = tls_del_segment_callback,
.builtin_app_rx_callback = tls_app_rx_callback,
.builtin_app_tx_callback = tls_app_tx_callback,
.session_migrate_callback = dtls_session_migrate_callback,
.session_cleanup_callback = tls_app_session_cleanup,
}
void tls_session_reset_callback(session_t *s)
Definition: tls.c:403
int tls_app_tx_callback(session_t *tls_session)
Definition: tls.c:521
void tls_session_disconnect_callback(session_t *tls_session)
Definition: tls.c:456
int tls_app_rx_callback(session_t *tls_session)
Definition: tls.c:507
static void dtls_session_migrate_callback(session_t *us, session_handle_t new_sh)
Definition: tls.c:668
int tls_del_segment_callback(u32 client_index, u64 segment_handle)
Definition: tls.c:450
int tls_session_accept_callback(session_t *tls_session)
Definition: tls.c:472
int tls_add_segment_callback(u32 client_index, u64 segment_handle)
Definition: tls.c:443
static void tls_session_cleanup_ho(session_t *s)
Definition: tls.c:429
static void tls_app_session_cleanup(session_t *s, session_cleanup_ntf_t ntf)
Definition: tls.c:619
int tls_session_connected_callback(u32 tls_app_index, u32 ho_ctx_index, session_t *tls_session, session_error_t err)
Definition: tls.c:607

Definition at line 686 of file tls.c.

◆ tls_main

tls_main_t tls_main
static

Definition at line 20 of file tls.c.

◆ tls_proto

const transport_proto_vft_t tls_proto
static
Initial value:
= {
.enable = tls_enable,
.connect = tls_connect,
.close = tls_disconnect,
.start_listen = tls_start_listen,
.stop_listen = tls_stop_listen,
.get_connection = tls_connection_get,
.get_listener = tls_listener_get,
.get_half_open = tls_half_open_get,
.cleanup_ho = tls_cleanup_ho,
.custom_tx = tls_custom_tx_callback,
.format_connection = format_tls_connection,
.format_half_open = format_tls_half_open,
.format_listener = format_tls_listener,
.get_transport_endpoint = tls_transport_endpoint_get,
.get_transport_listener_endpoint = tls_transport_listener_endpoint_get,
.transport_options = {
.name = "tls",
.short_name = "J",
.service_type = TRANSPORT_SERVICE_VC,
},
}
u8 * format_tls_connection(u8 *s, va_list *args)
Definition: tls.c:1014
transport_connection_t * tls_connection_get(u32 ctx_index, u32 thread_index)
Definition: tls.c:893
static void tls_cleanup_ho(u32 ho_index)
Definition: tls.c:919
u8 * format_tls_listener(u8 *s, va_list *args)
Definition: tls.c:1037
static void tls_transport_listener_endpoint_get(u32 ctx_handle, transport_endpoint_t *tep, u8 is_lcl)
Definition: tls.c:1082
static transport_connection_t * tls_half_open_get(u32 ho_index)
Definition: tls.c:909
static clib_error_t * tls_enable(vlib_main_t *vm, u8 is_en)
Definition: tls.c:1095
static void tls_transport_endpoint_get(u32 ctx_handle, u32 thread_index, transport_endpoint_t *tep, u8 is_lcl)
Definition: tls.c:1071
void tls_disconnect(u32 ctx_handle, u32 thread_index)
Definition: tls.c:763
transport_connection_t * tls_listener_get(u32 listener_index)
Definition: tls.c:901
virtual circuit service
int tls_connect(transport_endpoint_cfg_t *tep)
Definition: tls.c:701
apps acting as transports
u32 tls_stop_listen(u32 lctx_index)
Definition: tls.c:855
int tls_custom_tx_callback(void *session, transport_send_params_t *sp)
Definition: tls.c:933
u8 * format_tls_half_open(u8 *s, va_list *args)
Definition: tls.c:1051
u32 tls_start_listen(u32 app_listener_index, transport_endpoint_t *tep)
Definition: tls.c:774

Definition at line 1142 of file tls.c.

◆ tls_vfts

tls_engine_vft_t* tls_vfts
static

Definition at line 21 of file tls.c.