FD.io VPP  v20.09-64-g4f7b92f0a
Vector Packet Processing
main.c File Reference
+ Include dependency graph for main.c:

Go to the source code of this file.

Functions

int crypto_sw_scheduler_set_worker_crypto (u32 worker_idx, u8 enabled)
 
static void crypto_sw_scheduler_key_handler (vlib_main_t *vm, vnet_crypto_key_op_t kop, vnet_crypto_key_index_t idx)
 
static int crypto_sw_scheduler_frame_enqueue (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline vnet_crypto_async_frame_tcrypto_sw_scheduler_get_pending_frame (crypto_sw_scheduler_queue_t *q)
 
static_always_inline vnet_crypto_async_frame_tcrypto_sw_scheduler_get_completed_frame (crypto_sw_scheduler_queue_t *q)
 
static_always_inline void cryptodev_sw_scheduler_sgl (vlib_main_t *vm, crypto_sw_scheduler_per_thread_data_t *ptd, vlib_buffer_t *b, vnet_crypto_op_t *op, i32 offset, i32 len)
 
static_always_inline void crypto_sw_scheduler_convert_aead (vlib_main_t *vm, crypto_sw_scheduler_per_thread_data_t *ptd, vnet_crypto_async_frame_elt_t *fe, u32 index, u32 bi, vnet_crypto_op_id_t op_id, u16 aad_len, u8 tag_len)
 
static_always_inline void crypto_sw_scheduler_convert_link_crypto (vlib_main_t *vm, crypto_sw_scheduler_per_thread_data_t *ptd, vnet_crypto_key_t *key, vnet_crypto_async_frame_elt_t *fe, u32 index, u32 bi, vnet_crypto_op_id_t crypto_op_id, vnet_crypto_op_id_t integ_op_id, u32 digest_len, u8 is_enc)
 
static_always_inline void process_ops (vlib_main_t *vm, vnet_crypto_async_frame_t *f, vnet_crypto_op_t *ops, u8 *state)
 
static_always_inline void process_chained_ops (vlib_main_t *vm, vnet_crypto_async_frame_t *f, vnet_crypto_op_t *ops, vnet_crypto_op_chunk_t *chunks, u8 *state)
 
static_always_inline vnet_crypto_async_frame_tcrypto_sw_scheduler_dequeue_aead (vlib_main_t *vm, vnet_crypto_async_op_id_t async_op_id, vnet_crypto_op_id_t sync_op_id, u8 tag_len, u8 aad_len, u32 *nb_elts_processed, u32 *enqueue_thread_idx)
 
static_always_inline vnet_crypto_async_frame_tcrypto_sw_scheduler_dequeue_link (vlib_main_t *vm, vnet_crypto_async_op_id_t async_op_id, vnet_crypto_op_id_t sync_crypto_op_id, vnet_crypto_op_id_t sync_integ_op_id, u16 digest_len, u8 is_enc, u32 *nb_elts_processed, u32 *enqueue_thread_idx)
 
static clib_error_tsw_scheduler_set_worker_crypto (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
static clib_error_tsw_scheduler_show_workers (vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
 
clib_error_tsw_scheduler_cli_init (vlib_main_t *vm)
 
clib_error_tcrypto_sw_scheduler_init (vlib_main_t *vm)
 
 VLIB_PLUGIN_REGISTER ()
 

Variables

static vlib_cli_command_t cmd_set_sw_scheduler_worker_crypto
 (constructor) VLIB_CLI_COMMAND (cmd_set_sw_scheduler_worker_crypto) More...
 
static vlib_cli_command_t cmd_show_sw_scheduler_workers
 (constructor) VLIB_CLI_COMMAND (cmd_show_sw_scheduler_workers) More...
 
foreach_crypto_link_async_alg crypto_sw_scheduler_main_t crypto_sw_scheduler_main
 

Function Documentation

◆ crypto_sw_scheduler_convert_aead()

static_always_inline void crypto_sw_scheduler_convert_aead ( vlib_main_t vm,
crypto_sw_scheduler_per_thread_data_t ptd,
vnet_crypto_async_frame_elt_t fe,
u32  index,
u32  bi,
vnet_crypto_op_id_t  op_id,
u16  aad_len,
u8  tag_len 
)

Definition at line 183 of file main.c.

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

◆ crypto_sw_scheduler_convert_link_crypto()

static_always_inline void crypto_sw_scheduler_convert_link_crypto ( vlib_main_t vm,
crypto_sw_scheduler_per_thread_data_t ptd,
vnet_crypto_key_t key,
vnet_crypto_async_frame_elt_t fe,
u32  index,
u32  bi,
vnet_crypto_op_id_t  crypto_op_id,
vnet_crypto_op_id_t  integ_op_id,
u32  digest_len,
u8  is_enc 
)

Definition at line 218 of file main.c.

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

◆ crypto_sw_scheduler_dequeue_aead()

static_always_inline vnet_crypto_async_frame_t* crypto_sw_scheduler_dequeue_aead ( vlib_main_t vm,
vnet_crypto_async_op_id_t  async_op_id,
vnet_crypto_op_id_t  sync_op_id,
u8  tag_len,
u8  aad_len,
u32 nb_elts_processed,
u32 enqueue_thread_idx 
)

Definition at line 321 of file main.c.

+ Here is the call graph for this function:

◆ crypto_sw_scheduler_dequeue_link()

static_always_inline vnet_crypto_async_frame_t* crypto_sw_scheduler_dequeue_link ( vlib_main_t vm,
vnet_crypto_async_op_id_t  async_op_id,
vnet_crypto_op_id_t  sync_crypto_op_id,
vnet_crypto_op_id_t  sync_integ_op_id,
u16  digest_len,
u8  is_enc,
u32 nb_elts_processed,
u32 enqueue_thread_idx 
)

Definition at line 385 of file main.c.

+ Here is the call graph for this function:

◆ crypto_sw_scheduler_frame_enqueue()

static int crypto_sw_scheduler_frame_enqueue ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)
static

Definition at line 77 of file main.c.

◆ crypto_sw_scheduler_get_completed_frame()

static_always_inline vnet_crypto_async_frame_t* crypto_sw_scheduler_get_completed_frame ( crypto_sw_scheduler_queue_t q)

Definition at line 126 of file main.c.

+ Here is the caller graph for this function:

◆ crypto_sw_scheduler_get_pending_frame()

static_always_inline vnet_crypto_async_frame_t* crypto_sw_scheduler_get_pending_frame ( crypto_sw_scheduler_queue_t q)

Definition at line 103 of file main.c.

+ Here is the caller graph for this function:

◆ crypto_sw_scheduler_init()

clib_error_t* crypto_sw_scheduler_init ( vlib_main_t vm)

Definition at line 628 of file main.c.

+ Here is the call graph for this function:

◆ crypto_sw_scheduler_key_handler()

static void crypto_sw_scheduler_key_handler ( vlib_main_t vm,
vnet_crypto_key_op_t  kop,
vnet_crypto_key_index_t  idx 
)
static

Definition at line 54 of file main.c.

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

◆ crypto_sw_scheduler_set_worker_crypto()

int crypto_sw_scheduler_set_worker_crypto ( u32  worker_idx,
u8  enabled 
)

Definition at line 23 of file main.c.

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

◆ cryptodev_sw_scheduler_sgl()

static_always_inline void cryptodev_sw_scheduler_sgl ( vlib_main_t vm,
crypto_sw_scheduler_per_thread_data_t ptd,
vlib_buffer_t b,
vnet_crypto_op_t op,
i32  offset,
i32  len 
)

Definition at line 143 of file main.c.

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

◆ process_chained_ops()

static_always_inline void process_chained_ops ( vlib_main_t vm,
vnet_crypto_async_frame_t f,
vnet_crypto_op_t ops,
vnet_crypto_op_chunk_t chunks,
u8 state 
)

Definition at line 294 of file main.c.

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

◆ process_ops()

static_always_inline void process_ops ( vlib_main_t vm,
vnet_crypto_async_frame_t f,
vnet_crypto_op_t ops,
u8 state 
)

Definition at line 268 of file main.c.

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

◆ sw_scheduler_cli_init()

clib_error_t* sw_scheduler_cli_init ( vlib_main_t vm)

Definition at line 575 of file main.c.

◆ sw_scheduler_set_worker_crypto()

static clib_error_t* sw_scheduler_set_worker_crypto ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 473 of file main.c.

+ Here is the call graph for this function:

◆ sw_scheduler_show_workers()

static clib_error_t* sw_scheduler_show_workers ( vlib_main_t vm,
unformat_input_t input,
vlib_cli_command_t cmd 
)
static

Definition at line 539 of file main.c.

+ Here is the call graph for this function:

◆ VLIB_PLUGIN_REGISTER()

VLIB_PLUGIN_REGISTER ( )

Variable Documentation

◆ cmd_set_sw_scheduler_worker_crypto

vlib_cli_command_t cmd_set_sw_scheduler_worker_crypto
static
Initial value:
= {
.path = "set sw_scheduler",
.short_help = "set sw_scheduler worker <idx> crypto <on|off>",
.is_mp_safe = 1,
}
static clib_error_t * sw_scheduler_set_worker_crypto(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: main.c:473

(constructor) VLIB_CLI_COMMAND (cmd_set_sw_scheduler_worker_crypto)

Definition at line 530 of file main.c.

◆ cmd_show_sw_scheduler_workers

vlib_cli_command_t cmd_show_sw_scheduler_workers
static
Initial value:
= {
.path = "show sw_scheduler workers",
.short_help = "show sw_scheduler workers",
.is_mp_safe = 1,
}
static clib_error_t * sw_scheduler_show_workers(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)
Definition: main.c:539

(constructor) VLIB_CLI_COMMAND (cmd_show_sw_scheduler_workers)

Definition at line 566 of file main.c.

◆ crypto_sw_scheduler_main

Definition at line 626 of file main.c.