aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/crypto_ia32/crypto_ia32.h
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2019-05-22 15:11:18 +0200
committerNeale Ranns <nranns@cisco.com>2019-05-23 08:56:46 +0000
commitd5023a72ddabe7e9a8698ad57c82d6be117fff73 (patch)
tree751aa38f2b9559099859449c0bc0ca88f8b55a11 /src/plugins/crypto_ia32/crypto_ia32.h
parent0ad4a439d68f906295656876cc3bb3092da2cf56 (diff)
crypto_ia32: multiarch
Change-Id: Iead43a2b524b735a2069e611d899cd41d3a8efdc Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/crypto_ia32/crypto_ia32.h')
-rw-r--r--src/plugins/crypto_ia32/crypto_ia32.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/plugins/crypto_ia32/crypto_ia32.h b/src/plugins/crypto_ia32/crypto_ia32.h
index f5f09dfd499..7acf0741ec6 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,12 +29,15 @@ 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);
#endif /* __crypto_ia32_h__ */