FD.io VPP  v18.07.1-19-g511ce25
Vector Packet Processing
tls_async.c File Reference
+ Include dependency graph for tls_async.c:

Go to the source code of this file.

Data Structures

struct  openssl_tls_callback_arg_
 
struct  openssl_event_
 
struct  openssl_async_status_
 
struct  openssl_async_
 
struct  engine_polling
 

Macros

#define MAX_SESSION   4096
 
#define MAX_VECTOR_ASYNC   256
 
#define SSL_ASYNC_INFLIGHT   1
 
#define SSL_ASYNC_PENDING   2
 
#define SSL_ASYNC_READY   3
 
#define EMPTY_STRUCT   {0}
 
#define QAT_CMD_POLL   (ENGINE_CMD_BASE + 1)
 

Typedefs

typedef struct openssl_tls_callback_arg_ openssl_tls_callback_arg_t
 
typedef struct openssl_event_ openssl_evt_t
 
typedef struct openssl_async_status_ openssl_async_status_t
 
typedef struct openssl_async_ openssl_async_t
 

Functions

void qat_polling ()
 
void qat_pre_init ()
 
void dasync_polling ()
 
void session_send_rpc_evt_to_thread (u32 thread_index, void *fp, void *rpc_args)
 
void evt_pool_init (vlib_main_t *vm)
 
int openssl_engine_register (char *engine_name, char *algorithm)
 
static openssl_evt_topenssl_evt_get (u32 evt_index)
 
static openssl_evt_topenssl_evt_get_w_thread (int evt_index, u8 thread_index)
 
int openssl_evt_free (int event_idx, u8 thread_index)
 
static u32 openssl_evt_alloc (void)
 
int openssl_async_run (void *evt)
 
openssl_tls_callback_tvpp_add_async_pending_event (tls_ctx_t *ctx, openssl_resume_handler *handler)
 
void event_handler (void *tls_async)
 
void qat_polling_config ()
 
void openssl_async_polling ()
 
void openssl_async_node_enable_disable (u8 is_en)
 
int tls_async_do_job (int eidx, u32 thread_index)
 
int tls_resume_from_crypto (int thread_index)
 
static clib_error_ttls_async_init (vlib_main_t *vm)
 
static uword tls_async_process (vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
 

Variables

struct engine_polling engine_list []
 
openssl_async_t openssl_async_main
 
static vlib_node_registration_t tls_async_process_node
 (constructor) VLIB_REGISTER_NODE (tls_async_process_node) More...
 

Macro Definition Documentation

#define EMPTY_STRUCT   {0}

Definition at line 30 of file tls_async.c.

#define MAX_SESSION   4096

Definition at line 23 of file tls_async.c.

#define MAX_VECTOR_ASYNC   256

Definition at line 24 of file tls_async.c.

#define QAT_CMD_POLL   (ENGINE_CMD_BASE + 1)
#define SSL_ASYNC_INFLIGHT   1

Definition at line 26 of file tls_async.c.

#define SSL_ASYNC_PENDING   2

Definition at line 27 of file tls_async.c.

#define SSL_ASYNC_READY   3

Definition at line 28 of file tls_async.c.

Typedef Documentation

typedef struct openssl_event_ openssl_evt_t

Function Documentation

void dasync_polling ( )

Definition at line 340 of file tls_async.c.

+ Here is the call graph for this function:

void event_handler ( void *  tls_async)

Definition at line 311 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void evt_pool_init ( vlib_main_t vm)

Definition at line 94 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void openssl_async_node_enable_disable ( u8  is_en)

Definition at line 419 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void openssl_async_polling ( )

Definition at line 409 of file tls_async.c.

+ Here is the caller graph for this function:

int openssl_async_run ( void *  evt)

Definition at line 246 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int openssl_engine_register ( char *  engine_name,
char *  algorithm 
)

Definition at line 125 of file tls_async.c.

+ Here is the caller graph for this function:

static u32 openssl_evt_alloc ( void  )
static

Definition at line 230 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int openssl_evt_free ( int  event_idx,
u8  thread_index 
)

Definition at line 207 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static openssl_evt_t* openssl_evt_get ( u32  evt_index)
static

Definition at line 187 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static openssl_evt_t* openssl_evt_get_w_thread ( int  evt_index,
u8  thread_index 
)
static

Definition at line 197 of file tls_async.c.

+ Here is the caller graph for this function:

void qat_polling ( )

Definition at line 394 of file tls_async.c.

+ Here is the call graph for this function:

void qat_polling_config ( )

Definition at line 374 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void qat_pre_init ( )

Definition at line 365 of file tls_async.c.

void session_send_rpc_evt_to_thread ( u32  thread_index,
void *  fp,
void *  rpc_args 
)

Definition at line 68 of file session.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int tls_async_do_job ( int  eidx,
u32  thread_index 
)

Definition at line 431 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static clib_error_t* tls_async_init ( vlib_main_t vm)
static

Definition at line 482 of file tls_async.c.

+ Here is the call graph for this function:

static uword tls_async_process ( vlib_main_t vm,
vlib_node_runtime_t rt,
vlib_frame_t f 
)
static

Definition at line 492 of file tls_async.c.

+ Here is the call graph for this function:

int tls_resume_from_crypto ( int  thread_index)

Definition at line 449 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

openssl_tls_callback_t* vpp_add_async_pending_event ( tls_ctx_t ctx,
openssl_resume_handler handler 
)

Definition at line 280 of file tls_async.c.

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Variable Documentation

struct engine_polling engine_list[]
Initial value:
= {
{"dasync", dasync_polling, NULL}
}
void qat_polling()
Definition: tls_async.c:394
#define NULL
Definition: clib.h:55
void qat_pre_init()
Definition: tls_async.c:365
void dasync_polling()
Definition: tls_async.c:340

Definition at line 81 of file tls_async.c.

openssl_async_t openssl_async_main

Definition at line 86 of file tls_async.c.

static vlib_node_registration_t tls_async_process_node
static
Initial value:
= {
.function = tls_async_process,
.name = "tls-async-process",
}
static uword tls_async_process(vlib_main_t *vm, vlib_node_runtime_t *rt, vlib_frame_t *f)
Definition: tls_async.c:492

(constructor) VLIB_REGISTER_NODE (tls_async_process_node)

Definition at line 87 of file tls_async.c.