diff options
Diffstat (limited to 'platform/linux-generic/odp_ipsec_sad.c')
-rw-r--r-- | platform/linux-generic/odp_ipsec_sad.c | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/platform/linux-generic/odp_ipsec_sad.c b/platform/linux-generic/odp_ipsec_sad.c index 1b3a90e6a..4cf265694 100644 --- a/platform/linux-generic/odp_ipsec_sad.c +++ b/platform/linux-generic/odp_ipsec_sad.c @@ -1,11 +1,12 @@ /* Copyright (c) 2017-2018, Linaro Limited - * Copyright (c) 2018-2022, Nokia + * Copyright (c) 2018-2023, Nokia * All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ #include <odp/api/atomic.h> +#include <odp/api/crypto.h> #include <odp/api/ipsec.h> #include <odp/api/random.h> #include <odp/api/shared_memory.h> @@ -18,7 +19,7 @@ #include <odp_debug_internal.h> #include <odp_ipsec_internal.h> #include <odp_macros_internal.h> -#include <odp_ring_mpmc_internal.h> +#include <odp_ring_mpmc_u32_internal.h> #include <odp_global_data.h> #include <string.h> @@ -102,7 +103,7 @@ typedef struct ODP_ALIGNED_CACHE ipsec_thread_local_s { typedef struct ipsec_sa_table_t { ipsec_sa_t ipsec_sa[CONFIG_IPSEC_MAX_NUM_SA]; struct ODP_ALIGNED_CACHE { - ring_mpmc_t ipv4_id_ring; + ring_mpmc_u32_t ipv4_id_ring; uint32_t ipv4_id_data[IPV4_ID_RING_SIZE] ODP_ALIGNED_CACHE; } hot; struct { @@ -192,7 +193,7 @@ int _odp_ipsec_sad_init_global(void) ipsec_sa_tbl->shm = shm; ipsec_sa_tbl->max_num_sa = max_num_sa; - ring_mpmc_init(&ipsec_sa_tbl->hot.ipv4_id_ring); + ring_mpmc_u32_init(&ipsec_sa_tbl->hot.ipv4_id_ring); for (i = 0; i < thread_count_max; i++) { /* * Make the current ID block fully used, forcing allocation @@ -210,11 +211,11 @@ int _odp_ipsec_sad_init_global(void) for (i = 0; i < IPV4_ID_RING_SIZE - 1; i++) { uint32_t data = i * IPV4_ID_BLOCK_SIZE; - ring_mpmc_enq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, - ipsec_sa_tbl->hot.ipv4_id_data, - IPV4_ID_RING_MASK, - &data, - 1); + ring_mpmc_u32_enq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, + ipsec_sa_tbl->hot.ipv4_id_data, + IPV4_ID_RING_MASK, + &data, + 1); } for (i = 0; i < ipsec_sa_tbl->max_num_sa; i++) { @@ -1118,17 +1119,17 @@ uint16_t _odp_ipsec_sa_alloc_ipv4_id(ipsec_sa_t *ipsec_sa) tl->first_ipv4_id + IPV4_ID_BLOCK_SIZE)) { /* Return used ID block to the ring */ data = tl->first_ipv4_id; - ring_mpmc_enq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, - ipsec_sa_tbl->hot.ipv4_id_data, - IPV4_ID_RING_MASK, - &data, - 1); + ring_mpmc_u32_enq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, + ipsec_sa_tbl->hot.ipv4_id_data, + IPV4_ID_RING_MASK, + &data, + 1); /* Get new ID block */ - ring_mpmc_deq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, - ipsec_sa_tbl->hot.ipv4_id_data, - IPV4_ID_RING_MASK, - &data, - 1); + ring_mpmc_u32_deq_multi(&ipsec_sa_tbl->hot.ipv4_id_ring, + ipsec_sa_tbl->hot.ipv4_id_data, + IPV4_ID_RING_MASK, + &data, + 1); tl->first_ipv4_id = data; tl->next_ipv4_id = data; } |