diff options
author | Damjan Marion <dmarion@me.com> | 2020-01-31 10:24:07 +0100 |
---|---|---|
committer | Damjan Marion <damarion@cisco.com> | 2020-01-31 18:06:09 +0100 |
commit | 776644efe78f427a75fc5e122014b44b39d470c3 (patch) | |
tree | f8487ba02ad941bc2c09206b3d0477db3cc595ba /src/plugins/crypto_native/main.c | |
parent | 62b1cea6eda4060968f44b2639fdd756617211f4 (diff) |
crypto-native: add ARMv8 AES-CBC implementation
Type: feature
Change-Id: I32256061b9509880eec843db2f918879cdafbe47
Signed-off-by: Damjan Marion <dmarion@me.com>
Diffstat (limited to 'src/plugins/crypto_native/main.c')
-rw-r--r-- | src/plugins/crypto_native/main.c | 11 |
1 files changed, 10 insertions, 1 deletions
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); |