map: ip4-map-t more RFC compliant
[vpp.git] / src / plugins / crypto_ia32 / main.c
index cca5fb4..bcfd7fa 100644 (file)
@@ -40,9 +40,7 @@ crypto_ia32_key_handler (vlib_main_t * vm, vnet_crypto_key_op_t kop,
       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;
     }
@@ -51,9 +49,7 @@ crypto_ia32_key_handler (vlib_main_t * vm, vnet_crypto_key_op_t kop,
 
   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);
@@ -76,7 +72,9 @@ crypto_ia32_init (vlib_main_t * vm)
     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);
@@ -88,7 +86,9 @@ crypto_ia32_init (vlib_main_t * 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);