Hi Stephen, > -----Original Message----- > From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Stephen > Hemminger > Sent: Tuesday, July 2, 2019 11:13 PM > To: dev@dpdk.org > Cc: Stephen Hemminger <step...@networkplumber.org> > Subject: [dpdk-dev] [PATCH v7 08/12] app/testpmd: use new ethernet > address parser > > The cmdline_parse_ether_addr does not need to be used everywhere in > testpmd. Can use rte_ether_unformat_addr instead. > As an added bonus it eliminates some code for copying. > > Signed-off-by: Stephen Hemminger <step...@networkplumber.org> > --- > app/test-pmd/cmdline_flow.c | 5 ++--- > app/test-pmd/config.c | 10 +++------- > app/test-pmd/parameters.c | 15 +++------------ > 3 files changed, 8 insertions(+), 22 deletions(-) > > diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c > index 201bd9de56e0..2b02ca29b7ac 100644 > --- a/app/test-pmd/cmdline_flow.c > +++ b/app/test-pmd/cmdline_flow.c > @@ -18,7 +18,6 @@ > #include <rte_ethdev.h> > #include <rte_byteorder.h> > #include <cmdline_parse.h> > -#include <cmdline_parse_etheraddr.h> > #include <rte_flow.h> > > #include "testpmd.h" > @@ -4627,8 +4626,8 @@ parse_mac_addr(struct context *ctx, const struct > token *token, > /* Only network endian is supported. */ > if (!arg->hton) > goto error; > - ret = cmdline_parse_etheraddr(NULL, str, &tmp, size); > - if (ret < 0 || (unsigned int)ret != len) > + ret = rte_ether_unformat_addr(str, &tmp); > + if (ret < 0) > goto error; > if (!ctx->object) > return len; > diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index > ab458c8d2837..1d804705d96c 100644 > --- a/app/test-pmd/config.c > +++ b/app/test-pmd/config.c > @@ -49,7 +49,6 @@ > #include <rte_pmd_bnxt.h> > #endif > #include <rte_gro.h> > -#include <cmdline_parse_etheraddr.h> > #include <rte_config.h> > > #include "testpmd.h" > @@ -2278,19 +2277,16 @@ pkt_fwd_config_display(struct fwd_config *cfg) > void set_fwd_eth_peer(portid_t port_id, char *peer_addr) { > - uint8_t c, new_peer_addr[6]; > + struct rte_ether_addr new_peer_addr; > if (!rte_eth_dev_is_valid_port(port_id)) { > printf("Error: Invalid port number %i\n", port_id); > return; > } > - if (cmdline_parse_etheraddr(NULL, peer_addr, &new_peer_addr, > - sizeof(new_peer_addr)) < 0) { > + if (rte_ether_unformat_addr(peer_addr, &new_peer_addr) < 0) { > printf("Error: Invalid ethernet address: %s\n", peer_addr); > return; > } > - for (c = 0; c < 6; c++) > - peer_eth_addrs[port_id].addr_bytes[c] = > - new_peer_addr[c]; > + peer_eth_addrs[port_id] = new_peer_addr; > } > > int > diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index > 245b610641ee..975a97807009 100644 > --- a/app/test-pmd/parameters.c > +++ b/app/test-pmd/parameters.c > @@ -39,10 +39,6 @@ > #include <rte_ether.h> > #include <rte_ethdev.h> > #include <rte_string_fns.h> > -#ifdef RTE_LIBRTE_CMDLINE > -#include <cmdline_parse.h> > -#include <cmdline_parse_etheraddr.h> > -#endif > #ifdef RTE_LIBRTE_PMD_BOND > #include <rte_eth_bond.h> > #endif > @@ -227,8 +223,7 @@ init_peer_eth_addrs(char *config_filename) > if (fgets(buf, sizeof(buf), config_file) == NULL) > break; > > - if (cmdline_parse_etheraddr(NULL, buf, > &peer_eth_addrs[i], > - sizeof(peer_eth_addrs[i])) < 0) { > + if (rte_ether_unformat_addr(buf, &peer_eth_addrs[i]) < 0) { > printf("Bad MAC address format on line %d\n", i+1); > fclose(config_file); > return -1; > @@ -727,7 +722,6 @@ launch_args_parse(int argc, char** argv) > } > if (!strcmp(lgopts[opt_idx].name, "eth-peer")) { > char *port_end; > - uint8_t c, peer_addr[6]; > > errno = 0; > n = strtoul(optarg, &port_end, 10); @@ - > 739,14 +733,11 @@ launch_args_parse(int argc, char** argv) > "eth-peer: port %d >= > RTE_MAX_ETHPORTS(%d)\n", > n, RTE_MAX_ETHPORTS); > > - if (cmdline_parse_etheraddr(NULL, > port_end, > - &peer_addr, > sizeof(peer_addr)) < 0) > + if (rte_ether_unformat_addr(port_end, > + > &peer_eth_addrs[n]) < 0) > rte_exit(EXIT_FAILURE, > "Invalid ethernet address: > %s\n", > port_end); > - for (c = 0; c < 6; c++) > - peer_eth_addrs[n].addr_bytes[c] = > - peer_addr[c]; > nb_peer_eth_addrs++; > } > #endif > -- > 2.20.1
./devtools/checkpatches.sh v7-08-12-app-testpmd-use-new-ethernet-address-parser.patch WARNING:LONG_LINE: line over 80 characters #126: FILE: app/test-pmd/parameters.c:737: + &peer_eth_addrs[n]) < 0) No harm to fix this, otherwise Acked-by: Bernard Iremonger <bernard.iremon...@intel.com>