dpdk_ipsec_process (vlib_main_t * vm, vlib_node_runtime_t * rt,
vlib_frame_t * f)
{
- dpdk_config_main_t *conf = &dpdk_config_main;
ipsec_main_t *im = &ipsec_main;
dpdk_crypto_main_t *dcm = &dpdk_crypto_main;
vlib_thread_main_t *tm = vlib_get_thread_main ();
i32 dev_id, ret;
u32 i, skip_master;
- if (!conf->cryptodev)
- {
- clib_warning ("DPDK Cryptodev support is disabled, "
- "default to OpenSSL IPsec");
- return 0;
- }
-
if (check_cryptodev_queues () < 0)
{
- conf->cryptodev = 0;
clib_warning ("not enough Cryptodevs, default to OpenSSL IPsec");
return 0;
}
+ dcm->enabled = 1;
vec_alloc (dcm->workers_main, tm->n_vlib_mains);
_vec_len (dcm->workers_main) = tm->n_vlib_mains;
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;
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 */