[dpdk-dev] [PATCH v4 2/6] ethdev: add iterator to match devargs input

Ferruh Yigit ferruh.yigit at intel.com
Tue Oct 16 12:58:47 CEST 2018

On 10/9/2018 11:33 PM, Thomas Monjalon wrote:
> The iterator will return the ethdev port ids matching a devargs string.
> It is recommended to use the macro RTE_ETH_FOREACH_MATCHING_DEV()
> for usage convenience.
> The class string is prefixed with '+' in order to skip the validation
> of the parameter keys. It is tolerated for the compatibility with
> the old (current) syntax where all parameters (bus, class and driver)
> are mixed in the same string without any delimiter.
> Thanks to this compatibility prefix, the driver parameters will be
> skipped during the ethdev parsing, and not considered invalid.
> A macro is introduced in rte_common.h to workaround a const field.
> This hack is needed to free const strings in the iterator.
> It is preferred to keep the const for these fields, because it gives
> a hint that they are not changed at each iteration.
> Signed-off-by: Thomas Monjalon <thomas at monjalon.net>
> Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>


> @@ -237,6 +237,9 @@ EXPERIMENTAL {
>  	rte_eth_dev_owner_unset;
>  	rte_eth_dev_rx_offload_name;
>  	rte_eth_dev_tx_offload_name;
> +	rte_eth_iterator_cleanup;
> +	rte_eth_iterator_init;
> +	rte_eth_iterator_next;

It would be great to add some unit test for these APIs, it would both show how
they are used and verify this functionality with all that "+" trick etc..

Similar to previous patch, vdev iterator.

Is it too late to add some unit test for these functionality?

More information about the dev mailing list