crypto: bails out early for unsupported key type
[vpp.git] / src / plugins / crypto_ipsecmb / ipsecmb.c
index 11e5232..0501dcc 100644 (file)
@@ -30,6 +30,7 @@
 
 typedef struct
 {
+  CLIB_CACHE_LINE_ALIGN_MARK (cacheline0);
   MB_MGR *mgr;
   __m128i cbc_iv;
 } ipsecmb_per_thread_data_t;
@@ -435,6 +436,10 @@ crypto_ipsecmb_key_handler (vlib_main_t * vm, vnet_crypto_key_op_t kop,
   u32 i;
   void *kd;
 
+  /** TODO: add linked alg support **/
+  if (key->type == VNET_CRYPTO_KEY_TYPE_LINK)
+    return;
+
   if (kop == VNET_CRYPTO_KEY_OP_DEL)
     {
       if (idx >= vec_len (imbm->key_data))
@@ -522,7 +527,8 @@ crypto_ipsecmb_init (vlib_main_t * vm)
                 IMB_VERSION_STR, 0);
   eidx = vnet_crypto_register_engine (vm, "ipsecmb", 80, (char *) name);
 
-  vec_validate (imbm->per_thread_data, tm->n_vlib_mains - 1);
+  vec_validate_aligned (imbm->per_thread_data, tm->n_vlib_mains - 1,
+                       CLIB_CACHE_LINE_BYTES);
 
   /* *INDENT-OFF* */
   vec_foreach (ptd, imbm->per_thread_data)