if (cm->key_data[idx] == 0)
return;
- clib_memset_u8 (cm->key_data[idx], 0,
- clib_mem_size (cm->key_data[idx]));
- clib_mem_free (cm->key_data[idx]);
+ clib_mem_free_s (cm->key_data[idx]);
cm->key_data[idx] = 0;
return;
}
if (kop == VNET_CRYPTO_KEY_OP_MODIFY && cm->key_data[idx])
{
- clib_memset_u8 (cm->key_data[idx], 0,
- clib_mem_size (cm->key_data[idx]));
- clib_mem_free (cm->key_data[idx]);
+ clib_mem_free_s (cm->key_data[idx]);
}
cm->key_data[idx] = cm->key_fn[key->alg] (key);
vnet_crypto_register_engine (vm, "ia32", 100,
"Intel IA32 ISA Optimized Crypto");
- if (clib_cpu_supports_avx512f ())
+ if (clib_cpu_supports_vaes ())
+ error = crypto_ia32_aesni_cbc_init_vaes (vm);
+ else if (clib_cpu_supports_avx512f ())
error = crypto_ia32_aesni_cbc_init_avx512 (vm);
else if (clib_cpu_supports_avx2 ())
error = crypto_ia32_aesni_cbc_init_avx2 (vm);
if (clib_cpu_supports_pclmulqdq ())
{
- if (clib_cpu_supports_avx512f ())
+ if (clib_cpu_supports_vaes ())
+ error = crypto_ia32_aesni_gcm_init_vaes (vm);
+ else 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);