[dpdk-dev] [PATCH v3 2/6] net/ether: add rte_eth_unformat_addr
Andrew Rybchenko
arybchenko at solarflare.com
Wed Jun 5 10:55:21 CEST 2019
On 6/5/19 4:08 AM, Stephen Hemminger wrote:
> Make a function that coresponds with eth_aton_r which can
I guess ether_aton_r
> be used to convert string to rte_ether_addr.
>
> This also allows rte_ethdev to no longer depend on the
> cmdline library.
>
> Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
> ---
> lib/librte_net/rte_ether.c | 47 ++++++++++++++++++++++++++++++
> lib/librte_net/rte_ether.h | 14 +++++++++
> lib/librte_net/rte_net_version.map | 1 +
> 3 files changed, 62 insertions(+)
>
> diff --git a/lib/librte_net/rte_ether.c b/lib/librte_net/rte_ether.c
> index 974fe815b335..acc8a0e938c5 100644
> --- a/lib/librte_net/rte_ether.c
> +++ b/lib/librte_net/rte_ether.c
> @@ -27,3 +27,50 @@ rte_ether_format_addr(char *buf, uint16_t size,
> eth_addr->addr_bytes[4],
> eth_addr->addr_bytes[5]);
> }
> +
> +/*
> + * Like ether_aton_r but can handle either
> + * XX:XX:XX:XX:XX:XX or XXXX:XXXX:XXXX
> + */
> +int
> +rte_ether_unformat_addr(const char *s, struct rte_ether_addr *ea)
> +{
> + unsigned int o0, o1, o2, o3, o4, o5;
> + int n;
> +
> + n = sscanf(s, "%x:%x:%x:%x:%x:%x",
> + &o0, &o1, &o2, &o3, &o4, &o5);
Is it intended that the following input will pass?
"af:bb:03:65:dc:ddobar" or "af:bb:03:65:dc:dd foobar"
I guess yes since ether_aton() accepts it. If so,
Reviewed-by: Andrew Rybchenko <arybchenko at solarflare.com>
More information about the dev
mailing list