FD.io VPP
v21.06-3-gbb25fbf28
Vector Packet Processing
|
Go to the source code of this file.
Data Structures | |
struct | vnet_crypto_key_t |
struct | vnet_crypto_alg_data_t |
struct | vnet_crypto_op_chunk_t |
struct | vnet_crypto_op_t |
struct | vnet_crypto_op_data_t |
struct | vnet_crypto_async_op_data_t |
struct | vnet_crypto_async_alg_data_t |
struct | vnet_crypto_async_frame_elt_t |
struct | vnet_crypto_async_frame_t |
struct | vnet_crypto_thread_t |
struct | vnet_crypto_engine_t |
struct | vnet_crypto_async_next_node_t |
struct | vnet_crypto_main_t |
Macros | |
#define | VNET_CRYPTO_FRAME_SIZE 64 |
#define | VNET_CRYPTO_FRAME_POOL_SIZE 1024 |
#define | foreach_crypto_cipher_alg |
#define | foreach_crypto_aead_alg |
#define | foreach_crypto_hash_alg |
#define | foreach_crypto_hmac_alg |
#define | foreach_crypto_op_type |
#define | foreach_crypto_op_status |
#define | foreach_crypto_aead_async_alg |
async crypto More... | |
#define | foreach_crypto_link_async_alg |
#define | foreach_crypto_async_op_type |
#define | VNET_CRYPTO_KEY_TYPE_DATA 0 |
#define | VNET_CRYPTO_KEY_TYPE_LINK 1 |
#define | VNET_CRYPTO_OP_FLAG_INIT_IV (1 << 0) |
#define | VNET_CRYPTO_OP_FLAG_HMAC_CHECK (1 << 1) |
#define | VNET_CRYPTO_OP_FLAG_CHAINED_BUFFERS (1 << 2) |
#define | VNET_CRYPTO_ASYNC_DISPATCH_POLLING 0 |
#define | VNET_CRYPTO_ASYNC_DISPATCH_INTERRUPT 1 |
Typedefs | |
typedef enum vnet_crypto_async_frame_state_t_ | vnet_crypto_async_frame_state_t |
typedef u32 | vnet_crypto_key_index_t |
typedef u32() | vnet_crypto_chained_ops_handler_t(vlib_main_t *vm, vnet_crypto_op_t *ops[], vnet_crypto_op_chunk_t *chunks, u32 n_ops) |
typedef u32() | vnet_crypto_ops_handler_t(vlib_main_t *vm, vnet_crypto_op_t *ops[], u32 n_ops) |
typedef void() | vnet_crypto_key_handler_t(vlib_main_t *vm, vnet_crypto_key_op_t kop, vnet_crypto_key_index_t idx) |
typedef int() | vnet_crypto_frame_enqueue_t(vlib_main_t *vm, vnet_crypto_async_frame_t *frame) |
async crypto function handlers More... | |
typedef vnet_crypto_async_frame_t *() | vnet_crypto_frame_dequeue_t(vlib_main_t *vm, u32 *nb_elts_processed, u32 *enqueue_thread_idx) |
#define foreach_crypto_aead_alg |
#define foreach_crypto_aead_async_alg |
async crypto
#define foreach_crypto_async_op_type |
#define foreach_crypto_cipher_alg |
#define foreach_crypto_hash_alg |
#define foreach_crypto_hmac_alg |
#define foreach_crypto_link_async_alg |
#define foreach_crypto_op_status |
#define foreach_crypto_op_type |
typedef u32() vnet_crypto_chained_ops_handler_t(vlib_main_t *vm, vnet_crypto_op_t *ops[], vnet_crypto_op_chunk_t *chunks, u32 n_ops) |
typedef vnet_crypto_async_frame_t*() vnet_crypto_frame_dequeue_t(vlib_main_t *vm, u32 *nb_elts_processed, u32 *enqueue_thread_idx) |
typedef int() vnet_crypto_frame_enqueue_t(vlib_main_t *vm, vnet_crypto_async_frame_t *frame) |
typedef void() vnet_crypto_key_handler_t(vlib_main_t *vm, vnet_crypto_key_op_t kop, vnet_crypto_key_index_t idx) |
typedef u32 vnet_crypto_key_index_t |
typedef u32() vnet_crypto_ops_handler_t(vlib_main_t *vm, vnet_crypto_op_t *ops[], u32 n_ops) |
enum vnet_crypto_alg_t |
enum vnet_crypto_key_op_t |
enum vnet_crypto_op_id_t |
clib_error_t* crypto_dispatch_enable_disable | ( | int | is_enable | ) |
STATIC_ASSERT_SIZEOF | ( | vnet_crypto_async_frame_elt_t | , |
5 * | sizeofu64 | ||
) |
STATIC_ASSERT_SIZEOF | ( | vnet_crypto_op_t | , |
CLIB_CACHE_LINE_BYTES | |||
) |
static_always_inline void vnet_crypto_async_add_to_frame | ( | vlib_main_t * | vm, |
vnet_crypto_async_frame_t * | f, | ||
u32 | key_index, | ||
u32 | crypto_len, | ||
i16 | integ_len_adj, | ||
i16 | crypto_start_offset, | ||
u16 | integ_start_offset, | ||
u32 | buffer_index, | ||
u16 | next_node, | ||
u8 * | iv, | ||
u8 * | tag, | ||
u8 * | aad, | ||
u8 | flags | ||
) |
static_always_inline u8 vnet_crypto_async_frame_is_full | ( | const vnet_crypto_async_frame_t * | f | ) |
static_always_inline void vnet_crypto_async_free_frame | ( | vlib_main_t * | vm, |
vnet_crypto_async_frame_t * | frame | ||
) |
static_always_inline vnet_crypto_async_frame_t* vnet_crypto_async_get_frame | ( | vlib_main_t * | vm, |
vnet_crypto_async_op_id_t | opt | ||
) |
static_always_inline void vnet_crypto_async_reset_frame | ( | vnet_crypto_async_frame_t * | f | ) |
static_always_inline int vnet_crypto_async_submit_open_frame | ( | vlib_main_t * | vm, |
vnet_crypto_async_frame_t * | frame | ||
) |
static_always_inline vnet_crypto_key_t* vnet_crypto_get_key | ( | vnet_crypto_key_index_t | index | ) |
static_always_inline vnet_crypto_op_type_t vnet_crypto_get_op_type | ( | vnet_crypto_op_id_t | id | ) |
int vnet_crypto_is_set_async_handler | ( | vnet_crypto_async_op_id_t | opt | ) |
int vnet_crypto_is_set_handler | ( | vnet_crypto_alg_t | alg | ) |
u32 vnet_crypto_key_add | ( | vlib_main_t * | vm, |
vnet_crypto_alg_t | alg, | ||
u8 * | data, | ||
u16 | length | ||
) |
u32 vnet_crypto_key_add_linked | ( | vlib_main_t * | vm, |
vnet_crypto_key_index_t | index_crypto, | ||
vnet_crypto_key_index_t | index_integ | ||
) |
void vnet_crypto_key_del | ( | vlib_main_t * | vm, |
vnet_crypto_key_index_t | index | ||
) |
vnet_crypto_async_alg_t vnet_crypto_link_algs | ( | vnet_crypto_alg_t | crypto_alg, |
vnet_crypto_alg_t | integ_alg | ||
) |
static_always_inline void vnet_crypto_op_init | ( | vnet_crypto_op_t * | op, |
vnet_crypto_op_id_t | type | ||
) |
u32 vnet_crypto_process_chained_ops | ( | vlib_main_t * | vm, |
vnet_crypto_op_t | ops[], | ||
vnet_crypto_op_chunk_t * | chunks, | ||
u32 | n_ops | ||
) |
u32 vnet_crypto_process_ops | ( | vlib_main_t * | vm, |
vnet_crypto_op_t | ops[], | ||
u32 | n_ops | ||
) |
void vnet_crypto_register_async_handler | ( | vlib_main_t * | vm, |
u32 | engine_index, | ||
vnet_crypto_async_op_id_t | opt, | ||
vnet_crypto_frame_enqueue_t * | enq_fn, | ||
vnet_crypto_frame_dequeue_t * | deq_fn | ||
) |
void vnet_crypto_register_chained_ops_handler | ( | vlib_main_t * | vm, |
u32 | engine_index, | ||
vnet_crypto_op_id_t | opt, | ||
vnet_crypto_chained_ops_handler_t * | oph | ||
) |
u32 vnet_crypto_register_engine | ( | vlib_main_t * | vm, |
char * | name, | ||
int | prio, | ||
char * | desc | ||
) |
void vnet_crypto_register_key_handler | ( | vlib_main_t * | vm, |
u32 | engine_index, | ||
vnet_crypto_key_handler_t * | keyh | ||
) |
void vnet_crypto_register_ops_handler | ( | vlib_main_t * | vm, |
u32 | engine_index, | ||
vnet_crypto_op_id_t | opt, | ||
vnet_crypto_ops_handler_t * | oph | ||
) |
void vnet_crypto_register_ops_handlers | ( | vlib_main_t * | vm, |
u32 | engine_index, | ||
vnet_crypto_op_id_t | opt, | ||
vnet_crypto_ops_handler_t * | fn, | ||
vnet_crypto_chained_ops_handler_t * | cfn | ||
) |
u32 vnet_crypto_register_post_node | ( | vlib_main_t * | vm, |
char * | post_node_name | ||
) |
void vnet_crypto_request_async_mode | ( | int | is_enable | ) |
void vnet_crypto_set_async_dispatch_mode | ( | u8 | mode | ) |
int vnet_crypto_set_async_handler2 | ( | char * | alg_name, |
char * | engine | ||
) |
static_always_inline int vnet_crypto_set_handler | ( | char * | alg_name, |
char * | engine | ||
) |
int vnet_crypto_set_handler2 | ( | char * | ops_handler_name, |
char * | engine, | ||
crypto_op_class_type_t | oct | ||
) |
vnet_crypto_main_t crypto_main |
format_function_t format_vnet_crypto_alg |
format_function_t format_vnet_crypto_async_alg |
format_function_t format_vnet_crypto_async_op |
format_function_t format_vnet_crypto_async_op_type |
format_function_t format_vnet_crypto_engine |
format_function_t format_vnet_crypto_op |
format_function_t format_vnet_crypto_op_status |
format_function_t format_vnet_crypto_op_type |
unformat_function_t unformat_vnet_crypto_alg |