X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fcrypto_ia32%2Fcrypto_ia32.h;h=e2b30071854a9950bc7d4cbba35cee7e1ac115d7;hb=0d4a61216c2329eec5167d0411481431037ac5c1;hp=f5f09dfd499d8c944156b02eaf007d0873e401c9;hpb=d1bed687231bb64cf7761da37431ba61bc32b6d8;p=vpp.git diff --git a/src/plugins/crypto_ia32/crypto_ia32.h b/src/plugins/crypto_ia32/crypto_ia32.h index f5f09dfd499..e2b30071854 100644 --- a/src/plugins/crypto_ia32/crypto_ia32.h +++ b/src/plugins/crypto_ia32/crypto_ia32.h @@ -18,6 +18,8 @@ #ifndef __crypto_ia32_h__ #define __crypto_ia32_h__ +typedef void *(crypto_ia32_key_fn_t) (vnet_crypto_key_t * key); + typedef struct { __m128i cbc_iv[4]; @@ -27,13 +29,21 @@ typedef struct { u32 crypto_engine_index; crypto_ia32_per_thread_data_t *per_thread_data; + crypto_ia32_key_fn_t *key_fn[VNET_CRYPTO_N_ALGS]; void **key_data; } crypto_ia32_main_t; extern crypto_ia32_main_t crypto_ia32_main; -clib_error_t *crypto_ia32_aesni_cbc_init (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_cbc_init_sse42 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_cbc_init_avx2 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_cbc_init_avx512 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_cbc_init_vaes (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_gcm_init_sse42 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_gcm_init_avx2 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_gcm_init_avx512 (vlib_main_t * vm); +clib_error_t *crypto_ia32_aesni_gcm_init_vaes (vlib_main_t * vm); #endif /* __crypto_ia32_h__ */ /*