59 s =
format (s,
"%u\t", thread_index);
66 if ((
u16) last_cdev != dev_id)
68 struct rte_cryptodev_info cdev_info;
70 rte_cryptodev_info_get (dev_id, &cdev_info);
72 s =
format(s,
"%u(%s)\t", dev_id, cdev_info.feature_flags &
73 RTE_CRYPTODEV_FF_HW_ACCELERATED ?
"HW" :
"SW");
82 char cipher_str[15], auth_str[15];
83 struct rte_cryptodev_capabilities cap;
88 cap.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC;
90 cap.sym.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER;
91 cap.sym.cipher.algo = p_key->cipher_algo;
95 cap.sym.xform_type = RTE_CRYPTO_SYM_XFORM_AEAD;
96 cap.sym.aead.algo = p_key->cipher_algo;
100 cap.sym.xform_type = RTE_CRYPTO_SYM_XFORM_CIPHER;
101 cap.sym.cipher.algo = p_key->cipher_algo;
106 cap.op = RTE_CRYPTO_OP_TYPE_SYMMETRIC;
107 cap.sym.xform_type = RTE_CRYPTO_SYM_XFORM_AUTH;
108 cap.sym.auth.algo = p_key->auth_algo;
112 vlib_mains[i]->thread_index, cipher_str, auth_str,
113 p_key->is_outbound ?
"out" :
"in",
135 if (
unformat (line_input,
"verbose"))
216 .path =
"show crypto device mapping",
218 "show cryptodev device mapping [verbose]",
sll srl srl sll sra u16x4 i
static void dpdk_ipsec_show_mapping(vlib_main_t *vm, u16 detail_display)
vlib_main_t ** vlib_mains
dpdk_crypto_main_t dpdk_crypto_main
#define hash_foreach(key_var, value_var, h, body)
#define clib_error_return(e, args...)
#define VLIB_CLI_COMMAND(x,...)
crypto_worker_main_t * workers_main
crypto_qp_data_t * qp_data
static_always_inline int check_algo_is_supported(const struct rte_cryptodev_capabilities *cap, char *name)
static vlib_thread_main_t * vlib_get_thread_main()
static u32 vlib_num_workers()
#define vec_foreach(var, vec)
Vector iterator.
void vlib_cli_output(vlib_main_t *vm, char *fmt,...)
static clib_error_t * lcore_cryptodev_map_fn(vlib_main_t *vm, unformat_input_t *input, vlib_cli_command_t *cmd)