From 776644efe78f427a75fc5e122014b44b39d470c3 Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Fri, 31 Jan 2020 10:24:07 +0100 Subject: crypto-native: add ARMv8 AES-CBC implementation Type: feature Change-Id: I32256061b9509880eec843db2f918879cdafbe47 Signed-off-by: Damjan Marion --- src/plugins/crypto_native/main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/plugins/crypto_native/main.c') diff --git a/src/plugins/crypto_native/main.c b/src/plugins/crypto_native/main.c index 2c03ee20309..d338ab6d910 100644 --- a/src/plugins/crypto_native/main.c +++ b/src/plugins/crypto_native/main.c @@ -62,7 +62,8 @@ crypto_native_init (vlib_main_t * vm) vlib_thread_main_t *tm = vlib_get_thread_main (); clib_error_t *error = 0; - if (clib_cpu_supports_x86_aes () == 0) + if (clib_cpu_supports_x86_aes () == 0 && + clib_cpu_supports_aarch64_aes () == 0) return 0; vec_validate_aligned (cm->per_thread_data, tm->n_vlib_mains - 1, @@ -72,6 +73,7 @@ crypto_native_init (vlib_main_t * vm) vnet_crypto_register_engine (vm, "native", 100, "Native ISA Optimized Crypto"); +#if __x86_64__ if (clib_cpu_supports_vaes ()) error = crypto_native_aes_cbc_init_vaes (vm); else if (clib_cpu_supports_avx512f ()) @@ -98,6 +100,13 @@ crypto_native_init (vlib_main_t * vm) if (error) goto error; } +#endif +#if __aarch64__ + error = crypto_native_aes_cbc_init_neon (vm); + + if (error) + goto error; +#endif vnet_crypto_register_key_handler (vm, cm->crypto_engine_index, crypto_native_key_handler); -- cgit 1.2.3-korg