X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fcrypto_native%2Fcrypto_native.h;h=c15b8cbd1da39721322d7e281bb1e62e389f5c19;hb=da3771c25;hp=0b6116a7d38065c706ba2c0bcb6e9ffc79249e7b;hpb=776644efe78f427a75fc5e122014b44b39d470c3;p=vpp.git diff --git a/src/plugins/crypto_native/crypto_native.h b/src/plugins/crypto_native/crypto_native.h index 0b6116a7d38..c15b8cbd1da 100644 --- a/src/plugins/crypto_native/crypto_native.h +++ b/src/plugins/crypto_native/crypto_native.h @@ -20,31 +20,26 @@ typedef void *(crypto_native_key_fn_t) (vnet_crypto_key_t * key); -typedef struct -{ - u8x16 cbc_iv[4]; -} crypto_native_per_thread_data_t; - typedef struct { u32 crypto_engine_index; - crypto_native_per_thread_data_t *per_thread_data; crypto_native_key_fn_t *key_fn[VNET_CRYPTO_N_ALGS]; void **key_data; } crypto_native_main_t; extern crypto_native_main_t crypto_native_main; -clib_error_t *crypto_native_aes_cbc_init_sse42 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_cbc_init_avx2 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_cbc_init_avx512 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_cbc_init_vaes (vlib_main_t * vm); -clib_error_t *crypto_native_aes_cbc_init_neon (vlib_main_t * vm); +#define foreach_crypto_native_march_variant \ + _ (slm) _ (hsw) _ (skx) _ (icl) _ (adl) _ (neon) + +#define _(v) \ + clib_error_t __clib_weak *crypto_native_aes_cbc_init_##v (vlib_main_t *vm); \ + clib_error_t __clib_weak *crypto_native_aes_ctr_init_##v (vlib_main_t *vm); \ + clib_error_t __clib_weak *crypto_native_aes_gcm_init_##v (vlib_main_t *vm); + +foreach_crypto_native_march_variant; +#undef _ -clib_error_t *crypto_native_aes_gcm_init_sse42 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_gcm_init_avx2 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_gcm_init_avx512 (vlib_main_t * vm); -clib_error_t *crypto_native_aes_gcm_init_vaes (vlib_main_t * vm); #endif /* __crypto_native_h__ */ /*