X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fdpdk%2Fipsec%2Fipsec.c;h=ded8912e943b6c8c2442840c7b3a82f095ab0c2b;hb=b7b929931a07fbb27b43d5cd105f366c3e29807e;hp=b2d8611cc9c22bce8ede0a04777f9bdac7505f1d;hpb=c474feea962bcde3b5eece0ff2be8d3fd8019093;p=vpp.git diff --git a/src/plugins/dpdk/ipsec/ipsec.c b/src/plugins/dpdk/ipsec/ipsec.c index b2d8611cc9c..ded8912e943 100644 --- a/src/plugins/dpdk/ipsec/ipsec.c +++ b/src/plugins/dpdk/ipsec/ipsec.c @@ -407,7 +407,7 @@ static void __attribute__ ((unused)) clear_and_free_obj (void *obj) { struct rte_mempool *mp = rte_mempool_from_obj (obj); - memset (obj, 0, mp->elt_size); + clib_memset (obj, 0, mp->elt_size); rte_mempool_put (mp, obj); } @@ -878,11 +878,7 @@ crypto_create_session_h_pool (vlib_main_t * vm, u8 numa) pool_name = format (0, "session_h_pool_numa%u%c", numa, 0); -#if RTE_VERSION < RTE_VERSION_NUM(18, 5, 0, 0) - elt_size = rte_cryptodev_get_header_session_size (); -#else elt_size = rte_cryptodev_sym_get_header_session_size (); -#endif error = dpdk_pool_create (vm, pool_name, elt_size, DPDK_CRYPTO_NB_SESS_OBJS, @@ -922,11 +918,7 @@ crypto_create_session_drv_pool (vlib_main_t * vm, crypto_dev_t * dev) pool_name = format (0, "session_drv%u_pool_numa%u%c", dev->drv_id, numa, 0); -#if RTE_VERSION < RTE_VERSION_NUM(18, 5, 0, 0) - elt_size = rte_cryptodev_get_private_session_size (dev->id); -#else elt_size = rte_cryptodev_sym_get_private_session_size (dev->id); -#endif error = dpdk_pool_create (vm, pool_name, elt_size, DPDK_CRYPTO_NB_SESS_OBJS, @@ -1039,9 +1031,9 @@ dpdk_ipsec_process (vlib_main_t * vm, vlib_node_runtime_t * rt, { vec_validate_init_empty_aligned (cwm->ops, VLIB_FRAME_SIZE - 1, 0, CLIB_CACHE_LINE_BYTES); - memset (cwm->cipher_resource_idx, ~0, + clib_memset (cwm->cipher_resource_idx, ~0, IPSEC_CRYPTO_N_ALG * sizeof(*cwm->cipher_resource_idx)); - memset (cwm->auth_resource_idx, ~0, + clib_memset (cwm->auth_resource_idx, ~0, IPSEC_INTEG_N_ALG * sizeof(*cwm->auth_resource_idx)); } /* *INDENT-ON* */ @@ -1059,20 +1051,36 @@ dpdk_ipsec_process (vlib_main_t * vm, vlib_node_runtime_t * rt, /* Add new next node and set it as default */ vlib_node_t *node, *next_node; - next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp-encrypt"); + next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp4-encrypt"); + ASSERT (next_node); + node = vlib_get_node_by_name (vm, (u8 *) "ipsec4-output"); + ASSERT (node); + im->esp4_encrypt_node_index = next_node->index; + im->esp4_encrypt_next_index = + vlib_node_add_next (vm, node->index, next_node->index); + + next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp4-decrypt"); + ASSERT (next_node); + node = vlib_get_node_by_name (vm, (u8 *) "ipsec4-input"); + ASSERT (node); + im->esp4_decrypt_node_index = next_node->index; + im->esp4_decrypt_next_index = + vlib_node_add_next (vm, node->index, next_node->index); + + next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp6-encrypt"); ASSERT (next_node); - node = vlib_get_node_by_name (vm, (u8 *) "ipsec-output-ip4"); + node = vlib_get_node_by_name (vm, (u8 *) "ipsec6-output"); ASSERT (node); - im->esp_encrypt_node_index = next_node->index; - im->esp_encrypt_next_index = + im->esp6_encrypt_node_index = next_node->index; + im->esp6_encrypt_next_index = vlib_node_add_next (vm, node->index, next_node->index); - next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp-decrypt"); + next_node = vlib_get_node_by_name (vm, (u8 *) "dpdk-esp6-decrypt"); ASSERT (next_node); - node = vlib_get_node_by_name (vm, (u8 *) "ipsec-input-ip4"); + node = vlib_get_node_by_name (vm, (u8 *) "ipsec6-input"); ASSERT (node); - im->esp_decrypt_node_index = next_node->index; - im->esp_decrypt_next_index = + im->esp6_decrypt_node_index = next_node->index; + im->esp6_decrypt_next_index = vlib_node_add_next (vm, node->index, next_node->index); im->cb.check_support_cb = dpdk_ipsec_check_support;