xref: /dpdk/doc/guides/testpmd_app_ug/run_app.rst (revision cfea1f3048d1bfda61036e6f823949fba4d692d4)
1ac718398SBernard Iremonger..  BSD LICENSE
2ac718398SBernard Iremonger    Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
3ac718398SBernard Iremonger    All rights reserved.
4ac718398SBernard Iremonger
5ac718398SBernard Iremonger    Redistribution and use in source and binary forms, with or without
6ac718398SBernard Iremonger    modification, are permitted provided that the following conditions
7ac718398SBernard Iremonger    are met:
8ac718398SBernard Iremonger
9ac718398SBernard Iremonger    * Redistributions of source code must retain the above copyright
10ac718398SBernard Iremonger    notice, this list of conditions and the following disclaimer.
11ac718398SBernard Iremonger    * Redistributions in binary form must reproduce the above copyright
12ac718398SBernard Iremonger    notice, this list of conditions and the following disclaimer in
13ac718398SBernard Iremonger    the documentation and/or other materials provided with the
14ac718398SBernard Iremonger    distribution.
15ac718398SBernard Iremonger    * Neither the name of Intel Corporation nor the names of its
16ac718398SBernard Iremonger    contributors may be used to endorse or promote products derived
17ac718398SBernard Iremonger    from this software without specific prior written permission.
18ac718398SBernard Iremonger
19ac718398SBernard Iremonger    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20ac718398SBernard Iremonger    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21ac718398SBernard Iremonger    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22ac718398SBernard Iremonger    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23ac718398SBernard Iremonger    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24ac718398SBernard Iremonger    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25ac718398SBernard Iremonger    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26ac718398SBernard Iremonger    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27ac718398SBernard Iremonger    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28ac718398SBernard Iremonger    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29ac718398SBernard Iremonger    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30ac718398SBernard Iremonger
31ac718398SBernard IremongerRunning the Application
32ac718398SBernard Iremonger=======================
33ac718398SBernard Iremonger
34ac718398SBernard IremongerEAL Command-line Options
35ac718398SBernard Iremonger------------------------
36ac718398SBernard Iremonger
37ac718398SBernard IremongerThe following are the EAL command-line options that can be used in conjunction with the testpmd,
38bd89cca3SSiobhan Butleror any other DPDK application.
39e76d7a76SJohn McNamaraSee the DPDK Getting Started Guides for more information on these options.
40ac718398SBernard Iremonger
41e76d7a76SJohn McNamara*   ``-c COREMASK``
42ac718398SBernard Iremonger
43ac718398SBernard Iremonger    Set the hexadecimal bitmask of the cores to run on.
44ac718398SBernard Iremonger
45e76d7a76SJohn McNamara*   ``-l CORELIST``
46e3ab7a94SPablo de Lara
47e3ab7a94SPablo de Lara    List of cores to run on
48e3ab7a94SPablo de Lara
49e76d7a76SJohn McNamara    The argument format is ``<c1>[-c2][,c3[-c4],...]``
50e76d7a76SJohn McNamara    where ``c1``, ``c2``, etc are core indexes between 0 and 128.
51e3ab7a94SPablo de Lara
52e76d7a76SJohn McNamara*   ``--lcores COREMAP``
53e3ab7a94SPablo de Lara
54e3ab7a94SPablo de Lara    Map lcore set to physical cpu set
55e3ab7a94SPablo de Lara
56e76d7a76SJohn McNamara    The argument format is::
57e3ab7a94SPablo de Lara
58e76d7a76SJohn McNamara       <lcores[@cpus]>[<,lcores[@cpus]>...]
59e3ab7a94SPablo de Lara
60e76d7a76SJohn McNamara    Lcore and CPU lists are grouped by ``(`` and ``)`` Within the group.
61e76d7a76SJohn McNamara    The ``-`` character is used as a range separator and ``,`` is used as a single number separator.
62e76d7a76SJohn McNamara    The grouping ``()`` can be omitted for single element group.
63e76d7a76SJohn McNamara    The ``@`` can be omitted if cpus and lcores have the same value.
64e3ab7a94SPablo de Lara
65e76d7a76SJohn McNamara*   ``--master-lcore ID``
66e3ab7a94SPablo de Lara
67e76d7a76SJohn McNamara    Core ID that is used as master.
68e76d7a76SJohn McNamara
69e76d7a76SJohn McNamara*   ``-n NUM``
70ac718398SBernard Iremonger
71ac718398SBernard Iremonger    Set the number of memory channels to use.
72ac718398SBernard Iremonger
73e76d7a76SJohn McNamara*   ``-b, --pci-blacklist domain:bus:devid.func``
74ac718398SBernard Iremonger
757dbdc537SRami Rosen    Blacklist a PCI device to prevent EAL from using it. Multiple -b options are allowed.
76ac718398SBernard Iremonger
77e76d7a76SJohn McNamara*   ``-d LIB.so``
78ac718398SBernard Iremonger
79ac718398SBernard Iremonger    Load an external driver. Multiple -d options are allowed.
80ac718398SBernard Iremonger
81e76d7a76SJohn McNamara*   ``-w, --pci-whitelist domain:bus:devid:func``
82ac718398SBernard Iremonger
83ac718398SBernard Iremonger    Add a PCI device in white list.
84ac718398SBernard Iremonger
85e76d7a76SJohn McNamara*   ``-m MB``
86ac718398SBernard Iremonger
87e76d7a76SJohn McNamara    Memory to allocate. See also ``--socket-mem``.
88ac718398SBernard Iremonger
89e76d7a76SJohn McNamara*   ``-r NUM``
90ac718398SBernard Iremonger
91ac718398SBernard Iremonger    Set the number of memory ranks (auto-detected by default).
92ac718398SBernard Iremonger
93e76d7a76SJohn McNamara*   ``-v``
94ac718398SBernard Iremonger
95ac718398SBernard Iremonger    Display the version information on startup.
96ac718398SBernard Iremonger
97e76d7a76SJohn McNamara*   ``--xen-dom0``
98ac718398SBernard Iremonger
99ac718398SBernard Iremonger    Support application running on Xen Domain0 without hugetlbfs.
100ac718398SBernard Iremonger
101e76d7a76SJohn McNamara*   ``--syslog``
102ac718398SBernard Iremonger
103ac718398SBernard Iremonger    Set the syslog facility.
104ac718398SBernard Iremonger
105e76d7a76SJohn McNamara*   ``--socket-mem``
106ac718398SBernard Iremonger
107ac718398SBernard Iremonger    Set the memory to allocate on specific sockets (use comma separated values).
108ac718398SBernard Iremonger
109e76d7a76SJohn McNamara*   ``--huge-dir``
110ac718398SBernard Iremonger
111ac718398SBernard Iremonger    Specify the directory where the hugetlbfs is mounted.
112ac718398SBernard Iremonger
113e76d7a76SJohn McNamara*   ``--proc-type``
114ac718398SBernard Iremonger
115ac718398SBernard Iremonger    Set the type of the current process.
116ac718398SBernard Iremonger
117e76d7a76SJohn McNamara*   ``--file-prefix``
118ac718398SBernard Iremonger
119ac718398SBernard Iremonger    Prefix for hugepage filenames.
120ac718398SBernard Iremonger
121e76d7a76SJohn McNamara*   ``-vmware-tsc-map``
122ac718398SBernard Iremonger
123ac718398SBernard Iremonger    Use VMware TSC map instead of native RDTSC.
124ac718398SBernard Iremonger
125e76d7a76SJohn McNamara*   ``--vdev``
126ac718398SBernard Iremonger
127e76d7a76SJohn McNamara    Add a virtual device using the format::
128ac718398SBernard Iremonger
129e76d7a76SJohn McNamara       <driver><id>[,key=val, ...]
130e76d7a76SJohn McNamara
131e76d7a76SJohn McNamara    For example::
132e76d7a76SJohn McNamara
13358c82067SThomas Monjalon       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
134e76d7a76SJohn McNamara
135e76d7a76SJohn McNamara*   ``--base-virtaddr``
136ac718398SBernard Iremonger
137ac718398SBernard Iremonger    Specify base virtual address.
138ac718398SBernard Iremonger
139e76d7a76SJohn McNamara*   ``--create-uio-dev``
140ac718398SBernard Iremonger
141e76d7a76SJohn McNamara    Create ``/dev/uioX`` (usually done by hotplug).
142ac718398SBernard Iremonger
143e76d7a76SJohn McNamara*   ``--no-shconf``
144ac718398SBernard Iremonger
145e76d7a76SJohn McNamara    No shared config (mmap-ed files).
146ac718398SBernard Iremonger
147e76d7a76SJohn McNamara*   ``--no-pci``
148ac718398SBernard Iremonger
149ac718398SBernard Iremonger    Disable pci.
150ac718398SBernard Iremonger
151e76d7a76SJohn McNamara*   ``--no-hpet``
152ac718398SBernard Iremonger
153ac718398SBernard Iremonger    Disable hpet.
154ac718398SBernard Iremonger
155e76d7a76SJohn McNamara*   ``--no-huge``
156ac718398SBernard Iremonger
157ac718398SBernard Iremonger    Use malloc instead of hugetlbfs.
158ac718398SBernard Iremonger
159ac718398SBernard Iremonger
160ac718398SBernard IremongerTestpmd Command-line Options
161ac718398SBernard Iremonger----------------------------
162ac718398SBernard Iremonger
163ac718398SBernard IremongerThe following are the command-line options for the testpmd applications.
164e76d7a76SJohn McNamaraThey must be separated from the EAL options, shown in the previous section, with a ``--`` separator:
165ac718398SBernard Iremonger
166ac718398SBernard Iremonger.. code-block:: console
167ac718398SBernard Iremonger
16835b09d76SKeith Wiles    sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
169ac718398SBernard Iremonger
170e76d7a76SJohn McNamaraThe commandline options are:
171e76d7a76SJohn McNamara
172e76d7a76SJohn McNamara*   ``-i, --interactive``
173ac718398SBernard Iremonger
174ac718398SBernard Iremonger    Run testpmd in interactive mode.
175ac718398SBernard Iremonger    In this mode, the testpmd starts with a prompt that can be used to start and stop forwarding,
176ac718398SBernard Iremonger    configure the application and display stats on the current packet processing session.
177e76d7a76SJohn McNamara    See :ref:`testpmd_runtime` for more details.
178ac718398SBernard Iremonger
179ac718398SBernard Iremonger    In non-interactive mode,
180ac718398SBernard Iremonger    the application starts with the configuration specified on the command-line and
181ac718398SBernard Iremonger    immediately enters forwarding mode.
182ac718398SBernard Iremonger
183e76d7a76SJohn McNamara*   ``-h, --help``
184ac718398SBernard Iremonger
185ac718398SBernard Iremonger    Display a help message and quit.
186ac718398SBernard Iremonger
187e76d7a76SJohn McNamara*   ``-a, --auto-start``
188ac718398SBernard Iremonger
189e76d7a76SJohn McNamara    Start forwarding on initialization.
190ac718398SBernard Iremonger
19199cabef0SPablo de Lara*   ``--tx-first``
19299cabef0SPablo de Lara
19399cabef0SPablo de Lara    Start forwarding, after sending a burst of packets first.
19499cabef0SPablo de Lara
19599cabef0SPablo de Lara.. Note::
19699cabef0SPablo de Lara
19799cabef0SPablo de Lara   This flag should be only used in non-interactive mode.
19899cabef0SPablo de Lara
199*cfea1f30SPablo de Lara*   ``--stats-period PERIOD``
200*cfea1f30SPablo de Lara
201*cfea1f30SPablo de Lara    Display statistics every PERIOD seconds, if interactive mode is disabled.
202*cfea1f30SPablo de Lara    The default value is 0, which means that the statistics will not be displayed.
203*cfea1f30SPablo de Lara
204e76d7a76SJohn McNamara*   ``--nb-cores=N``
205ac718398SBernard Iremonger
206ac718398SBernard Iremonger    Set the number of forwarding cores,
207e76d7a76SJohn McNamara    where 1 <= N <= "number of cores" or ``CONFIG_RTE_MAX_LCORE`` from the configuration file.
208ac718398SBernard Iremonger    The default value is 1.
209ac718398SBernard Iremonger
210e76d7a76SJohn McNamara*   ``--nb-ports=N``
211ac718398SBernard Iremonger
212ac718398SBernard Iremonger    Set the number of forwarding ports,
213e76d7a76SJohn McNamara    where 1 <= N <= "number of ports" on the board or ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
214ac718398SBernard Iremonger    The default value is the number of ports on the board.
215ac718398SBernard Iremonger
216e76d7a76SJohn McNamara*   ``--coremask=0xXX``
217ac718398SBernard Iremonger
218ac718398SBernard Iremonger    Set the hexadecimal bitmask of the cores running the packet forwarding test.
219ac718398SBernard Iremonger    The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
220ac718398SBernard Iremonger
221e76d7a76SJohn McNamara*   ``--portmask=0xXX``
222ac718398SBernard Iremonger
223ac718398SBernard Iremonger    Set the hexadecimal bitmask of the ports used by the packet forwarding test.
224ac718398SBernard Iremonger
225e76d7a76SJohn McNamara*   ``--numa``
226ac718398SBernard Iremonger
227999b2ee0SBruce Richardson    Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers
228999b2ee0SBruce Richardson    (mbufs). [Default setting]
229999b2ee0SBruce Richardson
230999b2ee0SBruce Richardson*   ``--no-numa``
231999b2ee0SBruce Richardson
232999b2ee0SBruce Richardson    Disable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs).
233ac718398SBernard Iremonger
234e76d7a76SJohn McNamara*   ``--port-numa-config=(port,socket)[,(port,socket)]``
235ac718398SBernard Iremonger
236ac718398SBernard Iremonger    Specify the socket on which the memory pool to be used by the port will be allocated.
237ac718398SBernard Iremonger
238e76d7a76SJohn McNamara*   ``--ring-numa-config=(port,flag,socket)[,(port,flag,socket)]``
239ac718398SBernard Iremonger
240ac718398SBernard Iremonger    Specify the socket on which the TX/RX rings for the port will be allocated.
241ac718398SBernard Iremonger    Where flag is 1 for RX, 2 for TX, and 3 for RX and TX.
242ac718398SBernard Iremonger
243e76d7a76SJohn McNamara*   ``--socket-num=N``
244ac718398SBernard Iremonger
245ac718398SBernard Iremonger    Set the socket from which all memory is allocated in NUMA mode,
246ac718398SBernard Iremonger    where 0 <= N < number of sockets on the board.
247ac718398SBernard Iremonger
248e76d7a76SJohn McNamara*   ``--mbuf-size=N``
249ac718398SBernard Iremonger
250ac718398SBernard Iremonger    Set the data size of the mbufs used to N bytes, where N < 65536. The default value is 2048.
251ac718398SBernard Iremonger
252e76d7a76SJohn McNamara*   ``--total-num-mbufs=N``
253ac718398SBernard Iremonger
254ac718398SBernard Iremonger    Set the number of mbufs to be allocated in the mbuf pools, where N > 1024.
255ac718398SBernard Iremonger
256e76d7a76SJohn McNamara*   ``--max-pkt-len=N``
257ac718398SBernard Iremonger
258ac718398SBernard Iremonger    Set the maximum packet size to N bytes, where N >= 64. The default value is 1518.
259ac718398SBernard Iremonger
260e76d7a76SJohn McNamara*   ``--eth-peers-configfile=name``
261ac718398SBernard Iremonger
262ac718398SBernard Iremonger    Use a configuration file containing the Ethernet addresses of the peer ports.
263e76d7a76SJohn McNamara    The configuration file should contain the Ethernet addresses on separate lines::
264ac718398SBernard Iremonger
265ac718398SBernard Iremonger       XX:XX:XX:XX:XX:01
266ac718398SBernard Iremonger       XX:XX:XX:XX:XX:02
267ac718398SBernard Iremonger       ...
268ac718398SBernard Iremonger
269ac718398SBernard Iremonger
270e76d7a76SJohn McNamara*   ``--eth-peer=N,XX:XX:XX:XX:XX:XX``
271ac718398SBernard Iremonger
272e76d7a76SJohn McNamara    Set the MAC address ``XX:XX:XX:XX:XX:XX`` of the peer port N,
273e76d7a76SJohn McNamara    where 0 <= N < ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
274ac718398SBernard Iremonger
275e76d7a76SJohn McNamara*   ``--pkt-filter-mode=mode``
276ac718398SBernard Iremonger
277e76d7a76SJohn McNamara    Set Flow Director mode where mode is either ``none`` (the default), ``signature`` or ``perfect``.
278e76d7a76SJohn McNamara    See :ref:`testpmd_flow_director` for more details.
279ac718398SBernard Iremonger
280e76d7a76SJohn McNamara*   ``--pkt-filter-report-hash=mode``
281ac718398SBernard Iremonger
282e76d7a76SJohn McNamara    Set Flow Director hash match reporting mode where mode is ``none``, ``match`` (the default) or ``always``.
283e76d7a76SJohn McNamara
284e76d7a76SJohn McNamara*   ``--pkt-filter-size=N``
285ac718398SBernard Iremonger
286ac718398SBernard Iremonger    Set Flow Director allocated memory size, where N is 64K, 128K or 256K.
287ac718398SBernard Iremonger    Sizes are in kilobytes. The default is 64.
288ac718398SBernard Iremonger
289e76d7a76SJohn McNamara*   ``--pkt-filter-flexbytes-offset=N``
290ac718398SBernard Iremonger
291ac718398SBernard Iremonger    Set the flexbytes offset.
292ac718398SBernard Iremonger    The offset is defined in words (not bytes) counted from the first byte of the destination Ethernet MAC address,
293ac718398SBernard Iremonger    where N is 0 <= N <= 32.
294ac718398SBernard Iremonger    The default value is 0x6.
295ac718398SBernard Iremonger
296e76d7a76SJohn McNamara*   ``--pkt-filter-drop-queue=N``
297ac718398SBernard Iremonger
298ac718398SBernard Iremonger    Set the drop-queue.
299ac718398SBernard Iremonger    In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue.
300ac718398SBernard Iremonger    If the drop-queue does not exist, the packet is dropped. The default value is N=127.
301ac718398SBernard Iremonger
30279dd163fSJeff Guo*   ``--disable-crc-strip``
303ac718398SBernard Iremonger
30479dd163fSJeff Guo    Disable hardware CRC stripping.
305ac718398SBernard Iremonger
3064c3ea508SOlivier Matz*   ``--enable-lro``
3074c3ea508SOlivier Matz
3084c3ea508SOlivier Matz    Enable large receive offload.
3094c3ea508SOlivier Matz
310e76d7a76SJohn McNamara*   ``--enable-rx-cksum``
311ac718398SBernard Iremonger
312ac718398SBernard Iremonger    Enable hardware RX checksum offload.
313ac718398SBernard Iremonger
31404997938SMaciej Czekaj*   ``--enable-scatter``
31504997938SMaciej Czekaj
31604997938SMaciej Czekaj    Enable scatter (multi-segment) RX.
31704997938SMaciej Czekaj
318e76d7a76SJohn McNamara*   ``--disable-hw-vlan``
319ac718398SBernard Iremonger
320ac718398SBernard Iremonger    Disable hardware VLAN.
321ac718398SBernard Iremonger
322e76d7a76SJohn McNamara*   ``--disable-hw-vlan-filter``
323f2552cd5SOuyang Changchun
324f2552cd5SOuyang Changchun    Disable hardware VLAN filter.
325f2552cd5SOuyang Changchun
326e76d7a76SJohn McNamara*   ``--disable-hw-vlan-strip``
327f2552cd5SOuyang Changchun
328f2552cd5SOuyang Changchun    Disable hardware VLAN strip.
329f2552cd5SOuyang Changchun
330e76d7a76SJohn McNamara*   ``--disable-hw-vlan-extend``
331f2552cd5SOuyang Changchun
332f2552cd5SOuyang Changchun    Disable hardware VLAN extend.
333f2552cd5SOuyang Changchun
334e76d7a76SJohn McNamara*   ``--enable-drop-en``
335ac718398SBernard Iremonger
336ac718398SBernard Iremonger    Enable per-queue packet drop for packets with no descriptors.
337ac718398SBernard Iremonger
338e76d7a76SJohn McNamara*   ``--disable-rss``
339ac718398SBernard Iremonger
340ac718398SBernard Iremonger    Disable RSS (Receive Side Scaling).
341ac718398SBernard Iremonger
342e76d7a76SJohn McNamara*   ``--port-topology=mode``
343ac718398SBernard Iremonger
344e76d7a76SJohn McNamara    Set port topology, where mode is ``paired`` (the default) or ``chained``.
345e76d7a76SJohn McNamara
346e76d7a76SJohn McNamara    In ``paired`` mode, the forwarding is between pairs of ports, for example: (0,1), (2,3), (4,5).
347e76d7a76SJohn McNamara
348e76d7a76SJohn McNamara    In ``chained`` mode, the forwarding is to the next available port in the port mask, for example: (0,1), (1,2), (2,0).
349e76d7a76SJohn McNamara
350ac718398SBernard Iremonger    The ordering of the ports can be changed using the portlist testpmd runtime function.
351ac718398SBernard Iremonger
352e76d7a76SJohn McNamara*   ``--forward-mode=mode``
353ac718398SBernard Iremonger
354e76d7a76SJohn McNamara    Set the forwarding mode where ``mode`` is one of the following::
355ac718398SBernard Iremonger
356e76d7a76SJohn McNamara       io (the default)
357e76d7a76SJohn McNamara       mac
358e76d7a76SJohn McNamara       mac_swap
359e76d7a76SJohn McNamara       flowgen
360e76d7a76SJohn McNamara       rxonly
361e76d7a76SJohn McNamara       txonly
362e76d7a76SJohn McNamara       csum
363e76d7a76SJohn McNamara       icmpecho
364e76d7a76SJohn McNamara       ieee1588
365e76d7a76SJohn McNamara
366e76d7a76SJohn McNamara*   ``--rss-ip``
367ac718398SBernard Iremonger
368ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 only.
369ac718398SBernard Iremonger
370e76d7a76SJohn McNamara*   ``--rss-udp``
371ac718398SBernard Iremonger
372ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 and UDP.
373ac718398SBernard Iremonger
374e76d7a76SJohn McNamara*   ``--rxq=N``
375ac718398SBernard Iremonger
376ac718398SBernard Iremonger    Set the number of RX queues per port to N, where 1 <= N <= 65535.
377ac718398SBernard Iremonger    The default value is 1.
378ac718398SBernard Iremonger
379e76d7a76SJohn McNamara*   ``--rxd=N``
380ac718398SBernard Iremonger
381ac718398SBernard Iremonger    Set the number of descriptors in the RX rings to N, where N > 0.
382ac718398SBernard Iremonger    The default value is 128.
383ac718398SBernard Iremonger
384e76d7a76SJohn McNamara*   ``--txq=N``
385ac718398SBernard Iremonger
386ac718398SBernard Iremonger    Set the number of TX queues per port to N, where 1 <= N <= 65535.
387ac718398SBernard Iremonger    The default value is 1.
388ac718398SBernard Iremonger
389e76d7a76SJohn McNamara*   ``--txd=N``
390ac718398SBernard Iremonger
391ac718398SBernard Iremonger    Set the number of descriptors in the TX rings to N, where N > 0.
392ac718398SBernard Iremonger    The default value is 512.
393ac718398SBernard Iremonger
394e76d7a76SJohn McNamara*   ``--burst=N``
395ac718398SBernard Iremonger
396ac718398SBernard Iremonger    Set the number of packets per burst to N, where 1 <= N <= 512.
397ac718398SBernard Iremonger    The default value is 16.
398ac718398SBernard Iremonger
399e76d7a76SJohn McNamara*   ``--mbcache=N``
400ac718398SBernard Iremonger
401ac718398SBernard Iremonger    Set the cache of mbuf memory pools to N, where 0 <= N <= 512.
402ac718398SBernard Iremonger    The default value is 16.
403ac718398SBernard Iremonger
404e76d7a76SJohn McNamara*   ``--rxpt=N``
405ac718398SBernard Iremonger
406ac718398SBernard Iremonger    Set the prefetch threshold register of RX rings to N, where N >= 0.
407ac718398SBernard Iremonger    The default value is 8.
408ac718398SBernard Iremonger
409e76d7a76SJohn McNamara*   ``--rxht=N``
410ac718398SBernard Iremonger
411ac718398SBernard Iremonger    Set the host threshold register of RX rings to N, where N >= 0.
412ac718398SBernard Iremonger    The default value is 8.
413ac718398SBernard Iremonger
414e76d7a76SJohn McNamara*   ``--rxfreet=N``
415ac718398SBernard Iremonger
416ac718398SBernard Iremonger    Set the free threshold of RX descriptors to N, where 0 <= N < value of --rxd.
417ac718398SBernard Iremonger    The default value is 0.
418ac718398SBernard Iremonger
419e76d7a76SJohn McNamara*   ``--rxwt=N``
420ac718398SBernard Iremonger
421ac718398SBernard Iremonger    Set the write-back threshold register of RX rings to N, where N >= 0.
422ac718398SBernard Iremonger    The default value is 4.
423ac718398SBernard Iremonger
424e76d7a76SJohn McNamara*   ``--txpt=N``
425ac718398SBernard Iremonger
426ac718398SBernard Iremonger    Set the prefetch threshold register of TX rings to N, where N >= 0.
427ac718398SBernard Iremonger    The default value is 36.
428ac718398SBernard Iremonger
429e76d7a76SJohn McNamara*   ``--txht=N``
430ac718398SBernard Iremonger
431ac718398SBernard Iremonger    Set the host threshold register of TX rings to N, where N >= 0.
432ac718398SBernard Iremonger    The default value is 0.
433ac718398SBernard Iremonger
434e76d7a76SJohn McNamara*   ``--txwt=N``
435ac718398SBernard Iremonger
436ac718398SBernard Iremonger    Set the write-back threshold register of TX rings to N, where N >= 0.
437ac718398SBernard Iremonger    The default value is 0.
438ac718398SBernard Iremonger
439e76d7a76SJohn McNamara*   ``--txfreet=N``
440ac718398SBernard Iremonger
441e76d7a76SJohn McNamara    Set the transmit free threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
442ac718398SBernard Iremonger    The default value is 0.
443ac718398SBernard Iremonger
444e76d7a76SJohn McNamara*   ``--txrst=N``
445ac718398SBernard Iremonger
446e76d7a76SJohn McNamara    Set the transmit RS bit threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
447ac718398SBernard Iremonger    The default value is 0.
448ac718398SBernard Iremonger
449e76d7a76SJohn McNamara*   ``--txqflags=0xXXXXXXXX``
450ac718398SBernard Iremonger
451ac718398SBernard Iremonger    Set the hexadecimal bitmask of TX queue flags, where 0 <= N <= 0x7FFFFFFF.
452ac718398SBernard Iremonger    The default value is 0.
453ac718398SBernard Iremonger
454e76d7a76SJohn McNamara    .. note::
455be2d7a05SPablo de Lara
456e76d7a76SJohn McNamara       When using hardware offload functions such as vlan or checksum
457e76d7a76SJohn McNamara       add ``txqflags=0`` to force the full-featured TX code path.
458e76d7a76SJohn McNamara       In some PMDs this may already be the default.
459be2d7a05SPablo de Lara
460e76d7a76SJohn McNamara
461e76d7a76SJohn McNamara*   ``--rx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
462ac718398SBernard Iremonger
463ac718398SBernard Iremonger    Set the RX queues statistics counters mapping 0 <= mapping <= 15.
464ac718398SBernard Iremonger
465e76d7a76SJohn McNamara*   ``--tx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
466ac718398SBernard Iremonger
467ac718398SBernard Iremonger    Set the TX queues statistics counters mapping 0 <= mapping <= 15.
468ac718398SBernard Iremonger
469e76d7a76SJohn McNamara*   ``--no-flush-rx``
470ac718398SBernard Iremonger
471e76d7a76SJohn McNamara    Don't flush the RX streams before starting forwarding. Used mainly with the PCAP PMD.
472ac718398SBernard Iremonger
473e76d7a76SJohn McNamara*   ``--txpkts=X[,Y]``
474ac718398SBernard Iremonger
4752ebacaa7SMaciej Czekaj    Set TX segment sizes or total packet length. Valid for ``tx-only``
4762ebacaa7SMaciej Czekaj    and ``flowgen`` forwarding modes.
477ac718398SBernard Iremonger
478e76d7a76SJohn McNamara*   ``--disable-link-check``
479ac718398SBernard Iremonger
480ac718398SBernard Iremonger    Disable check on link status when starting/stopping ports.
481b8628a0eSGaetan Rivet
482b8628a0eSGaetan Rivet*   ``--no-lsc-interrupt``
483b8628a0eSGaetan Rivet
484b8628a0eSGaetan Rivet    Disable LSC interrupts for all ports, even those supporting it.
485b8628a0eSGaetan Rivet
486b8628a0eSGaetan Rivet*   ``--no-rmv-interrupt``
487b8628a0eSGaetan Rivet
488b8628a0eSGaetan Rivet    Disable RMV interrupts for all ports, even those supporting it.
489e25e6c70SRemy Horton
490e25e6c70SRemy Horton*   ``--bitrate-stats=N``
491e25e6c70SRemy Horton
492e25e6c70SRemy Horton    Set the logical core N to perform bitrate calculation.
4933af72783SGaetan Rivet
494b6b63dfdSGaetan Rivet*   ``--print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>``
4953af72783SGaetan Rivet
496b6b63dfdSGaetan Rivet    Enable printing the occurrence of the designated event. Using all will
497b6b63dfdSGaetan Rivet    enable all of them.
4983af72783SGaetan Rivet
499b6b63dfdSGaetan Rivet*   ``--mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>``
5003af72783SGaetan Rivet
501b6b63dfdSGaetan Rivet    Disable printing the occurrence of the designated event. Using all will
502b6b63dfdSGaetan Rivet    disable all of them.
503