FD.io VPP  v21.06-3-gbb25fbf28
Vector Packet Processing
cryptodev_raw_data_path.c File Reference
+ Include dependency graph for cryptodev_raw_data_path.c:

Go to the source code of this file.

Macros

#define always_inline   static inline
 
#define GET_RING_OBJ(r, pos, f)
 

Functions

static_always_inline u64 compute_ofs_linked_alg (vnet_crypto_async_frame_elt_t *fe, i16 *min_ofs, u32 *max_end)
 
static_always_inline int cryptodev_frame_build_sgl (vlib_main_t *vm, enum rte_iova_mode iova_mode, struct rte_crypto_vec *data_vec, u16 *n_seg, vlib_buffer_t *b, u32 size)
 
static_always_inline void cryptodev_reset_ctx (cryptodev_engine_thread_t *cet)
 
static_always_inline int cryptodev_frame_linked_algs_enqueue (vlib_main_t *vm, vnet_crypto_async_frame_t *frame, cryptodev_op_type_t op_type)
 
static_always_inline int cryptodev_raw_aead_enqueue (vlib_main_t *vm, vnet_crypto_async_frame_t *frame, cryptodev_op_type_t op_type, u8 aad_len)
 
static_always_inline u32 cryptodev_get_frame_n_elts (void *frame)
 
static_always_inline void cryptodev_post_dequeue (void *frame, u32 index, u8 is_op_success)
 
static_always_inline vnet_crypto_async_frame_tcryptodev_raw_dequeue (vlib_main_t *vm, u32 *nb_elts_processed, u32 *enqueue_thread_idx)
 
static_always_inline int cryptodev_raw_enq_aead_aad_8_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_raw_enq_aead_aad_12_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_raw_enq_aead_aad_8_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_raw_enq_aead_aad_12_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_raw_enq_linked_alg_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_raw_enq_linked_alg_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
clib_error_tcryptodev_register_raw_hdl (vlib_main_t *vm, u32 eidx)
 

Macro Definition Documentation

◆ always_inline

#define always_inline   static inline

Definition at line 38 of file cryptodev_raw_data_path.c.

◆ GET_RING_OBJ

#define GET_RING_OBJ (   r,
  pos,
  f 
)
Value:
do \
{ \
vnet_crypto_async_frame_t **ring = (void *) &r[1]; \
f = ring[(r->cons.head + pos) & r->mask]; \
} \
while (0)

Definition at line 412 of file cryptodev_raw_data_path.c.

Function Documentation

◆ compute_ofs_linked_alg()

static_always_inline u64 compute_ofs_linked_alg ( vnet_crypto_async_frame_elt_t fe,
i16 min_ofs,
u32 max_end 
)

Definition at line 44 of file cryptodev_raw_data_path.c.

+ Here is the caller graph for this function:

◆ cryptodev_frame_build_sgl()

static_always_inline int cryptodev_frame_build_sgl ( vlib_main_t vm,
enum rte_iova_mode  iova_mode,
struct rte_crypto_vec *  data_vec,
u16 n_seg,
vlib_buffer_t b,
u32  size 
)

Definition at line 64 of file cryptodev_raw_data_path.c.

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

◆ cryptodev_frame_linked_algs_enqueue()

static_always_inline int cryptodev_frame_linked_algs_enqueue ( vlib_main_t vm,
vnet_crypto_async_frame_t frame,
cryptodev_op_type_t  op_type 
)

Definition at line 109 of file cryptodev_raw_data_path.c.

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

◆ cryptodev_get_frame_n_elts()

static_always_inline u32 cryptodev_get_frame_n_elts ( void *  frame)

Definition at line 397 of file cryptodev_raw_data_path.c.

+ Here is the caller graph for this function:

◆ cryptodev_post_dequeue()

static_always_inline void cryptodev_post_dequeue ( void *  frame,
u32  index,
u8  is_op_success 
)

Definition at line 404 of file cryptodev_raw_data_path.c.

+ Here is the caller graph for this function:

◆ cryptodev_raw_aead_enqueue()

static_always_inline int cryptodev_raw_aead_enqueue ( vlib_main_t vm,
vnet_crypto_async_frame_t frame,
cryptodev_op_type_t  op_type,
u8  aad_len 
)

Definition at line 241 of file cryptodev_raw_data_path.c.

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

◆ cryptodev_raw_dequeue()

static_always_inline vnet_crypto_async_frame_t* cryptodev_raw_dequeue ( vlib_main_t vm,
u32 nb_elts_processed,
u32 enqueue_thread_idx 
)

Definition at line 421 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_aead_aad_12_dec()

static_always_inline int cryptodev_raw_enq_aead_aad_12_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 595 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_aead_aad_12_enc()

static_always_inline int cryptodev_raw_enq_aead_aad_12_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 582 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_aead_aad_8_dec()

static_always_inline int cryptodev_raw_enq_aead_aad_8_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 589 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_aead_aad_8_enc()

static_always_inline int cryptodev_raw_enq_aead_aad_8_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 576 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_linked_alg_dec()

static_always_inline int cryptodev_raw_enq_linked_alg_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 610 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_raw_enq_linked_alg_enc()

static_always_inline int cryptodev_raw_enq_linked_alg_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 602 of file cryptodev_raw_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_register_raw_hdl()

clib_error_t* cryptodev_register_raw_hdl ( vlib_main_t vm,
u32  eidx 
)

INDENT-OFF

Definition at line 618 of file cryptodev_raw_data_path.c.

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

◆ cryptodev_reset_ctx()

static_always_inline void cryptodev_reset_ctx ( cryptodev_engine_thread_t cet)

Definition at line 95 of file cryptodev_raw_data_path.c.

+ Here is the caller graph for this function:
r
vnet_hw_if_output_node_runtime_t * r
Definition: interface_output.c:1071