* [PATCH] examples/l3fwd: sync cli options with documentation
@ 2026-11-09 0:49 Andrei-Niculae Petre
2026-11-12 21:39 ` Thomas Monjalon
0 siblings, 1 reply; 2+ messages in thread
From: Andrei-Niculae Petre @ 2026-11-09 0:49 UTC (permalink / raw)
To: dev; +Cc: Konstantin Ananyev, Stephen Hemminger, Andrei-Niculae Petre
Synchronize options between print_usage() in main.c and the sample app
guide documentation (l3_forward.rst).
Specifically:
- Add missing options to print_usage() synopsis: --eth-link-speed,
--disable-rss, --relax-rx-offload, --event-eth-rxqs, and --alg.
- Add missing option descriptions in print_usage(): --disable-rss and
--relax-rx-offload.
- Add missing options to l3_forward.rst: --eth-link-speed,
--rx-queue-size, --tx-queue-size, --mbcache, --disable-rss,
--relax-rx-offload, and --alg.
- Remove obsolete --hash-entry-num from l3_forward.rst as the option
has been ignored since commit f5251734c5e1 ("examples/l3fwd: remove
hash entry number").
All 25 active long options are now fully documented and aligned across
main.c and l3_forward.rst.
Doing a pass of all the options shows main.c >= 2 and rst >= 2 for each
of them, proving no more omissions exist now.
$ for opt in $(grep -oP '#define CMD_(LINE|LINK)_OPT_\w+\s+"\K[^"]+' \
examples/l3fwd/main.c | grep -v 'hash-entry-num'); do
printf "%-20s: main.c: %2d, rst: %2d\n" "$opt" \
"$(grep -c -- "--$opt" examples/l3fwd/main.c)" \
"$(grep -c -- "--$opt" doc/guides/sample_app_ug/l3_forward.rst)"
done
config : main.c: 2, rst: 5
eth-link-speed : main.c: 2, rst: 2
rx-queue-size : main.c: 2, rst: 2
tx-queue-size : main.c: 2, rst: 2
eth-dest : main.c: 2, rst: 2
no-numa : main.c: 2, rst: 2
ipv6 : main.c: 2, rst: 3
max-pkt-len : main.c: 2, rst: 2
parse-ptype : main.c: 2, rst: 2
disable-rss : main.c: 2, rst: 2
relax-rx-offload : main.c: 2, rst: 2
per-port-pool : main.c: 2, rst: 2
mode : main.c: 4, rst: 8
eventq-sched : main.c: 2, rst: 6
event-eth-rxqs : main.c: 2, rst: 2
lookup : main.c: 4, rst: 4
event-vector : main.c: 4, rst: 4
event-vector-size : main.c: 2, rst: 2
event-vector-tmo : main.c: 2, rst: 2
rule_ipv4 : main.c: 2, rst: 6
rule_ipv6 : main.c: 2, rst: 6
alg : main.c: 2, rst: 2
rx-burst : main.c: 2, rst: 2
tx-burst : main.c: 2, rst: 2
mbcache : main.c: 2, rst: 2
Bugzilla ID: 545
Signed-off-by: Andrei-Niculae Petre <p31andrei@gmail.com>
---
.mailmap | 1 +
doc/guides/sample_app_ug/l3_forward.rst | 28 +++++++++++++++++++------
examples/l3fwd/main.c | 7 +++++++
3 files changed, 30 insertions(+), 6 deletions(-)
diff --git a/.mailmap b/.mailmap
index 754dd9e760..844deef539 100644
--- a/.mailmap
+++ b/.mailmap
@@ -115,6 +115,7 @@ Andre Richter <andre.o.richter@gmail.com>
Andrea Arcangeli <aarcange@redhat.com>
Andrea Grandi <andrea.grandi@intel.com>
Andrea Panattoni <apanatto@redhat.com>
+Andrei-Niculae Petre <p31andrei@gmail.com> <andrei.petre@keysight.com>
Andrew Bailey <abailey@iol.unh.edu>
Andrew Boyer <andrew.boyer@amd.com> <aboyer@pensando.io>
Andrew Harvey <agh@cisco.com>
diff --git a/doc/guides/sample_app_ug/l3_forward.rst b/doc/guides/sample_app_ug/l3_forward.rst
index 452bd8cc6c..996e01439c 100644
--- a/doc/guides/sample_app_ug/l3_forward.rst
+++ b/doc/guides/sample_app_ug/l3_forward.rst
@@ -77,19 +77,25 @@ The application has a number of command line options::
[-P]
[--lookup LOOKUP_METHOD]
--config(port,queue,lcore)[,(port,queue,lcore)]
+ [--eth-link-speed SPEED]
+ [--rx-queue-size NPKTS]
+ [--tx-queue-size NPKTS]
[--rx-burst NPKTS]
[--tx-burst NPKTS]
+ [--mbcache CACHESZ]
[--eth-dest=X,MM:MM:MM:MM:MM:MM]
[--max-pkt-len PKTLEN]
[--no-numa]
- [--hash-entry-num]
[--ipv6]
[--parse-ptype]
+ [--disable-rss]
+ [--relax-rx-offload]
[--per-port-pool]
[--mode]
[--eventq-sched]
[--event-eth-rxqs]
[--event-vector [--event-vector-size SIZE] [--event-vector-tmo NS]]
+ [--alg ALG]
[-E]
[-L]
@@ -115,22 +121,35 @@ Where,
* ``--config (port,queue,lcore)[,(port,queue,lcore)]:`` Determines which queues from which ports are mapped to which cores.
+* ``--eth-link-speed SPEED:`` Optional, forces link speed (e.g. 10, 100, 1000, 10000 Mbps).
+
+* ``--rx-queue-size NPKTS:`` Optional, sets the number of Rx descriptors per queue (default 1024).
+
+* ``--tx-queue-size NPKTS:`` Optional, sets the number of Tx descriptors per queue (default 1024).
+
* ``--rx-burst NPKTS:`` Optional, Rx burst size in decimal (default 32).
* ``--tx-burst NPKTS:`` Optional, Tx burst size in decimal (default 32).
+* ``--mbcache CACHESZ:`` Optional, sets the mbuf pool cache size per lcore (default 512).
+
* ``--eth-dest=X,MM:MM:MM:MM:MM:MM:`` Optional, ethernet destination for port X.
* ``--max-pkt-len:`` Optional, maximum packet length in decimal (64-9600).
* ``--no-numa:`` Optional, disables numa awareness.
-* ``--hash-entry-num:`` Optional, specifies the hash entry number in hexadecimal to be setup.
-
* ``--ipv6:`` Optional, set if running ipv6 packets.
* ``--parse-ptype:`` Optional, set to use software to analyze packet type. Without this option, hardware will check the packet type.
+* ``--disable-rss:`` Optional, disables RSS (Receive Side Scaling).
+
+* ``--relax-rx-offload:`` Optional, relaxes Rx offload requirements based on device
+ capabilities. When requested offloads (such as IPv4 checksum offload) are not supported
+ by the device (e.g., virtual devices such as ``vhost``, ``virtio``, or ``pcap``),
+ unsupported offloads are masked off and software validation is enabled.
+
* ``--per-port-pool:`` Optional, set to use independent buffer pools per port. Without this option, single buffer pool is used for all ports.
* ``--mode:`` Optional, Packet transfer mode for I/O, poll or eventdev.
@@ -321,9 +340,6 @@ for the convenience to execute hash performance test on 4M/8M/16M flows.
.. note::
Value of global variable ipv6 can be specified with --ipv6 in the command line.
- Value of global variable hash_entry_number,
- which is used to specify the total hash entry number for all used ports in hash performance test,
- can be specified with --hash-entry-num VALUE in command line, being its default value 4.
.. code-block:: c
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index 9532150a47..aad33eb5d4 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -397,6 +397,7 @@ print_usage(const char *prgname)
" [-P]"
" [--lookup]"
" --config (port,queue,lcore)[,(port,queue,lcore)]"
+ " [--eth-link-speed SPEED]"
" [--rx-queue-size NPKTS]"
" [--tx-queue-size NPKTS]"
" [--rx-burst NPKTS]"
@@ -407,12 +408,16 @@ print_usage(const char *prgname)
" [--no-numa]"
" [--ipv6]"
" [--parse-ptype]"
+ " [--disable-rss]"
+ " [--relax-rx-offload]"
" [--per-port-pool]"
" [--mode]"
#ifdef RTE_LIB_EVENTDEV
" [--eventq-sched]"
+ " [--event-eth-rxqs]"
" [--event-vector [--event-vector-size SIZE] [--event-vector-tmo NS]]"
#endif
+ " [--alg ALG]"
" [-E]"
" [-L]\n\n"
@@ -439,6 +444,8 @@ print_usage(const char *prgname)
" --no-numa: Disable numa awareness\n"
" --ipv6: Set if running ipv6 packets\n"
" --parse-ptype: Set to use software to analyze packet type\n"
+ " --disable-rss: Disable RSS\n"
+ " --relax-rx-offload: Relax Rx offload mode\n"
" --per-port-pool: Use separate buffer pool per port\n"
" --mode: Packet transfer mode for I/O, poll or eventdev\n"
" Default mode = poll\n"
--
2.39.5
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] examples/l3fwd: sync cli options with documentation
2026-11-09 0:49 [PATCH] examples/l3fwd: sync cli options with documentation Andrei-Niculae Petre
@ 2026-11-12 21:39 ` Thomas Monjalon
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Monjalon @ 2026-11-12 21:39 UTC (permalink / raw)
To: Andrei-Niculae Petre; +Cc: dev, Konstantin Ananyev, Stephen Hemminger
09/11/2026 01:49, Andrei-Niculae Petre:
> Synchronize options between print_usage() in main.c and the sample app
> guide documentation (l3_forward.rst).
Comments from AI:
- The parser explicitly rejects 10 and 100 Mbps,
so these examples should be removed.
--relax-rx-offload masks unsupported offloads
but does not enable software validation on all forwarding paths.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-11-12 21:39 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-09 0:49 [PATCH] examples/l3fwd: sync cli options with documentation Andrei-Niculae Petre
2026-11-12 21:39 ` Thomas Monjalon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox