[dpdk-dev] [RFC 3/4] ethdev: use eth_unformat_addr

David Marchand david.marchand at redhat.com
Thu May 16 09:32:06 CEST 2019


On Thu, May 16, 2019 at 12:20 AM Stephen Hemminger <
stephen at networkplumber.org> wrote:

> Use eth_unformat_addr, so that ethdev can be built and work
> without the cmdline library. The dependency on cmdline was
> an arrangement of convenience anyway.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> ---
>  lib/librte_ethdev/rte_class_eth.c | 9 +--------
>  1 file changed, 1 insertion(+), 8 deletions(-)
>
> diff --git a/lib/librte_ethdev/rte_class_eth.c
> b/lib/librte_ethdev/rte_class_eth.c
> index cb99c92ece93..40ca936230c6 100644
> --- a/lib/librte_ethdev/rte_class_eth.c
> +++ b/lib/librte_ethdev/rte_class_eth.c
> @@ -4,7 +4,6 @@
>
>  #include <string.h>
>
> -#include <cmdline_parse_etheraddr.h>
>  #include <rte_class.h>
>  #include <rte_compat.h>
>  #include <rte_errno.h>
> @@ -43,19 +42,13 @@ static int
>  eth_mac_cmp(const char *key __rte_unused,
>                 const char *value, void *opaque)
>  {
> -       int ret;
>         struct ether_addr mac;
>         const struct rte_eth_dev_data *data = opaque;
>         struct rte_eth_dev_info dev_info;
>         uint32_t index;
>
>         /* Parse devargs MAC address. */
> -       /*
> -        * cannot use ether_aton_r(value, &mac)
> -        * because of include conflict with rte_ether.h
> -        */
> -       ret = cmdline_parse_etheraddr(NULL, value, &mac, sizeof(mac));
> -       if (ret < 0)
> +       if (ether_unformat_addr(value, &mac) < 0)
>

I had a look at cmdline_parse_etheraddr.
I can see it supports a different format, like "XXXX:XXXX:XXXX" for a mac
address.
So here, we might be breaking some existing users assumptions.


                return -1; /* invalid devargs value */
>
>         /* Return 0 if devargs MAC is matching one of the device MACs. */
> --
> 2.20.1
>
>

-- 
David Marchand


More information about the dev mailing list