From dd2423ef74b37711aec413603df21230f7823333 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 22 May 2019 16:30:01 +0200 Subject: crypto_ia32: native AES-GCM implementation Change-Id: I006a150577e897731649f21908b4789e2eb485c3 Signed-off-by: Damjan Marion --- src/plugins/crypto_ia32/main.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/plugins/crypto_ia32/main.c') diff --git a/src/plugins/crypto_ia32/main.c b/src/plugins/crypto_ia32/main.c index b31c9019495..cca5fb4cf64 100644 --- a/src/plugins/crypto_ia32/main.c +++ b/src/plugins/crypto_ia32/main.c @@ -86,6 +86,19 @@ crypto_ia32_init (vlib_main_t * vm) if (error) goto error; + if (clib_cpu_supports_pclmulqdq ()) + { + if (clib_cpu_supports_avx512f ()) + error = crypto_ia32_aesni_gcm_init_avx512 (vm); + else if (clib_cpu_supports_avx2 ()) + error = crypto_ia32_aesni_gcm_init_avx2 (vm); + else + error = crypto_ia32_aesni_gcm_init_sse42 (vm); + + if (error) + goto error; + } + vnet_crypto_register_key_handler (vm, cm->crypto_engine_index, crypto_ia32_key_handler); -- cgit 1.2.3-korg