The usage syntax help includes the program name which was fake. It is replaced with the real name from argv. Fixes: de06137cb295 ("app/regex: add RegEx test application") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- app/test-regex/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test-regex/main.c b/app/test-regex/main.c index ba09b20126..73ba227fba 100644 --- a/app/test-regex/main.c +++ b/app/test-regex/main.c @@ -151,10 +151,10 @@ args_parse(int argc, char **argv, char *rules_file, char *data_file, *nb_lcores = atoi(optarg); break; case ARG_HELP: - usage("RegEx test app"); + usage(argv[0]); break; default: - usage("RegEx test app"); + usage(argv[0]); rte_exit(EXIT_FAILURE, "Invalid option: %s\n", argv[optind]); break; } -- 2.30.1
The options help text was including an incomplete and redundant summary of the options before explaining each. The summary is dropped. The details of the option --hairpin-mode had an extra space, breaking the alignment with the next line. There were some mismatches between options in the usage text sed -rn 's/.*\(" *--([a-z-]*)[=: ].*/\1/p' app/test-pmd/parameters.c and the options declared in lgopts array sed -rn 's/.*\{.*"(.*)",.*,.*,.*},.*/\1/p' app/test-pmd/parameters.c The misses were: --no-numa --enable-scatter --tx-ip --tx-udp --noisy-lkup-num-reads-writes The option --ports was not implemented. Fixes: 01817b10d27c ("app/testpmd: change hairpin queues setup") Fixes: 3c156061b938 ("app/testpmd: add noisy neighbour forwarding mode") Fixes: bf5b2126bf44 ("app/testpmd: add ability to set Tx IP and UDP parameters") Fixes: 0499793854f5 ("app/testpmd: add scatter enabling option") Fixes: 999b2ee0fe45 ("app/testpmd: enable NUMA support by default") Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- app/test-pmd/parameters.c | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index 156eff7697..4a1d64af89 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -49,29 +49,7 @@ void usage(const char *progname) { - printf("usage: %s [EAL options] -- " -#ifdef RTE_LIB_CMDLINE - "[--interactive|-i] " - "[--cmdline-file=FILENAME] " -#endif - "[--help|-h] | [--auto-start|-a] | [" - "--tx-first | --stats-period=PERIOD | " - "--coremask=COREMASK --portmask=PORTMASK --numa " - "--portlist=PORTLIST " - "--mbuf-size= | --total-num-mbufs= | " - "--nb-cores= | --nb-ports= | " -#ifdef RTE_LIB_CMDLINE - "--eth-peers-configfile= | " - "--eth-peer=X,M:M:M:M:M:M | " - "--tx-ip=SRC,DST | --tx-udp=PORT | " -#endif - "--pkt-filter-mode= |" - "--rss-ip | --rss-udp | --rss-level-inner | --rss-level-outer |" - "--rxpt= | --rxht= | --rxwt= |" - " --rxfreet= | --txpt= | --txht= | --txwt= | --txfreet= | " - "--txrst= | --tx-offloads= | | --rx-offloads= | " - "--vxlan-gpe-port= | --geneve-parsed-port= | " - "--record-core-cycles | --record-burst-stats]\n", + printf("\nUsage: %s [EAL options] -- [testpmd options]\n\n", progname); #ifdef RTE_LIB_CMDLINE printf(" --interactive: run in interactive mode.\n"); @@ -97,6 +75,7 @@ usage(const char *progname) printf(" --portlist=PORTLIST: list of forwarding ports\n"); printf(" --numa: enable NUMA-aware allocation of RX/TX rings and of " "RX memory buffers (mbufs).\n"); + printf(" --no-numa: disable NUMA-aware allocation.\n"); printf(" --port-numa-config=(port,socket)[,(port,socket)]: " "specify the socket on which the memory pool " "used by the port will be allocated.\n"); @@ -136,6 +115,7 @@ usage(const char *progname) "monitoring on forwarding lcore id N.\n"); #endif printf(" --disable-crc-strip: disable CRC stripping by hardware.\n"); + printf(" --enable-scatter: enable scattered Rx.\n"); printf(" --enable-lro: enable large receive offload.\n"); printf(" --enable-rx-cksum: enable rx hardware checksum offload.\n"); printf(" --enable-rx-timestamp: enable rx hardware timestamp offload.\n"); @@ -184,6 +164,8 @@ usage(const char *progname) printf(" --txpkts=X[,Y]*: set TX segment sizes" " or total packet length.\n"); printf(" --txonly-multi-flow: generate multiple flows in txonly mode\n"); + printf(" --tx-ip=src,dst: IP addresses in Tx-only mode\n"); + printf(" --tx-udp=src[,dst]: UDP ports in Tx-only mode\n"); printf(" --eth-link-speed: force link speed.\n"); printf(" --disable-link-check: disable check on link status when " "starting/stopping ports.\n"); @@ -215,14 +197,14 @@ usage(const char *progname) printf(" --noisy-lkup-memory=N: allocate N MB of VNF memory\n"); printf(" --noisy-lkup-num-writes=N: do N random writes per packet\n"); printf(" --noisy-lkup-num-reads=N: do N random reads per packet\n"); - printf(" --noisy-lkup-num-writes=N: do N random reads and writes per packet\n"); + printf(" --noisy-lkup-num-reads-writes=N: do N random reads and writes per packet\n"); printf(" --no-iova-contig: mempool memory can be IOVA non contiguous. " "valid only with --mp-alloc=anon\n"); printf(" --rx-mq-mode=0xX: hexadecimal bitmask of RX mq mode can be " "enabled\n"); printf(" --record-core-cycles: enable measurement of CPU cycles.\n"); printf(" --record-burst-stats: enable display of RX and TX bursts.\n"); - printf(" --hairpin-mode=0xXX: bitmask set the hairpin port mode.\n " + printf(" --hairpin-mode=0xXX: bitmask set the hairpin port mode.\n" " 0x10 - explicit Tx rule, 0x02 - hairpin ports paired\n" " 0x01 - hairpin ports loop, 0x00 - hairpin port self\n"); } @@ -549,7 +531,6 @@ launch_args_parse(int argc, char** argv) #endif { "tx-first", 0, 0, 0 }, { "stats-period", 1, 0, 0 }, - { "ports", 1, 0, 0 }, { "nb-cores", 1, 0, 0 }, { "nb-ports", 1, 0, 0 }, { "coremask", 1, 0, 0 }, @@ -557,7 +538,7 @@ launch_args_parse(int argc, char** argv) { "portlist", 1, 0, 0 }, { "numa", 0, 0, 0 }, { "no-numa", 0, 0, 0 }, - { "mp-anon", 0, 0, 0 }, + { "mp-anon", 0, 0, 0 }, /* deprecated */ { "port-numa-config", 1, 0, 0 }, { "ring-numa-config", 1, 0, 0 }, { "socket-num", 1, 0, 0 }, -- 2.30.1
> -----Original Message-----
> From: Thomas Monjalon <thomas@monjalon.net>
> Sent: Monday, March 22, 2021 06:31
> To: dev@dpdk.org
> Cc: david.marchand@redhat.com; stable@dpdk.org; Ajit Khaparde
> <ajit.khaparde@broadcom.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>; Li, Xiaoyun <xiaoyun.li@intel.com>; Ori
> Kam <orika@nvidia.com>; Bing Zhao <bingz@nvidia.com>; Iremonger, Bernard
> <bernard.iremonger@intel.com>; Jens Freimann <jfreimann@redhat.com>;
> Kevin Traynor <ktraynor@redhat.com>; Stephen Hemminger
> <stephen@networkplumber.org>; Maciej Czekaj
> <maciej.czekaj@caviumnetworks.com>; De Lara Guarch, Pablo
> <pablo.de.lara.guarch@intel.com>
> Subject: [PATCH v4 11/11] app/testpmd: fix usage text
>
> The options help text was including an incomplete and redundant summary of
> the options before explaining each. The summary is dropped.
>
> The details of the option --hairpin-mode had an extra space, breaking the
> alignment with the next line.
>
> There were some mismatches between options in the usage text
> sed -rn 's/.*\(" *--([a-z-]*)[=: ].*/\1/p' app/test-pmd/parameters.c and
> the options declared in lgopts array
> sed -rn 's/.*\{.*"(.*)",.*,.*,.*},.*/\1/p' app/test-pmd/parameters.c The
> misses were:
> --no-numa
> --enable-scatter
> --tx-ip
> --tx-udp
> --noisy-lkup-num-reads-writes
> The option --ports was not implemented.
>
> Fixes: 01817b10d27c ("app/testpmd: change hairpin queues setup")
> Fixes: 3c156061b938 ("app/testpmd: add noisy neighbour forwarding mode")
> Fixes: bf5b2126bf44 ("app/testpmd: add ability to set Tx IP and UDP parameters")
> Fixes: 0499793854f5 ("app/testpmd: add scatter enabling option")
> Fixes: 999b2ee0fe45 ("app/testpmd: enable NUMA support by default")
> Fixes: af75078fece3 ("first public release")
> Cc: stable@dpdk.org
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> ---
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
On Sun, Mar 21, 2021 at 11:31:15PM +0100, Thomas Monjalon wrote:
>The options help text was including an incomplete and redundant
>summary of the options before explaining each. The summary is dropped.
>
>The details of the option --hairpin-mode had an extra space,
>breaking the alignment with the next line.
>
>There were some mismatches between options in the usage text
> sed -rn 's/.*\(" *--([a-z-]*)[=: ].*/\1/p' app/test-pmd/parameters.c
>and the options declared in lgopts array
> sed -rn 's/.*\{.*"(.*)",.*,.*,.*},.*/\1/p' app/test-pmd/parameters.c
>The misses were:
> --no-numa
> --enable-scatter
> --tx-ip
> --tx-udp
> --noisy-lkup-num-reads-writes
>The option --ports was not implemented.
>
>Fixes: 01817b10d27c ("app/testpmd: change hairpin queues setup")
>Fixes: 3c156061b938 ("app/testpmd: add noisy neighbour forwarding mode")
>Fixes: bf5b2126bf44 ("app/testpmd: add ability to set Tx IP and UDP parameters")
>Fixes: 0499793854f5 ("app/testpmd: add scatter enabling option")
>Fixes: 999b2ee0fe45 ("app/testpmd: enable NUMA support by default")
>Fixes: af75078fece3 ("first public release")
>Cc: stable@dpdk.org
>
>Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
>Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
>---
> app/test-pmd/parameters.c | 35 ++++++++---------------------------
> 1 file changed, 8 insertions(+), 27 deletions(-)
>
Thank you Thomas!
Reviewed-by: Jens Freimann <jfreimann@redhat.com>
regards,
Jens
Hi Thomas,
> -----Original Message-----
> From: Jens Freimann <jfreimann@redhat.com>
> Sent: Monday, March 22, 2021 4:27 PM
> To: NBU-Contact-Thomas Monjalon <thomas@monjalon.net>
> Cc: dev@dpdk.org; david.marchand@redhat.com; stable@dpdk.org; Ajit
> Khaparde <ajit.khaparde@broadcom.com>; Bruce Richardson
> <bruce.richardson@intel.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>; Xiaoyun Li <xiaoyun.li@intel.com>;
> Ori Kam <orika@nvidia.com>; Bing Zhao <bingz@nvidia.com>; Bernard
> Iremonger <bernard.iremonger@intel.com>; Kevin Traynor
> <ktraynor@redhat.com>; Stephen Hemminger
> <stephen@networkplumber.org>; Maciej Czekaj
> <maciej.czekaj@caviumnetworks.com>; Pablo de Lara
> <pablo.de.lara.guarch@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v4 11/11] app/testpmd: fix usage text
>
> External email: Use caution opening links or attachments
>
>
> On Sun, Mar 21, 2021 at 11:31:15PM +0100, Thomas Monjalon wrote:
> >The options help text was including an incomplete and redundant
> summary
> >of the options before explaining each. The summary is dropped.
> >
> >The details of the option --hairpin-mode had an extra space,
> breaking
> >the alignment with the next line.
> >
> >There were some mismatches between options in the usage text
> > sed -rn 's/.*\(" *--([a-z-]*)[=: ].*/\1/p'
> >app/test-pmd/parameters.c and the options declared in lgopts array
> > sed -rn 's/.*\{.*"(.*)",.*,.*,.*},.*/\1/p'
> >app/test-pmd/parameters.c The misses were:
> > --no-numa
> > --enable-scatter
> > --tx-ip
> > --tx-udp
> > --noisy-lkup-num-reads-writes
> >The option --ports was not implemented.
> >
> >Fixes: 01817b10d27c ("app/testpmd: change hairpin queues setup")
> >Fixes: 3c156061b938 ("app/testpmd: add noisy neighbour forwarding
> >mode")
> >Fixes: bf5b2126bf44 ("app/testpmd: add ability to set Tx IP and UDP
> >parameters")
> >Fixes: 0499793854f5 ("app/testpmd: add scatter enabling option")
> >Fixes: 999b2ee0fe45 ("app/testpmd: enable NUMA support by default")
> >Fixes: af75078fece3 ("first public release")
> >Cc: stable@dpdk.org
> >
> >Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> >Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> >Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> >---
> > app/test-pmd/parameters.c | 35 ++++++++---------------------------
> > 1 file changed, 8 insertions(+), 27 deletions(-)
> >
>
> Thank you Thomas!
>
> Reviewed-by: Jens Freimann <jfreimann@redhat.com>
>
> regards,
> Jens
Reviewed-by: Bing Zhao <bingz@nvidia.com>
Thanks a lot for the help.
The usage syntax help includes the program name which was fake. It is replaced with the real name from argv. Fixes: de06137cb295 ("app/regex: add RegEx test application") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ori Kam <orika@nvidia.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> --- app/test-regex/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/test-regex/main.c b/app/test-regex/main.c index 7bb87bb1b8..f18dc2eef8 100644 --- a/app/test-regex/main.c +++ b/app/test-regex/main.c @@ -151,10 +151,10 @@ args_parse(int argc, char **argv, char *rules_file, char *data_file, *nb_lcores = atoi(optarg); break; case ARG_HELP: - usage("RegEx test app"); + usage(argv[0]); break; default: - usage("RegEx test app"); + usage(argv[0]); rte_exit(EXIT_FAILURE, "Invalid option: %s\n", argv[optind]); break; } -- 2.31.1
The options help text was including an incomplete and redundant summary of the options before explaining each. The summary is dropped. The details of the option --hairpin-mode had an extra space, breaking the alignment with the next line. There were some mismatches between options in the usage text sed -rn 's/.*\(" *--([a-z-]*)[=: ].*/\1/p' app/test-pmd/parameters.c and the options declared in lgopts array sed -rn 's/.*\{.*"(.*)",.*,.*,.*},.*/\1/p' app/test-pmd/parameters.c The misses were: --no-numa --enable-scatter --tx-ip --tx-udp --noisy-lkup-num-reads-writes The option --ports was not implemented. Fixes: 01817b10d27c ("app/testpmd: change hairpin queues setup") Fixes: 3c156061b938 ("app/testpmd: add noisy neighbour forwarding mode") Fixes: bf5b2126bf44 ("app/testpmd: add ability to set Tx IP and UDP parameters") Fixes: 0499793854f5 ("app/testpmd: add scatter enabling option") Fixes: 999b2ee0fe45 ("app/testpmd: enable NUMA support by default") Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Acked-by: Xiaoyun Li <xiaoyun.li@intel.com> Reviewed-by: Jens Freimann <jfreimann@redhat.com> Reviewed-by: Bing Zhao <bingz@nvidia.com> --- app/test-pmd/parameters.c | 35 ++++++++--------------------------- 1 file changed, 8 insertions(+), 27 deletions(-) diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index b7d4ef76b0..f3954c1c63 100644 --- a/app/test-pmd/parameters.c +++ b/app/test-pmd/parameters.c @@ -49,29 +49,7 @@ static void usage(char* progname) { - printf("usage: %s [EAL options] -- " -#ifdef RTE_LIB_CMDLINE - "[--interactive|-i] " - "[--cmdline-file=FILENAME] " -#endif - "[--help|-h] | [--auto-start|-a] | [" - "--tx-first | --stats-period=PERIOD | " - "--coremask=COREMASK --portmask=PORTMASK --numa " - "--portlist=PORTLIST " - "--mbuf-size= | --total-num-mbufs= | " - "--nb-cores= | --nb-ports= | " -#ifdef RTE_LIB_CMDLINE - "--eth-peers-configfile= | " - "--eth-peer=X,M:M:M:M:M:M | " - "--tx-ip=SRC,DST | --tx-udp=PORT | " -#endif - "--pkt-filter-mode= |" - "--rss-ip | --rss-udp | --rss-level-inner | --rss-level-outer |" - "--rxpt= | --rxht= | --rxwt= |" - " --rxfreet= | --txpt= | --txht= | --txwt= | --txfreet= | " - "--txrst= | --tx-offloads= | | --rx-offloads= | " - "--vxlan-gpe-port= | --geneve-parsed-port= | " - "--record-core-cycles | --record-burst-stats]\n", + printf("\nUsage: %s [EAL options] -- [testpmd options]\n\n", progname); #ifdef RTE_LIB_CMDLINE printf(" --interactive: run in interactive mode.\n"); @@ -97,6 +75,7 @@ usage(char* progname) printf(" --portlist=PORTLIST: list of forwarding ports\n"); printf(" --numa: enable NUMA-aware allocation of RX/TX rings and of " "RX memory buffers (mbufs).\n"); + printf(" --no-numa: disable NUMA-aware allocation.\n"); printf(" --port-numa-config=(port,socket)[,(port,socket)]: " "specify the socket on which the memory pool " "used by the port will be allocated.\n"); @@ -136,6 +115,7 @@ usage(char* progname) "monitoring on forwarding lcore id N.\n"); #endif printf(" --disable-crc-strip: disable CRC stripping by hardware.\n"); + printf(" --enable-scatter: enable scattered Rx.\n"); printf(" --enable-lro: enable large receive offload.\n"); printf(" --enable-rx-cksum: enable rx hardware checksum offload.\n"); printf(" --enable-rx-timestamp: enable rx hardware timestamp offload.\n"); @@ -184,6 +164,8 @@ usage(char* progname) printf(" --txpkts=X[,Y]*: set TX segment sizes" " or total packet length.\n"); printf(" --txonly-multi-flow: generate multiple flows in txonly mode\n"); + printf(" --tx-ip=src,dst: IP addresses in Tx-only mode\n"); + printf(" --tx-udp=src[,dst]: UDP ports in Tx-only mode\n"); printf(" --eth-link-speed: force link speed.\n"); printf(" --disable-link-check: disable check on link status when " "starting/stopping ports.\n"); @@ -215,14 +197,14 @@ usage(char* progname) printf(" --noisy-lkup-memory=N: allocate N MB of VNF memory\n"); printf(" --noisy-lkup-num-writes=N: do N random writes per packet\n"); printf(" --noisy-lkup-num-reads=N: do N random reads per packet\n"); - printf(" --noisy-lkup-num-writes=N: do N random reads and writes per packet\n"); + printf(" --noisy-lkup-num-reads-writes=N: do N random reads and writes per packet\n"); printf(" --no-iova-contig: mempool memory can be IOVA non contiguous. " "valid only with --mp-alloc=anon\n"); printf(" --rx-mq-mode=0xX: hexadecimal bitmask of RX mq mode can be " "enabled\n"); printf(" --record-core-cycles: enable measurement of CPU cycles.\n"); printf(" --record-burst-stats: enable display of RX and TX bursts.\n"); - printf(" --hairpin-mode=0xXX: bitmask set the hairpin port mode.\n " + printf(" --hairpin-mode=0xXX: bitmask set the hairpin port mode.\n" " 0x10 - explicit Tx rule, 0x02 - hairpin ports paired\n" " 0x01 - hairpin ports loop, 0x00 - hairpin port self\n"); } @@ -549,7 +531,6 @@ launch_args_parse(int argc, char** argv) #endif { "tx-first", 0, 0, 0 }, { "stats-period", 1, 0, 0 }, - { "ports", 1, 0, 0 }, { "nb-cores", 1, 0, 0 }, { "nb-ports", 1, 0, 0 }, { "coremask", 1, 0, 0 }, @@ -557,7 +538,7 @@ launch_args_parse(int argc, char** argv) { "portlist", 1, 0, 0 }, { "numa", 0, 0, 0 }, { "no-numa", 0, 0, 0 }, - { "mp-anon", 0, 0, 0 }, + { "mp-anon", 0, 0, 0 }, /* deprecated */ { "port-numa-config", 1, 0, 0 }, { "ring-numa-config", 1, 0, 0 }, { "socket-num", 1, 0, 0 }, -- 2.31.1