Use thread local storage for thread index
[vpp.git] / src / plugins / dpdk / ipsec / ipsec.c
index 16bec20..5d8f4fb 100644 (file)
@@ -289,7 +289,7 @@ dpdk_ipsec_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
              if (!map)
                {
                  clib_warning ("unable to create hash table for worker %u",
-                               vlib_mains[i]->cpu_index);
+                               vlib_mains[i]->thread_index);
                  goto error;
                }
              cwm->algo_qp_map = map;
@@ -380,13 +380,9 @@ dpdk_ipsec_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
   im->cb.check_support_cb = dpdk_ipsec_check_support;
   im->cb.add_del_sa_sess_cb = add_del_sa_sess;
 
-  if (vec_len (vlib_mains) == 0)
-    vlib_node_set_state (&vlib_global_main, dpdk_crypto_input_node.index,
+  for (i = 1; i < tm->n_vlib_mains; i++)
+    vlib_node_set_state (vlib_mains[i], dpdk_crypto_input_node.index,
                         VLIB_NODE_STATE_POLLING);
-  else
-    for (i = 1; i < tm->n_vlib_mains; i++)
-      vlib_node_set_state (vlib_mains[i], dpdk_crypto_input_node.index,
-                          VLIB_NODE_STATE_POLLING);
 
   /* TODO cryptodev counters */