[dpdk-dev] [PATCH 2/2] ethdev: remove experimental tag for iterator API
Kevin Traynor
ktraynor at redhat.com
Mon Nov 5 13:22:56 CET 2018
On 11/01/2018 02:46 PM, Thomas Monjalon wrote:
> After removing the function rte_eth_dev_attach(),
> there are two replacement solutions possible:
> one using probe event notification, and one using a new iterator.
> So the application can get the new probed ports either asynchronously
> or synchronously.
>
> The iterator API is new in DPDK 18.11 so they got the experimental
> tag by policy. It causes an issue for strict applications which do
> not use experimental functions, and want to use the synchronous method.
>
> The replacement for removed API should not be experimental.
> That's why the experimental status of the ethdev iterator is removed.
>
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
Acked-by: Kevin Traynor <ktraynor at redhat.com>
Tested-by: Kevin Traynor <ktraynor at redhat.com>
> ---
> lib/librte_ethdev/rte_ethdev.c | 6 +++---
> lib/librte_ethdev/rte_ethdev.h | 12 ------------
> lib/librte_ethdev/rte_ethdev_version.map | 6 +++---
> 3 files changed, 6 insertions(+), 18 deletions(-)
>
> diff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c
> index 9d3481389..d59154c69 100644
> --- a/lib/librte_ethdev/rte_ethdev.c
> +++ b/lib/librte_ethdev/rte_ethdev.c
> @@ -187,7 +187,7 @@ enum {
> STAT_QMAP_RX
> };
>
> -int __rte_experimental
> +int
> rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
> {
> int ret;
> @@ -288,7 +288,7 @@ rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs_str)
> return ret;
> }
>
> -uint16_t __rte_experimental
> +uint16_t
> rte_eth_iterator_next(struct rte_dev_iterator *iter)
> {
> if (iter->cls == NULL) /* invalid ethdev iterator */
> @@ -317,7 +317,7 @@ rte_eth_iterator_next(struct rte_dev_iterator *iter)
> return RTE_MAX_ETHPORTS;
> }
>
> -void __rte_experimental
> +void
> rte_eth_iterator_cleanup(struct rte_dev_iterator *iter)
> {
> if (iter->bus_str == NULL)
> diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
> index 769a69430..8a92d91e3 100644
> --- a/lib/librte_ethdev/rte_ethdev.h
> +++ b/lib/librte_ethdev/rte_ethdev.h
> @@ -167,9 +167,6 @@ extern int rte_eth_dev_logtype;
> struct rte_mbuf;
>
> /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice.
> - *
> * Initializes a device iterator.
> *
> * This iterator allows accessing a list of devices matching some devargs.
> @@ -185,13 +182,9 @@ struct rte_mbuf;
> * @return
> * 0 on successful initialization, negative otherwise.
> */
> -__rte_experimental
> int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
>
> /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice.
> - *
> * Iterates on devices with devargs filter.
> * The ownership is not checked.
> *
> @@ -205,13 +198,9 @@ int rte_eth_iterator_init(struct rte_dev_iterator *iter, const char *devargs);
> * @return
> * A port id if found, RTE_MAX_ETHPORTS otherwise.
> */
> -__rte_experimental
> uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter);
>
> /**
> - * @warning
> - * @b EXPERIMENTAL: this API may change without prior notice.
> - *
> * Free some allocated fields of the iterator.
> *
> * This function is automatically called by rte_eth_iterator_next()
> @@ -223,7 +212,6 @@ uint16_t rte_eth_iterator_next(struct rte_dev_iterator *iter);
> * Device iterator handle initialized by rte_eth_iterator_init().
> * The fields bus_str and cls_str are freed if needed.
> */
> -__rte_experimental
> void rte_eth_iterator_cleanup(struct rte_dev_iterator *iter);
>
> /**
> diff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map
> index 3560c288b..92ac3de25 100644
> --- a/lib/librte_ethdev/rte_ethdev_version.map
> +++ b/lib/librte_ethdev/rte_ethdev_version.map
> @@ -223,6 +223,9 @@ DPDK_18.11 {
>
> rte_eth_dev_rx_offload_name;
> rte_eth_dev_tx_offload_name;
> + rte_eth_iterator_cleanup;
> + rte_eth_iterator_init;
> + rte_eth_iterator_next;
>
> } DPDK_18.08;
>
> @@ -242,9 +245,6 @@ EXPERIMENTAL {
> rte_eth_dev_owner_set;
> rte_eth_dev_owner_unset;
> rte_eth_dev_rx_intr_ctl_q_get_fd;
> - rte_eth_iterator_cleanup;
> - rte_eth_iterator_init;
> - rte_eth_iterator_next;
> rte_eth_switch_domain_alloc;
> rte_eth_switch_domain_free;
> rte_flow_conv;
>
More information about the dev
mailing list