xref: /dpdk/doc/guides/testpmd_app_ug/run_app.rst (revision 91c78e090eed7a2cfcc7945d8bc14532ce273e43)
15630257fSFerruh Yigit..  SPDX-License-Identifier: BSD-3-Clause
25630257fSFerruh Yigit    Copyright(c) 2010-2014 Intel Corporation.
3ac718398SBernard Iremonger
4ac718398SBernard IremongerRunning the Application
5ac718398SBernard Iremonger=======================
6ac718398SBernard Iremonger
7ac718398SBernard IremongerEAL Command-line Options
8ac718398SBernard Iremonger------------------------
9ac718398SBernard Iremonger
10c41c100bSDekel PeledPlease refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
11c41c100bSDekel Peledor :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>` for
12c41c100bSDekel Peleda list of available EAL command-line options.
13075b182bSEric Zhang
14ac718398SBernard Iremonger
15ac718398SBernard IremongerTestpmd Command-line Options
16ac718398SBernard Iremonger----------------------------
17ac718398SBernard Iremonger
18ac718398SBernard IremongerThe following are the command-line options for the testpmd applications.
19e76d7a76SJohn McNamaraThey must be separated from the EAL options, shown in the previous section, with a ``--`` separator:
20ac718398SBernard Iremonger
21ac718398SBernard Iremonger.. code-block:: console
22ac718398SBernard Iremonger
2335b09d76SKeith Wiles    sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
24ac718398SBernard Iremonger
25e76d7a76SJohn McNamaraThe command line options are:
26e76d7a76SJohn McNamara
27e76d7a76SJohn McNamara*   ``-i, --interactive``
28ac718398SBernard Iremonger
29ac718398SBernard Iremonger    Run testpmd in interactive mode.
30ac718398SBernard Iremonger    In this mode, the testpmd starts with a prompt that can be used to start and stop forwarding,
31ac718398SBernard Iremonger    configure the application and display stats on the current packet processing session.
32e76d7a76SJohn McNamara    See :ref:`testpmd_runtime` for more details.
33ac718398SBernard Iremonger
34ac718398SBernard Iremonger    In non-interactive mode,
35ac718398SBernard Iremonger    the application starts with the configuration specified on the command-line and
36ac718398SBernard Iremonger    immediately enters forwarding mode.
37ac718398SBernard Iremonger
38e76d7a76SJohn McNamara*   ``-h, --help``
39ac718398SBernard Iremonger
40ac718398SBernard Iremonger    Display a help message and quit.
41ac718398SBernard Iremonger
42e76d7a76SJohn McNamara*   ``-a, --auto-start``
43ac718398SBernard Iremonger
44e76d7a76SJohn McNamara    Start forwarding on initialization.
45ac718398SBernard Iremonger
4699cabef0SPablo de Lara*   ``--tx-first``
4799cabef0SPablo de Lara
4899cabef0SPablo de Lara    Start forwarding, after sending a burst of packets first.
4999cabef0SPablo de Lara
5099cabef0SPablo de Lara.. Note::
5199cabef0SPablo de Lara
5299cabef0SPablo de Lara   This flag should be only used in non-interactive mode.
5399cabef0SPablo de Lara
54cfea1f30SPablo de Lara*   ``--stats-period PERIOD``
55cfea1f30SPablo de Lara
56cfea1f30SPablo de Lara    Display statistics every PERIOD seconds, if interactive mode is disabled.
57cfea1f30SPablo de Lara    The default value is 0, which means that the statistics will not be displayed.
58cfea1f30SPablo de Lara
59e76d7a76SJohn McNamara*   ``--nb-cores=N``
60ac718398SBernard Iremonger
61ac718398SBernard Iremonger    Set the number of forwarding cores,
62e76d7a76SJohn McNamara    where 1 <= N <= "number of cores" or ``CONFIG_RTE_MAX_LCORE`` from the configuration file.
63ac718398SBernard Iremonger    The default value is 1.
64ac718398SBernard Iremonger
65e76d7a76SJohn McNamara*   ``--nb-ports=N``
66ac718398SBernard Iremonger
67ac718398SBernard Iremonger    Set the number of forwarding ports,
68e76d7a76SJohn McNamara    where 1 <= N <= "number of ports" on the board or ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
69ac718398SBernard Iremonger    The default value is the number of ports on the board.
70ac718398SBernard Iremonger
71e76d7a76SJohn McNamara*   ``--coremask=0xXX``
72ac718398SBernard Iremonger
73ac718398SBernard Iremonger    Set the hexadecimal bitmask of the cores running the packet forwarding test.
74ac718398SBernard Iremonger    The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
75ac718398SBernard Iremonger
76e76d7a76SJohn McNamara*   ``--portmask=0xXX``
77ac718398SBernard Iremonger
78ac718398SBernard Iremonger    Set the hexadecimal bitmask of the ports used by the packet forwarding test.
79ac718398SBernard Iremonger
802df00d56SHariprasad Govindharajan*   ``--portlist=X``
812df00d56SHariprasad Govindharajan
822df00d56SHariprasad Govindharajan      Set the forwarding ports based on the user input used by the packet forwarding test.
832df00d56SHariprasad Govindharajan      '-' denotes a range of ports to set including the two specified port IDs
842df00d56SHariprasad Govindharajan      ',' separates multiple port values.
852df00d56SHariprasad Govindharajan      Possible examples like --portlist=0,1 or --portlist=0-2 or --portlist=0,1-2 etc
862df00d56SHariprasad Govindharajan
87e76d7a76SJohn McNamara*   ``--numa``
88ac718398SBernard Iremonger
89999b2ee0SBruce Richardson    Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers
90999b2ee0SBruce Richardson    (mbufs). [Default setting]
91999b2ee0SBruce Richardson
92999b2ee0SBruce Richardson*   ``--no-numa``
93999b2ee0SBruce Richardson
94999b2ee0SBruce Richardson    Disable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs).
95ac718398SBernard Iremonger
96e76d7a76SJohn McNamara*   ``--port-numa-config=(port,socket)[,(port,socket)]``
97ac718398SBernard Iremonger
98ac718398SBernard Iremonger    Specify the socket on which the memory pool to be used by the port will be allocated.
99ac718398SBernard Iremonger
100e76d7a76SJohn McNamara*   ``--ring-numa-config=(port,flag,socket)[,(port,flag,socket)]``
101ac718398SBernard Iremonger
102ac718398SBernard Iremonger    Specify the socket on which the TX/RX rings for the port will be allocated.
103ac718398SBernard Iremonger    Where flag is 1 for RX, 2 for TX, and 3 for RX and TX.
104ac718398SBernard Iremonger
105e76d7a76SJohn McNamara*   ``--socket-num=N``
106ac718398SBernard Iremonger
107ac718398SBernard Iremonger    Set the socket from which all memory is allocated in NUMA mode,
108ac718398SBernard Iremonger    where 0 <= N < number of sockets on the board.
109ac718398SBernard Iremonger
11026cbb419SViacheslav Ovsiienko*   ``--mbuf-size=N[,N1[,...Nn]``
111ac718398SBernard Iremonger
11226cbb419SViacheslav Ovsiienko    Set the data size of the mbufs used to N bytes, where N < 65536.
11326cbb419SViacheslav Ovsiienko    The default value is 2048. If multiple mbuf-size values are specified the
11426cbb419SViacheslav Ovsiienko    extra memory pools will be created for allocating mbufs to receive packets
11526cbb419SViacheslav Ovsiienko    with buffer splittling features.
116ac718398SBernard Iremonger
117e76d7a76SJohn McNamara*   ``--total-num-mbufs=N``
118ac718398SBernard Iremonger
119ac718398SBernard Iremonger    Set the number of mbufs to be allocated in the mbuf pools, where N > 1024.
120ac718398SBernard Iremonger
121e76d7a76SJohn McNamara*   ``--max-pkt-len=N``
122ac718398SBernard Iremonger
123ac718398SBernard Iremonger    Set the maximum packet size to N bytes, where N >= 64. The default value is 1518.
124ac718398SBernard Iremonger
1254a729092SDekel Peled*   ``--max-lro-pkt-size=N``
1264a729092SDekel Peled
1274a729092SDekel Peled    Set the maximum LRO aggregated packet size to N bytes, where N >= 64.
1284a729092SDekel Peled
129e76d7a76SJohn McNamara*   ``--eth-peers-configfile=name``
130ac718398SBernard Iremonger
131ac718398SBernard Iremonger    Use a configuration file containing the Ethernet addresses of the peer ports.
132e76d7a76SJohn McNamara    The configuration file should contain the Ethernet addresses on separate lines::
133ac718398SBernard Iremonger
134ac718398SBernard Iremonger       XX:XX:XX:XX:XX:01
135ac718398SBernard Iremonger       XX:XX:XX:XX:XX:02
136ac718398SBernard Iremonger       ...
137ac718398SBernard Iremonger
138e76d7a76SJohn McNamara*   ``--eth-peer=N,XX:XX:XX:XX:XX:XX``
139ac718398SBernard Iremonger
140e76d7a76SJohn McNamara    Set the MAC address ``XX:XX:XX:XX:XX:XX`` of the peer port N,
141e76d7a76SJohn McNamara    where 0 <= N < ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
142ac718398SBernard Iremonger
143bf5b2126SStephen Hemminger*   ``--tx-ip=SRC,DST``
144bf5b2126SStephen Hemminger
145bf5b2126SStephen Hemminger    Set the source and destination IP address used when doing transmit only test.
1467cc1bd46SStephen Hemminger    The defaults address values are source 198.18.0.1 and
1477cc1bd46SStephen Hemminger    destination 198.18.0.2. These are special purpose addresses
1487cc1bd46SStephen Hemminger    reserved for benchmarking (RFC 5735).
149bf5b2126SStephen Hemminger
150bf5b2126SStephen Hemminger*   ``--tx-udp=SRC[,DST]``
151bf5b2126SStephen Hemminger
152bf5b2126SStephen Hemminger    Set the source and destination UDP port number for transmit test only test.
153bf5b2126SStephen Hemminger    The default port is the port 9 which is defined for the discard protocol
154bf5b2126SStephen Hemminger    (RFC 863).
155bf5b2126SStephen Hemminger
156e76d7a76SJohn McNamara*   ``--pkt-filter-mode=mode``
157ac718398SBernard Iremonger
158e76d7a76SJohn McNamara    Set Flow Director mode where mode is either ``none`` (the default), ``signature`` or ``perfect``.
159e76d7a76SJohn McNamara    See :ref:`testpmd_flow_director` for more details.
160ac718398SBernard Iremonger
161e76d7a76SJohn McNamara*   ``--pkt-filter-report-hash=mode``
162ac718398SBernard Iremonger
163e76d7a76SJohn McNamara    Set Flow Director hash match reporting mode where mode is ``none``, ``match`` (the default) or ``always``.
164e76d7a76SJohn McNamara
165e76d7a76SJohn McNamara*   ``--pkt-filter-size=N``
166ac718398SBernard Iremonger
167ac718398SBernard Iremonger    Set Flow Director allocated memory size, where N is 64K, 128K or 256K.
168ac718398SBernard Iremonger    Sizes are in kilobytes. The default is 64.
169ac718398SBernard Iremonger
170e76d7a76SJohn McNamara*   ``--pkt-filter-flexbytes-offset=N``
171ac718398SBernard Iremonger
172ac718398SBernard Iremonger    Set the flexbytes offset.
173ac718398SBernard Iremonger    The offset is defined in words (not bytes) counted from the first byte of the destination Ethernet MAC address,
174ac718398SBernard Iremonger    where N is 0 <= N <= 32.
175ac718398SBernard Iremonger    The default value is 0x6.
176ac718398SBernard Iremonger
177e76d7a76SJohn McNamara*   ``--pkt-filter-drop-queue=N``
178ac718398SBernard Iremonger
179ac718398SBernard Iremonger    Set the drop-queue.
180ac718398SBernard Iremonger    In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue.
181ac718398SBernard Iremonger    If the drop-queue does not exist, the packet is dropped. The default value is N=127.
182ac718398SBernard Iremonger
18379dd163fSJeff Guo*   ``--disable-crc-strip``
184ac718398SBernard Iremonger
18579dd163fSJeff Guo    Disable hardware CRC stripping.
186ac718398SBernard Iremonger
1874c3ea508SOlivier Matz*   ``--enable-lro``
1884c3ea508SOlivier Matz
1894c3ea508SOlivier Matz    Enable large receive offload.
1904c3ea508SOlivier Matz
191e76d7a76SJohn McNamara*   ``--enable-rx-cksum``
192ac718398SBernard Iremonger
193ac718398SBernard Iremonger    Enable hardware RX checksum offload.
194ac718398SBernard Iremonger
19504997938SMaciej Czekaj*   ``--enable-scatter``
19604997938SMaciej Czekaj
19704997938SMaciej Czekaj    Enable scatter (multi-segment) RX.
19804997938SMaciej Czekaj
1998b9bd0efSMoti Haimovsky*   ``--enable-hw-vlan``
200ac718398SBernard Iremonger
2018b9bd0efSMoti Haimovsky    Enable hardware VLAN.
202ac718398SBernard Iremonger
2038b9bd0efSMoti Haimovsky*   ``--enable-hw-vlan-filter``
204f2552cd5SOuyang Changchun
2058b9bd0efSMoti Haimovsky    Enable hardware VLAN filter.
206f2552cd5SOuyang Changchun
2078b9bd0efSMoti Haimovsky*   ``--enable-hw-vlan-strip``
208f2552cd5SOuyang Changchun
2098b9bd0efSMoti Haimovsky    Enable hardware VLAN strip.
210f2552cd5SOuyang Changchun
2118b9bd0efSMoti Haimovsky*   ``--enable-hw-vlan-extend``
212f2552cd5SOuyang Changchun
2138b9bd0efSMoti Haimovsky    Enable hardware VLAN extend.
214f2552cd5SOuyang Changchun
215b8577876SVivek Sharma*   ``--enable-hw-qinq-strip``
216b8577876SVivek Sharma
217b8577876SVivek Sharma    Enable hardware QINQ strip.
218b8577876SVivek Sharma
219e76d7a76SJohn McNamara*   ``--enable-drop-en``
220ac718398SBernard Iremonger
221ac718398SBernard Iremonger    Enable per-queue packet drop for packets with no descriptors.
222ac718398SBernard Iremonger
223e76d7a76SJohn McNamara*   ``--disable-rss``
224ac718398SBernard Iremonger
225ac718398SBernard Iremonger    Disable RSS (Receive Side Scaling).
226ac718398SBernard Iremonger
227e76d7a76SJohn McNamara*   ``--port-topology=mode``
228ac718398SBernard Iremonger
22948670ed6SRami Rosen    Set port topology, where mode is ``paired`` (the default), ``chained`` or ``loop``.
230e76d7a76SJohn McNamara
231e76d7a76SJohn McNamara    In ``paired`` mode, the forwarding is between pairs of ports, for example: (0,1), (2,3), (4,5).
232e76d7a76SJohn McNamara
233e76d7a76SJohn McNamara    In ``chained`` mode, the forwarding is to the next available port in the port mask, for example: (0,1), (1,2), (2,0).
234e76d7a76SJohn McNamara
235ac718398SBernard Iremonger    The ordering of the ports can be changed using the portlist testpmd runtime function.
236ac718398SBernard Iremonger
23748670ed6SRami Rosen    In ``loop`` mode, ingress traffic is simply transmitted back on the same interface.
23848670ed6SRami Rosen
239e76d7a76SJohn McNamara*   ``--forward-mode=mode``
240ac718398SBernard Iremonger
241e76d7a76SJohn McNamara    Set the forwarding mode where ``mode`` is one of the following::
242ac718398SBernard Iremonger
243e76d7a76SJohn McNamara       io (the default)
244e76d7a76SJohn McNamara       mac
245153ccd05SYong Wang       macswap
246e76d7a76SJohn McNamara       flowgen
247e76d7a76SJohn McNamara       rxonly
248e76d7a76SJohn McNamara       txonly
249e76d7a76SJohn McNamara       csum
250e76d7a76SJohn McNamara       icmpecho
251e76d7a76SJohn McNamara       ieee1588
2525b590fbeSJasvinder Singh       tm
2533c156061SJens Freimann       noisy
2542564abdaSShiri Kuzin       5tswap
255e76d7a76SJohn McNamara
256e76d7a76SJohn McNamara*   ``--rss-ip``
257ac718398SBernard Iremonger
258ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 only.
259ac718398SBernard Iremonger
260e76d7a76SJohn McNamara*   ``--rss-udp``
261ac718398SBernard Iremonger
262ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 and UDP.
263ac718398SBernard Iremonger
264e76d7a76SJohn McNamara*   ``--rxq=N``
265ac718398SBernard Iremonger
266ac718398SBernard Iremonger    Set the number of RX queues per port to N, where 1 <= N <= 65535.
267ac718398SBernard Iremonger    The default value is 1.
268ac718398SBernard Iremonger
269e76d7a76SJohn McNamara*   ``--rxd=N``
270ac718398SBernard Iremonger
271ac718398SBernard Iremonger    Set the number of descriptors in the RX rings to N, where N > 0.
272ac718398SBernard Iremonger    The default value is 128.
273ac718398SBernard Iremonger
274e76d7a76SJohn McNamara*   ``--txq=N``
275ac718398SBernard Iremonger
276ac718398SBernard Iremonger    Set the number of TX queues per port to N, where 1 <= N <= 65535.
277ac718398SBernard Iremonger    The default value is 1.
278ac718398SBernard Iremonger
279e76d7a76SJohn McNamara*   ``--txd=N``
280ac718398SBernard Iremonger
281ac718398SBernard Iremonger    Set the number of descriptors in the TX rings to N, where N > 0.
282ac718398SBernard Iremonger    The default value is 512.
283ac718398SBernard Iremonger
2841c69df45SOri Kam*   ``--hairpinq=N``
2851c69df45SOri Kam
2861c69df45SOri Kam    Set the number of hairpin queues per port to N, where 1 <= N <= 65535.
2871c69df45SOri Kam    The default value is 0. The number of hairpin queues are added to the
2881c69df45SOri Kam    number of TX queues and to the number of RX queues. then the first
2891c69df45SOri Kam    RX hairpin is binded to the first TX hairpin, the second RX hairpin is
2901c69df45SOri Kam    binded to the second TX hairpin and so on. The index of the first
2911c69df45SOri Kam    RX hairpin queue is the number of RX queues as configured using --rxq.
2921c69df45SOri Kam    The index of the first TX hairpin queue is the number of TX queues
2931c69df45SOri Kam    as configured using --txq.
2941c69df45SOri Kam
295e76d7a76SJohn McNamara*   ``--burst=N``
296ac718398SBernard Iremonger
297ac718398SBernard Iremonger    Set the number of packets per burst to N, where 1 <= N <= 512.
2988599ed31SRemy Horton    The default value is 32.
2998599ed31SRemy Horton    If set to 0, driver default is used if defined. Else, if driver
3008599ed31SRemy Horton    default is not defined, default of 32 is used.
301ac718398SBernard Iremonger
302e76d7a76SJohn McNamara*   ``--mbcache=N``
303ac718398SBernard Iremonger
304ac718398SBernard Iremonger    Set the cache of mbuf memory pools to N, where 0 <= N <= 512.
305ac718398SBernard Iremonger    The default value is 16.
306ac718398SBernard Iremonger
307e76d7a76SJohn McNamara*   ``--rxpt=N``
308ac718398SBernard Iremonger
309ac718398SBernard Iremonger    Set the prefetch threshold register of RX rings to N, where N >= 0.
310ac718398SBernard Iremonger    The default value is 8.
311ac718398SBernard Iremonger
312e76d7a76SJohn McNamara*   ``--rxht=N``
313ac718398SBernard Iremonger
314ac718398SBernard Iremonger    Set the host threshold register of RX rings to N, where N >= 0.
315ac718398SBernard Iremonger    The default value is 8.
316ac718398SBernard Iremonger
317e76d7a76SJohn McNamara*   ``--rxfreet=N``
318ac718398SBernard Iremonger
319ac718398SBernard Iremonger    Set the free threshold of RX descriptors to N, where 0 <= N < value of --rxd.
320ac718398SBernard Iremonger    The default value is 0.
321ac718398SBernard Iremonger
322e76d7a76SJohn McNamara*   ``--rxwt=N``
323ac718398SBernard Iremonger
324ac718398SBernard Iremonger    Set the write-back threshold register of RX rings to N, where N >= 0.
325ac718398SBernard Iremonger    The default value is 4.
326ac718398SBernard Iremonger
327e76d7a76SJohn McNamara*   ``--txpt=N``
328ac718398SBernard Iremonger
329ac718398SBernard Iremonger    Set the prefetch threshold register of TX rings to N, where N >= 0.
330ac718398SBernard Iremonger    The default value is 36.
331ac718398SBernard Iremonger
332e76d7a76SJohn McNamara*   ``--txht=N``
333ac718398SBernard Iremonger
334ac718398SBernard Iremonger    Set the host threshold register of TX rings to N, where N >= 0.
335ac718398SBernard Iremonger    The default value is 0.
336ac718398SBernard Iremonger
337e76d7a76SJohn McNamara*   ``--txwt=N``
338ac718398SBernard Iremonger
339ac718398SBernard Iremonger    Set the write-back threshold register of TX rings to N, where N >= 0.
340ac718398SBernard Iremonger    The default value is 0.
341ac718398SBernard Iremonger
342e76d7a76SJohn McNamara*   ``--txfreet=N``
343ac718398SBernard Iremonger
344e76d7a76SJohn McNamara    Set the transmit free threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
345ac718398SBernard Iremonger    The default value is 0.
346ac718398SBernard Iremonger
347e76d7a76SJohn McNamara*   ``--txrst=N``
348ac718398SBernard Iremonger
349e76d7a76SJohn McNamara    Set the transmit RS bit threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
350ac718398SBernard Iremonger    The default value is 0.
351ac718398SBernard Iremonger
352e76d7a76SJohn McNamara*   ``--rx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
353ac718398SBernard Iremonger
354ac718398SBernard Iremonger    Set the RX queues statistics counters mapping 0 <= mapping <= 15.
355ac718398SBernard Iremonger
356e76d7a76SJohn McNamara*   ``--tx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
357ac718398SBernard Iremonger
358ac718398SBernard Iremonger    Set the TX queues statistics counters mapping 0 <= mapping <= 15.
359ac718398SBernard Iremonger
360e76d7a76SJohn McNamara*   ``--no-flush-rx``
361ac718398SBernard Iremonger
362e76d7a76SJohn McNamara    Don't flush the RX streams before starting forwarding. Used mainly with the PCAP PMD.
363ac718398SBernard Iremonger
364*91c78e09SViacheslav Ovsiienko*   ``--rxoffs=X[,Y]``
365*91c78e09SViacheslav Ovsiienko
366*91c78e09SViacheslav Ovsiienko    Set the offsets of packet segments on receiving if split
367*91c78e09SViacheslav Ovsiienko    feature is engaged. Affects only the queues configured
368*91c78e09SViacheslav Ovsiienko    with split offloads (currently BUFFER_SPLIT is supported only).
369*91c78e09SViacheslav Ovsiienko
3700f2096d7SViacheslav Ovsiienko*   ``--rxpkts=X[,Y]``
3710f2096d7SViacheslav Ovsiienko
3720f2096d7SViacheslav Ovsiienko    Set the length of segments to scatter packets on receiving if split
3730f2096d7SViacheslav Ovsiienko    feature is engaged. Affects only the queues configured
3740f2096d7SViacheslav Ovsiienko    with split offloads (currently BUFFER_SPLIT is supported only).
3750f2096d7SViacheslav Ovsiienko    Optionally the multiple memory pools can be specified with --mbuf-size
3760f2096d7SViacheslav Ovsiienko    command line parameter and the mbufs to receive will be allocated
3770f2096d7SViacheslav Ovsiienko    sequentially from these extra memory pools.
3780f2096d7SViacheslav Ovsiienko
379e76d7a76SJohn McNamara*   ``--txpkts=X[,Y]``
380ac718398SBernard Iremonger
3812ebacaa7SMaciej Czekaj    Set TX segment sizes or total packet length. Valid for ``tx-only``
3822ebacaa7SMaciej Czekaj    and ``flowgen`` forwarding modes.
383ac718398SBernard Iremonger
38482010ef5SYongseok Koh*   ``--txonly-multi-flow``
38582010ef5SYongseok Koh
38682010ef5SYongseok Koh    Generate multiple flows in txonly mode.
38782010ef5SYongseok Koh
388e76d7a76SJohn McNamara*   ``--disable-link-check``
389ac718398SBernard Iremonger
390ac718398SBernard Iremonger    Disable check on link status when starting/stopping ports.
391b8628a0eSGaetan Rivet
3926937d210SStephen Hemminger*   ``--disable-device-start``
3936937d210SStephen Hemminger
3946937d210SStephen Hemminger    Do not automatically start all ports. This allows testing
3956937d210SStephen Hemminger    configuration of rx and tx queues before device is started
3966937d210SStephen Hemminger    for the first time.
3976937d210SStephen Hemminger
398b8628a0eSGaetan Rivet*   ``--no-lsc-interrupt``
399b8628a0eSGaetan Rivet
400b8628a0eSGaetan Rivet    Disable LSC interrupts for all ports, even those supporting it.
401b8628a0eSGaetan Rivet
402b8628a0eSGaetan Rivet*   ``--no-rmv-interrupt``
403b8628a0eSGaetan Rivet
404b8628a0eSGaetan Rivet    Disable RMV interrupts for all ports, even those supporting it.
405e25e6c70SRemy Horton
406e25e6c70SRemy Horton*   ``--bitrate-stats=N``
407e25e6c70SRemy Horton
408e25e6c70SRemy Horton    Set the logical core N to perform bitrate calculation.
4093af72783SGaetan Rivet
4100e459ffaSDong Zhou*   ``--print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|flow_aged|all>``
4113af72783SGaetan Rivet
412b6b63dfdSGaetan Rivet    Enable printing the occurrence of the designated event. Using all will
413b6b63dfdSGaetan Rivet    enable all of them.
4143af72783SGaetan Rivet
4150e459ffaSDong Zhou*   ``--mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|flow_aged|all>``
4163af72783SGaetan Rivet
417b6b63dfdSGaetan Rivet    Disable printing the occurrence of the designated event. Using all will
418b6b63dfdSGaetan Rivet    disable all of them.
4197ee3e944SVasily Philipov
4207ee3e944SVasily Philipov*   ``--flow-isolate-all``
4217ee3e944SVasily Philipov
4227ee3e944SVasily Philipov    Providing this parameter requests flow API isolated mode on all ports at
4237ee3e944SVasily Philipov    initialization time. It ensures all traffic is received through the
4247ee3e944SVasily Philipov    configured flow rules only (see flow command).
4257ee3e944SVasily Philipov
4267ee3e944SVasily Philipov    Ports that do not support this mode are automatically discarded.
427fd8c20aaSShahaf Shuler
428fd8c20aaSShahaf Shuler*   ``--tx-offloads=0xXXXXXXXX``
429fd8c20aaSShahaf Shuler
430fd8c20aaSShahaf Shuler    Set the hexadecimal bitmask of TX queue offloads.
431fd8c20aaSShahaf Shuler    The default value is 0.
432fb73e096SJeff Guo
433fb1a5a0fSVivek Sharma*   ``--rx-offloads=0xXXXXXXXX``
434fb1a5a0fSVivek Sharma
435fb1a5a0fSVivek Sharma    Set the hexadecimal bitmask of RX queue offloads.
436fb1a5a0fSVivek Sharma    The default value is 0.
437fb1a5a0fSVivek Sharma
438fb73e096SJeff Guo*   ``--hot-plug``
439fb73e096SJeff Guo
44047ae571eSStephen Hemminger    Enable device event monitor mechanism for hotplug.
44139e5e20fSXueming Li
44239e5e20fSXueming Li*   ``--vxlan-gpe-port=N``
44339e5e20fSXueming Li
44439e5e20fSXueming Li    Set the UDP port number of tunnel VXLAN-GPE to N.
44539e5e20fSXueming Li    The default value is 4790.
446e505d84cSAnatoly Burakov
4472f60c649SOphir Munk*   ``--geneve-parsed-port=N``
4482f60c649SOphir Munk
4492f60c649SOphir Munk    Set the UDP port number that is used for parsing the GENEVE protocol to N.
4502f60c649SOphir Munk    HW may be configured with another tunnel Geneve port.
4512f60c649SOphir Munk    The default value is 6081.
4522f60c649SOphir Munk
453e505d84cSAnatoly Burakov*   ``--mlockall``
454e505d84cSAnatoly Burakov
455e505d84cSAnatoly Burakov    Enable locking all memory.
456e505d84cSAnatoly Burakov
457e505d84cSAnatoly Burakov*   ``--no-mlockall``
458e505d84cSAnatoly Burakov
459e505d84cSAnatoly Burakov    Disable locking all memory.
460c7f5dba7SAnatoly Burakov
461c7f5dba7SAnatoly Burakov*   ``--mp-alloc <native|anon|xmem|xmemhuge>``
462c7f5dba7SAnatoly Burakov
463c7f5dba7SAnatoly Burakov    Select mempool allocation mode:
464c7f5dba7SAnatoly Burakov
465c7f5dba7SAnatoly Burakov    * native: create and populate mempool using native DPDK memory
466c7f5dba7SAnatoly Burakov    * anon: create mempool using native DPDK memory, but populate using
467c7f5dba7SAnatoly Burakov      anonymous memory
468c7f5dba7SAnatoly Burakov    * xmem: create and populate mempool using externally and anonymously
469c7f5dba7SAnatoly Burakov      allocated area
470c7f5dba7SAnatoly Burakov    * xmemhuge: create and populate mempool using externally and anonymously
471c7f5dba7SAnatoly Burakov      allocated hugepage area
4723c156061SJens Freimann
4733c156061SJens Freimann*   ``--noisy-tx-sw-buffer-size``
4743c156061SJens Freimann
4753c156061SJens Freimann    Set the number of maximum elements  of the FIFO queue to be created
4763c156061SJens Freimann    for buffering packets. Only available with the noisy forwarding mode.
4773c156061SJens Freimann    The default value is 0.
4783c156061SJens Freimann
4793c156061SJens Freimann*   ``--noisy-tx-sw-buffer-flushtime=N``
4803c156061SJens Freimann
4813c156061SJens Freimann    Set the time before packets in the FIFO queue is flushed.
4823c156061SJens Freimann    Only available with the noisy forwarding mode. The default value is 0.
4833c156061SJens Freimann
4843c156061SJens Freimann*   ``--noisy-lkup-memory=N``
4853c156061SJens Freimann
486d629b7b5SJohn McNamara    Set the size of the noisy neighbor simulation memory buffer in MB to N.
4873c156061SJens Freimann    Only available with the noisy forwarding mode. The default value is 0.
4883c156061SJens Freimann
4893c156061SJens Freimann
4903c156061SJens Freimann*   ``--noisy-lkup-num-reads=N``
4913c156061SJens Freimann
492d629b7b5SJohn McNamara    Set the number of reads to be done in noisy neighbor simulation memory buffer to N.
4933c156061SJens Freimann    Only available with the noisy forwarding mode. The default value is 0.
4943c156061SJens Freimann
4953c156061SJens Freimann*   ``--noisy-lkup-num-writes=N``
4963c156061SJens Freimann
497d629b7b5SJohn McNamara    Set the number of writes to be done in noisy neighbor simulation memory buffer to N.
4983c156061SJens Freimann    Only available with the noisy forwarding mode. The default value is 0.
4993c156061SJens Freimann
5003c156061SJens Freimann*   ``--noisy-lkup-num-reads-writes=N``
5013c156061SJens Freimann
502d629b7b5SJohn McNamara    Set the number of r/w accesses to be done in noisy neighbor simulation memory buffer to N.
5033c156061SJens Freimann    Only available with the noisy forwarding mode. The default value is 0.
50459fcf854SShahaf Shuler
50559fcf854SShahaf Shuler*   ``--no-iova-contig``
50659fcf854SShahaf Shuler
50759fcf854SShahaf Shuler    Enable to create mempool which is not IOVA contiguous. Valid only with --mp-alloc=anon.
50859fcf854SShahaf Shuler    The default value is 0.
509f9295aa2SXiaoyu Min
510f9295aa2SXiaoyu Min*   ``--rx-mq-mode``
511f9295aa2SXiaoyu Min
512f9295aa2SXiaoyu Min    Set the hexadecimal bitmask of RX multi queue mode which can be enabled.
513f9295aa2SXiaoyu Min    The default value is 0x7::
514f9295aa2SXiaoyu Min
515f9295aa2SXiaoyu Min       ETH_MQ_RX_RSS_FLAG | ETH_MQ_RX_DCB_FLAG | ETH_MQ_RX_VMDQ_FLAG
516bc700b67SDharmik Thakkar
517bc700b67SDharmik Thakkar*   ``--record-core-cycles``
518bc700b67SDharmik Thakkar
519bc700b67SDharmik Thakkar    Enable measurement of CPU cycles per packet.
5200e4b1963SDharmik Thakkar
5210e4b1963SDharmik Thakkar*   ``--record-burst-stats``
5220e4b1963SDharmik Thakkar
5230e4b1963SDharmik Thakkar    Enable display of RX and TX burst stats.
52401817b10SBing Zhao
52501817b10SBing Zhao*   ``--hairpin-mode=0xXX``
52601817b10SBing Zhao
52701817b10SBing Zhao    Set the hairpin port mode with bitmask, only valid when hairpin queues number is set.
52801817b10SBing Zhao    bit 4 - explicit Tx flow rule
52901817b10SBing Zhao    bit 1 - two hairpin ports paired
53001817b10SBing Zhao    bit 0 - two hairpin ports loop
53101817b10SBing Zhao    The default value is 0. Hairpin will use single port mode and implicit Tx flow mode.
532