On 03/07/2020 11:26, Feifei Wang wrote:
> Remove the experimental tag for rte_ring_reset API that have been around
> for 4 releases.
>
> Signed-off-by: Feifei Wang <feifei.wa...@arm.com>
> Reviewed-by: Honnappa Nagarahalli <honnappa.nagaraha...@arm.com>
> Reviewed-by: Ruifeng Wang <ruifeng.w...@arm.com>
> ---
> lib/librte_ring/rte_ring.h | 3 ---
> lib/librte_ring/rte_ring_version.map | 4 +---
> 2 files changed, 1 insertion(+), 6 deletions(-)
>
> diff --git a/lib/librte_ring/rte_ring.h b/lib/librte_ring/rte_ring.h
> index f67141482..7181c33b4 100644
> --- a/lib/librte_ring/rte_ring.h
> +++ b/lib/librte_ring/rte_ring.h
> @@ -663,15 +663,12 @@ rte_ring_dequeue(struct rte_ring *r, void **obj_p)
> *
> * This function flush all the elements in a ring
> *
> - * @b EXPERIMENTAL: this API may change without prior notice
> - *
> * @warning
> * Make sure the ring is not in use while calling this function.
> *
> * @param r
> * A pointer to the ring structure.
> */
> -__rte_experimental
> void
> rte_ring_reset(struct rte_ring *r);
>
> diff --git a/lib/librte_ring/rte_ring_version.map
> b/lib/librte_ring/rte_ring_version.map
> index e88c143cf..aec6f3820 100644
> --- a/lib/librte_ring/rte_ring_version.map
> +++ b/lib/librte_ring/rte_ring_version.map
> @@ -8,6 +8,7 @@ DPDK_20.0 {
> rte_ring_init;
> rte_ring_list_dump;
> rte_ring_lookup;
> + rte_ring_reset;
>
> local: *;
> };
> @@ -15,9 +16,6 @@ DPDK_20.0 {
> EXPERIMENTAL {
> global:
>
> - # added in 19.08
> - rte_ring_reset;
> -
> # added in 20.02
> rte_ring_create_elem;
> rte_ring_get_memsize_elem;
So strictly speaking, rte_ring_reset is part of the DPDK_21 ABI, not the v20.0
ABI.
The way to solve is to add it the DPDK_21 ABI in the map file.
And then use the VERSION_SYMBOL_EXPERIMENTAL to alias to experimental if
necessary.
https://doc.dpdk.org/guides/contributing/abi_versioning.html#versioning-macros