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

Go to the source code of this file.

Macros

#define always_inline   static inline
 
#define CRYPTODEV_AAD_OFFSET   (offsetof (cryptodev_op_t, aad))
 
#define foreach_vnet_crypto_status_conversion
 

Functions

static_always_inline rte_iova_t cryptodev_get_iova (clib_pmalloc_main_t *pm, enum rte_iova_mode mode, void *data)
 
static_always_inline void cryptodev_validate_mbuf_chain (vlib_main_t *vm, struct rte_mbuf *mb, vlib_buffer_t *b)
 
static_always_inline void crypto_op_init (struct rte_mempool *mempool, void *_arg, void *_obj, unsigned i)
 
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_frame_aead_enqueue (vlib_main_t *vm, vnet_crypto_async_frame_t *frame, cryptodev_op_type_t op_type, u8 aad_len)
 
static_always_inline u16 cryptodev_ring_deq (struct rte_ring *r, cryptodev_op_t **cops)
 
static_always_inline vnet_crypto_async_frame_tcryptodev_frame_dequeue (vlib_main_t *vm, u32 *nb_elts_processed, u32 *enqueue_thread_idx)
 
static_always_inline int cryptodev_enqueue_aead_aad_8_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_enqueue_aead_aad_12_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_enqueue_aead_aad_8_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_enqueue_aead_aad_12_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_enqueue_linked_alg_enc (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
static_always_inline int cryptodev_enqueue_linked_alg_dec (vlib_main_t *vm, vnet_crypto_async_frame_t *frame)
 
clib_error_tcryptodev_register_cop_hdl (vlib_main_t *vm, u32 eidx)
 

Variables

static const vnet_crypto_op_status_t cryptodev_status_conversion []
 

Macro Definition Documentation

◆ always_inline

#define always_inline   static inline

Definition at line 37 of file cryptodev_op_data_path.c.

◆ CRYPTODEV_AAD_OFFSET

#define CRYPTODEV_AAD_OFFSET   (offsetof (cryptodev_op_t, aad))

Definition at line 42 of file cryptodev_op_data_path.c.

◆ foreach_vnet_crypto_status_conversion

#define foreach_vnet_crypto_status_conversion
Value:
_ (SUCCESS, COMPLETED) \
_ (NOT_PROCESSED, WORK_IN_PROGRESS) \
_ (AUTH_FAILED, FAIL_BAD_HMAC) \
_ (INVALID_SESSION, FAIL_ENGINE_ERR) \
_ (INVALID_ARGS, FAIL_ENGINE_ERR) \
_ (ERROR, FAIL_ENGINE_ERR)

Definition at line 44 of file cryptodev_op_data_path.c.

Function Documentation

◆ crypto_op_init()

static_always_inline void crypto_op_init ( struct rte_mempool *  mempool,
void *  _arg,
void *  _obj,
unsigned  i 
)

Definition at line 109 of file cryptodev_op_data_path.c.

+ Here is the caller graph for this function:

◆ cryptodev_enqueue_aead_aad_12_dec()

static_always_inline int cryptodev_enqueue_aead_aad_12_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 485 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_enqueue_aead_aad_12_enc()

static_always_inline int cryptodev_enqueue_aead_aad_12_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 470 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_enqueue_aead_aad_8_dec()

static_always_inline int cryptodev_enqueue_aead_aad_8_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 478 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_enqueue_aead_aad_8_enc()

static_always_inline int cryptodev_enqueue_aead_aad_8_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 463 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_enqueue_linked_alg_dec()

static_always_inline int cryptodev_enqueue_linked_alg_dec ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 501 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_enqueue_linked_alg_enc()

static_always_inline int cryptodev_enqueue_linked_alg_enc ( vlib_main_t vm,
vnet_crypto_async_frame_t frame 
)

Definition at line 493 of file cryptodev_op_data_path.c.

+ Here is the call graph for this function:

◆ cryptodev_frame_aead_enqueue()

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

Definition at line 242 of file cryptodev_op_data_path.c.

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

◆ cryptodev_frame_dequeue()

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

Definition at line 395 of file cryptodev_op_data_path.c.

+ Here is the call 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 123 of file cryptodev_op_data_path.c.

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

◆ cryptodev_get_iova()

static_always_inline rte_iova_t cryptodev_get_iova ( clib_pmalloc_main_t pm,
enum rte_iova_mode  mode,
void *  data 
)

Definition at line 59 of file cryptodev_op_data_path.c.

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

◆ cryptodev_register_cop_hdl()

clib_error_t* cryptodev_register_cop_hdl ( vlib_main_t vm,
u32  eidx 
)

INDENT-OFF

INDENT-ON

Definition at line 509 of file cryptodev_op_data_path.c.

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

◆ cryptodev_ring_deq()

static_always_inline u16 cryptodev_ring_deq ( struct rte_ring *  r,
cryptodev_op_t **  cops 
)

Definition at line 375 of file cryptodev_op_data_path.c.

+ Here is the caller graph for this function:

◆ cryptodev_validate_mbuf_chain()

static_always_inline void cryptodev_validate_mbuf_chain ( vlib_main_t vm,
struct rte_mbuf *  mb,
vlib_buffer_t b 
)

< last mbuf

Definition at line 71 of file cryptodev_op_data_path.c.

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

Variable Documentation

◆ cryptodev_status_conversion

const vnet_crypto_op_status_t cryptodev_status_conversion[]
static
Initial value:

Definition at line 52 of file cryptodev_op_data_path.c.

foreach_vnet_crypto_status_conversion
#define foreach_vnet_crypto_status_conversion
Definition: cryptodev_op_data_path.c:44