app/testpmd: fix usage text
authorThomas Monjalon <thomas@monjalon.net>
Mon, 5 Apr 2021 19:33:25 +0000 (21:33 +0200)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 9 Apr 2021 12:31:43 +0000 (14:31 +0200)
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>
Acked-by: David Marchand <david.marchand@redhat.com>
app/test-pmd/parameters.c

index b7d4ef7..f3954c1 100644 (file)
 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 },