xref: /dpdk/doc/guides/testpmd_app_ug/run_app.rst (revision a103a97e7191179ad6a451ce85182df2ecb10c26)
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
113*a103a97eSSantosh Shukla*   ``mbuf-pool-ops-name``:
114*a103a97eSSantosh Shukla
115*a103a97eSSantosh Shukla    Pool ops name for mbuf to use.
116*a103a97eSSantosh Shukla
117e76d7a76SJohn McNamara*   ``--proc-type``
118ac718398SBernard Iremonger
119ac718398SBernard Iremonger    Set the type of the current process.
120ac718398SBernard Iremonger
121e76d7a76SJohn McNamara*   ``--file-prefix``
122ac718398SBernard Iremonger
123ac718398SBernard Iremonger    Prefix for hugepage filenames.
124ac718398SBernard Iremonger
125e76d7a76SJohn McNamara*   ``-vmware-tsc-map``
126ac718398SBernard Iremonger
127ac718398SBernard Iremonger    Use VMware TSC map instead of native RDTSC.
128ac718398SBernard Iremonger
129e76d7a76SJohn McNamara*   ``--vdev``
130ac718398SBernard Iremonger
131e76d7a76SJohn McNamara    Add a virtual device using the format::
132ac718398SBernard Iremonger
133e76d7a76SJohn McNamara       <driver><id>[,key=val, ...]
134e76d7a76SJohn McNamara
135e76d7a76SJohn McNamara    For example::
136e76d7a76SJohn McNamara
13758c82067SThomas Monjalon       --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
138e76d7a76SJohn McNamara
139e76d7a76SJohn McNamara*   ``--base-virtaddr``
140ac718398SBernard Iremonger
141ac718398SBernard Iremonger    Specify base virtual address.
142ac718398SBernard Iremonger
143e76d7a76SJohn McNamara*   ``--create-uio-dev``
144ac718398SBernard Iremonger
145e76d7a76SJohn McNamara    Create ``/dev/uioX`` (usually done by hotplug).
146ac718398SBernard Iremonger
147e76d7a76SJohn McNamara*   ``--no-shconf``
148ac718398SBernard Iremonger
149e76d7a76SJohn McNamara    No shared config (mmap-ed files).
150ac718398SBernard Iremonger
151e76d7a76SJohn McNamara*   ``--no-pci``
152ac718398SBernard Iremonger
153ac718398SBernard Iremonger    Disable pci.
154ac718398SBernard Iremonger
155e76d7a76SJohn McNamara*   ``--no-hpet``
156ac718398SBernard Iremonger
157ac718398SBernard Iremonger    Disable hpet.
158ac718398SBernard Iremonger
159e76d7a76SJohn McNamara*   ``--no-huge``
160ac718398SBernard Iremonger
161ac718398SBernard Iremonger    Use malloc instead of hugetlbfs.
162ac718398SBernard Iremonger
163ac718398SBernard Iremonger
164ac718398SBernard IremongerTestpmd Command-line Options
165ac718398SBernard Iremonger----------------------------
166ac718398SBernard Iremonger
167ac718398SBernard IremongerThe following are the command-line options for the testpmd applications.
168e76d7a76SJohn McNamaraThey must be separated from the EAL options, shown in the previous section, with a ``--`` separator:
169ac718398SBernard Iremonger
170ac718398SBernard Iremonger.. code-block:: console
171ac718398SBernard Iremonger
17235b09d76SKeith Wiles    sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
173ac718398SBernard Iremonger
174e76d7a76SJohn McNamaraThe commandline options are:
175e76d7a76SJohn McNamara
176e76d7a76SJohn McNamara*   ``-i, --interactive``
177ac718398SBernard Iremonger
178ac718398SBernard Iremonger    Run testpmd in interactive mode.
179ac718398SBernard Iremonger    In this mode, the testpmd starts with a prompt that can be used to start and stop forwarding,
180ac718398SBernard Iremonger    configure the application and display stats on the current packet processing session.
181e76d7a76SJohn McNamara    See :ref:`testpmd_runtime` for more details.
182ac718398SBernard Iremonger
183ac718398SBernard Iremonger    In non-interactive mode,
184ac718398SBernard Iremonger    the application starts with the configuration specified on the command-line and
185ac718398SBernard Iremonger    immediately enters forwarding mode.
186ac718398SBernard Iremonger
187e76d7a76SJohn McNamara*   ``-h, --help``
188ac718398SBernard Iremonger
189ac718398SBernard Iremonger    Display a help message and quit.
190ac718398SBernard Iremonger
191e76d7a76SJohn McNamara*   ``-a, --auto-start``
192ac718398SBernard Iremonger
193e76d7a76SJohn McNamara    Start forwarding on initialization.
194ac718398SBernard Iremonger
19599cabef0SPablo de Lara*   ``--tx-first``
19699cabef0SPablo de Lara
19799cabef0SPablo de Lara    Start forwarding, after sending a burst of packets first.
19899cabef0SPablo de Lara
19999cabef0SPablo de Lara.. Note::
20099cabef0SPablo de Lara
20199cabef0SPablo de Lara   This flag should be only used in non-interactive mode.
20299cabef0SPablo de Lara
203cfea1f30SPablo de Lara*   ``--stats-period PERIOD``
204cfea1f30SPablo de Lara
205cfea1f30SPablo de Lara    Display statistics every PERIOD seconds, if interactive mode is disabled.
206cfea1f30SPablo de Lara    The default value is 0, which means that the statistics will not be displayed.
207cfea1f30SPablo de Lara
208e76d7a76SJohn McNamara*   ``--nb-cores=N``
209ac718398SBernard Iremonger
210ac718398SBernard Iremonger    Set the number of forwarding cores,
211e76d7a76SJohn McNamara    where 1 <= N <= "number of cores" or ``CONFIG_RTE_MAX_LCORE`` from the configuration file.
212ac718398SBernard Iremonger    The default value is 1.
213ac718398SBernard Iremonger
214e76d7a76SJohn McNamara*   ``--nb-ports=N``
215ac718398SBernard Iremonger
216ac718398SBernard Iremonger    Set the number of forwarding ports,
217e76d7a76SJohn McNamara    where 1 <= N <= "number of ports" on the board or ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
218ac718398SBernard Iremonger    The default value is the number of ports on the board.
219ac718398SBernard Iremonger
220e76d7a76SJohn McNamara*   ``--coremask=0xXX``
221ac718398SBernard Iremonger
222ac718398SBernard Iremonger    Set the hexadecimal bitmask of the cores running the packet forwarding test.
223ac718398SBernard Iremonger    The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
224ac718398SBernard Iremonger
225e76d7a76SJohn McNamara*   ``--portmask=0xXX``
226ac718398SBernard Iremonger
227ac718398SBernard Iremonger    Set the hexadecimal bitmask of the ports used by the packet forwarding test.
228ac718398SBernard Iremonger
229e76d7a76SJohn McNamara*   ``--numa``
230ac718398SBernard Iremonger
231999b2ee0SBruce Richardson    Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers
232999b2ee0SBruce Richardson    (mbufs). [Default setting]
233999b2ee0SBruce Richardson
234999b2ee0SBruce Richardson*   ``--no-numa``
235999b2ee0SBruce Richardson
236999b2ee0SBruce Richardson    Disable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs).
237ac718398SBernard Iremonger
238e76d7a76SJohn McNamara*   ``--port-numa-config=(port,socket)[,(port,socket)]``
239ac718398SBernard Iremonger
240ac718398SBernard Iremonger    Specify the socket on which the memory pool to be used by the port will be allocated.
241ac718398SBernard Iremonger
242e76d7a76SJohn McNamara*   ``--ring-numa-config=(port,flag,socket)[,(port,flag,socket)]``
243ac718398SBernard Iremonger
244ac718398SBernard Iremonger    Specify the socket on which the TX/RX rings for the port will be allocated.
245ac718398SBernard Iremonger    Where flag is 1 for RX, 2 for TX, and 3 for RX and TX.
246ac718398SBernard Iremonger
247e76d7a76SJohn McNamara*   ``--socket-num=N``
248ac718398SBernard Iremonger
249ac718398SBernard Iremonger    Set the socket from which all memory is allocated in NUMA mode,
250ac718398SBernard Iremonger    where 0 <= N < number of sockets on the board.
251ac718398SBernard Iremonger
252e76d7a76SJohn McNamara*   ``--mbuf-size=N``
253ac718398SBernard Iremonger
254ac718398SBernard Iremonger    Set the data size of the mbufs used to N bytes, where N < 65536. The default value is 2048.
255ac718398SBernard Iremonger
256e76d7a76SJohn McNamara*   ``--total-num-mbufs=N``
257ac718398SBernard Iremonger
258ac718398SBernard Iremonger    Set the number of mbufs to be allocated in the mbuf pools, where N > 1024.
259ac718398SBernard Iremonger
260e76d7a76SJohn McNamara*   ``--max-pkt-len=N``
261ac718398SBernard Iremonger
262ac718398SBernard Iremonger    Set the maximum packet size to N bytes, where N >= 64. The default value is 1518.
263ac718398SBernard Iremonger
264e76d7a76SJohn McNamara*   ``--eth-peers-configfile=name``
265ac718398SBernard Iremonger
266ac718398SBernard Iremonger    Use a configuration file containing the Ethernet addresses of the peer ports.
267e76d7a76SJohn McNamara    The configuration file should contain the Ethernet addresses on separate lines::
268ac718398SBernard Iremonger
269ac718398SBernard Iremonger       XX:XX:XX:XX:XX:01
270ac718398SBernard Iremonger       XX:XX:XX:XX:XX:02
271ac718398SBernard Iremonger       ...
272ac718398SBernard Iremonger
273ac718398SBernard Iremonger
274e76d7a76SJohn McNamara*   ``--eth-peer=N,XX:XX:XX:XX:XX:XX``
275ac718398SBernard Iremonger
276e76d7a76SJohn McNamara    Set the MAC address ``XX:XX:XX:XX:XX:XX`` of the peer port N,
277e76d7a76SJohn McNamara    where 0 <= N < ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
278ac718398SBernard Iremonger
279e76d7a76SJohn McNamara*   ``--pkt-filter-mode=mode``
280ac718398SBernard Iremonger
281e76d7a76SJohn McNamara    Set Flow Director mode where mode is either ``none`` (the default), ``signature`` or ``perfect``.
282e76d7a76SJohn McNamara    See :ref:`testpmd_flow_director` for more details.
283ac718398SBernard Iremonger
284e76d7a76SJohn McNamara*   ``--pkt-filter-report-hash=mode``
285ac718398SBernard Iremonger
286e76d7a76SJohn McNamara    Set Flow Director hash match reporting mode where mode is ``none``, ``match`` (the default) or ``always``.
287e76d7a76SJohn McNamara
288e76d7a76SJohn McNamara*   ``--pkt-filter-size=N``
289ac718398SBernard Iremonger
290ac718398SBernard Iremonger    Set Flow Director allocated memory size, where N is 64K, 128K or 256K.
291ac718398SBernard Iremonger    Sizes are in kilobytes. The default is 64.
292ac718398SBernard Iremonger
293e76d7a76SJohn McNamara*   ``--pkt-filter-flexbytes-offset=N``
294ac718398SBernard Iremonger
295ac718398SBernard Iremonger    Set the flexbytes offset.
296ac718398SBernard Iremonger    The offset is defined in words (not bytes) counted from the first byte of the destination Ethernet MAC address,
297ac718398SBernard Iremonger    where N is 0 <= N <= 32.
298ac718398SBernard Iremonger    The default value is 0x6.
299ac718398SBernard Iremonger
300e76d7a76SJohn McNamara*   ``--pkt-filter-drop-queue=N``
301ac718398SBernard Iremonger
302ac718398SBernard Iremonger    Set the drop-queue.
303ac718398SBernard Iremonger    In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue.
304ac718398SBernard Iremonger    If the drop-queue does not exist, the packet is dropped. The default value is N=127.
305ac718398SBernard Iremonger
30679dd163fSJeff Guo*   ``--disable-crc-strip``
307ac718398SBernard Iremonger
30879dd163fSJeff Guo    Disable hardware CRC stripping.
309ac718398SBernard Iremonger
3104c3ea508SOlivier Matz*   ``--enable-lro``
3114c3ea508SOlivier Matz
3124c3ea508SOlivier Matz    Enable large receive offload.
3134c3ea508SOlivier Matz
314e76d7a76SJohn McNamara*   ``--enable-rx-cksum``
315ac718398SBernard Iremonger
316ac718398SBernard Iremonger    Enable hardware RX checksum offload.
317ac718398SBernard Iremonger
31804997938SMaciej Czekaj*   ``--enable-scatter``
31904997938SMaciej Czekaj
32004997938SMaciej Czekaj    Enable scatter (multi-segment) RX.
32104997938SMaciej Czekaj
322e76d7a76SJohn McNamara*   ``--disable-hw-vlan``
323ac718398SBernard Iremonger
324ac718398SBernard Iremonger    Disable hardware VLAN.
325ac718398SBernard Iremonger
326e76d7a76SJohn McNamara*   ``--disable-hw-vlan-filter``
327f2552cd5SOuyang Changchun
328f2552cd5SOuyang Changchun    Disable hardware VLAN filter.
329f2552cd5SOuyang Changchun
330e76d7a76SJohn McNamara*   ``--disable-hw-vlan-strip``
331f2552cd5SOuyang Changchun
332f2552cd5SOuyang Changchun    Disable hardware VLAN strip.
333f2552cd5SOuyang Changchun
334e76d7a76SJohn McNamara*   ``--disable-hw-vlan-extend``
335f2552cd5SOuyang Changchun
336f2552cd5SOuyang Changchun    Disable hardware VLAN extend.
337f2552cd5SOuyang Changchun
338e76d7a76SJohn McNamara*   ``--enable-drop-en``
339ac718398SBernard Iremonger
340ac718398SBernard Iremonger    Enable per-queue packet drop for packets with no descriptors.
341ac718398SBernard Iremonger
342e76d7a76SJohn McNamara*   ``--disable-rss``
343ac718398SBernard Iremonger
344ac718398SBernard Iremonger    Disable RSS (Receive Side Scaling).
345ac718398SBernard Iremonger
346e76d7a76SJohn McNamara*   ``--port-topology=mode``
347ac718398SBernard Iremonger
348e76d7a76SJohn McNamara    Set port topology, where mode is ``paired`` (the default) or ``chained``.
349e76d7a76SJohn McNamara
350e76d7a76SJohn McNamara    In ``paired`` mode, the forwarding is between pairs of ports, for example: (0,1), (2,3), (4,5).
351e76d7a76SJohn McNamara
352e76d7a76SJohn McNamara    In ``chained`` mode, the forwarding is to the next available port in the port mask, for example: (0,1), (1,2), (2,0).
353e76d7a76SJohn McNamara
354ac718398SBernard Iremonger    The ordering of the ports can be changed using the portlist testpmd runtime function.
355ac718398SBernard Iremonger
356e76d7a76SJohn McNamara*   ``--forward-mode=mode``
357ac718398SBernard Iremonger
358e76d7a76SJohn McNamara    Set the forwarding mode where ``mode`` is one of the following::
359ac718398SBernard Iremonger
360e76d7a76SJohn McNamara       io (the default)
361e76d7a76SJohn McNamara       mac
362e76d7a76SJohn McNamara       mac_swap
363e76d7a76SJohn McNamara       flowgen
364e76d7a76SJohn McNamara       rxonly
365e76d7a76SJohn McNamara       txonly
366e76d7a76SJohn McNamara       csum
367e76d7a76SJohn McNamara       icmpecho
368e76d7a76SJohn McNamara       ieee1588
369e76d7a76SJohn McNamara
370e76d7a76SJohn McNamara*   ``--rss-ip``
371ac718398SBernard Iremonger
372ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 only.
373ac718398SBernard Iremonger
374e76d7a76SJohn McNamara*   ``--rss-udp``
375ac718398SBernard Iremonger
376ac718398SBernard Iremonger    Set RSS functions for IPv4/IPv6 and UDP.
377ac718398SBernard Iremonger
378e76d7a76SJohn McNamara*   ``--rxq=N``
379ac718398SBernard Iremonger
380ac718398SBernard Iremonger    Set the number of RX queues per port to N, where 1 <= N <= 65535.
381ac718398SBernard Iremonger    The default value is 1.
382ac718398SBernard Iremonger
383e76d7a76SJohn McNamara*   ``--rxd=N``
384ac718398SBernard Iremonger
385ac718398SBernard Iremonger    Set the number of descriptors in the RX rings to N, where N > 0.
386ac718398SBernard Iremonger    The default value is 128.
387ac718398SBernard Iremonger
388e76d7a76SJohn McNamara*   ``--txq=N``
389ac718398SBernard Iremonger
390ac718398SBernard Iremonger    Set the number of TX queues per port to N, where 1 <= N <= 65535.
391ac718398SBernard Iremonger    The default value is 1.
392ac718398SBernard Iremonger
393e76d7a76SJohn McNamara*   ``--txd=N``
394ac718398SBernard Iremonger
395ac718398SBernard Iremonger    Set the number of descriptors in the TX rings to N, where N > 0.
396ac718398SBernard Iremonger    The default value is 512.
397ac718398SBernard Iremonger
398e76d7a76SJohn McNamara*   ``--burst=N``
399ac718398SBernard Iremonger
400ac718398SBernard Iremonger    Set the number of packets per burst to N, where 1 <= N <= 512.
401ac718398SBernard Iremonger    The default value is 16.
402ac718398SBernard Iremonger
403e76d7a76SJohn McNamara*   ``--mbcache=N``
404ac718398SBernard Iremonger
405ac718398SBernard Iremonger    Set the cache of mbuf memory pools to N, where 0 <= N <= 512.
406ac718398SBernard Iremonger    The default value is 16.
407ac718398SBernard Iremonger
408e76d7a76SJohn McNamara*   ``--rxpt=N``
409ac718398SBernard Iremonger
410ac718398SBernard Iremonger    Set the prefetch threshold register of RX rings to N, where N >= 0.
411ac718398SBernard Iremonger    The default value is 8.
412ac718398SBernard Iremonger
413e76d7a76SJohn McNamara*   ``--rxht=N``
414ac718398SBernard Iremonger
415ac718398SBernard Iremonger    Set the host threshold register of RX rings to N, where N >= 0.
416ac718398SBernard Iremonger    The default value is 8.
417ac718398SBernard Iremonger
418e76d7a76SJohn McNamara*   ``--rxfreet=N``
419ac718398SBernard Iremonger
420ac718398SBernard Iremonger    Set the free threshold of RX descriptors to N, where 0 <= N < value of --rxd.
421ac718398SBernard Iremonger    The default value is 0.
422ac718398SBernard Iremonger
423e76d7a76SJohn McNamara*   ``--rxwt=N``
424ac718398SBernard Iremonger
425ac718398SBernard Iremonger    Set the write-back threshold register of RX rings to N, where N >= 0.
426ac718398SBernard Iremonger    The default value is 4.
427ac718398SBernard Iremonger
428e76d7a76SJohn McNamara*   ``--txpt=N``
429ac718398SBernard Iremonger
430ac718398SBernard Iremonger    Set the prefetch threshold register of TX rings to N, where N >= 0.
431ac718398SBernard Iremonger    The default value is 36.
432ac718398SBernard Iremonger
433e76d7a76SJohn McNamara*   ``--txht=N``
434ac718398SBernard Iremonger
435ac718398SBernard Iremonger    Set the host threshold register of TX rings to N, where N >= 0.
436ac718398SBernard Iremonger    The default value is 0.
437ac718398SBernard Iremonger
438e76d7a76SJohn McNamara*   ``--txwt=N``
439ac718398SBernard Iremonger
440ac718398SBernard Iremonger    Set the write-back threshold register of TX rings to N, where N >= 0.
441ac718398SBernard Iremonger    The default value is 0.
442ac718398SBernard Iremonger
443e76d7a76SJohn McNamara*   ``--txfreet=N``
444ac718398SBernard Iremonger
445e76d7a76SJohn McNamara    Set the transmit free threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
446ac718398SBernard Iremonger    The default value is 0.
447ac718398SBernard Iremonger
448e76d7a76SJohn McNamara*   ``--txrst=N``
449ac718398SBernard Iremonger
450e76d7a76SJohn McNamara    Set the transmit RS bit threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
451ac718398SBernard Iremonger    The default value is 0.
452ac718398SBernard Iremonger
453e76d7a76SJohn McNamara*   ``--txqflags=0xXXXXXXXX``
454ac718398SBernard Iremonger
455ac718398SBernard Iremonger    Set the hexadecimal bitmask of TX queue flags, where 0 <= N <= 0x7FFFFFFF.
456ac718398SBernard Iremonger    The default value is 0.
457ac718398SBernard Iremonger
458e76d7a76SJohn McNamara    .. note::
459be2d7a05SPablo de Lara
460e76d7a76SJohn McNamara       When using hardware offload functions such as vlan or checksum
461e76d7a76SJohn McNamara       add ``txqflags=0`` to force the full-featured TX code path.
462e76d7a76SJohn McNamara       In some PMDs this may already be the default.
463be2d7a05SPablo de Lara
464e76d7a76SJohn McNamara
465e76d7a76SJohn McNamara*   ``--rx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
466ac718398SBernard Iremonger
467ac718398SBernard Iremonger    Set the RX queues statistics counters mapping 0 <= mapping <= 15.
468ac718398SBernard Iremonger
469e76d7a76SJohn McNamara*   ``--tx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
470ac718398SBernard Iremonger
471ac718398SBernard Iremonger    Set the TX queues statistics counters mapping 0 <= mapping <= 15.
472ac718398SBernard Iremonger
473e76d7a76SJohn McNamara*   ``--no-flush-rx``
474ac718398SBernard Iremonger
475e76d7a76SJohn McNamara    Don't flush the RX streams before starting forwarding. Used mainly with the PCAP PMD.
476ac718398SBernard Iremonger
477e76d7a76SJohn McNamara*   ``--txpkts=X[,Y]``
478ac718398SBernard Iremonger
4792ebacaa7SMaciej Czekaj    Set TX segment sizes or total packet length. Valid for ``tx-only``
4802ebacaa7SMaciej Czekaj    and ``flowgen`` forwarding modes.
481ac718398SBernard Iremonger
482e76d7a76SJohn McNamara*   ``--disable-link-check``
483ac718398SBernard Iremonger
484ac718398SBernard Iremonger    Disable check on link status when starting/stopping ports.
485b8628a0eSGaetan Rivet
486b8628a0eSGaetan Rivet*   ``--no-lsc-interrupt``
487b8628a0eSGaetan Rivet
488b8628a0eSGaetan Rivet    Disable LSC interrupts for all ports, even those supporting it.
489b8628a0eSGaetan Rivet
490b8628a0eSGaetan Rivet*   ``--no-rmv-interrupt``
491b8628a0eSGaetan Rivet
492b8628a0eSGaetan Rivet    Disable RMV interrupts for all ports, even those supporting it.
493e25e6c70SRemy Horton
494e25e6c70SRemy Horton*   ``--bitrate-stats=N``
495e25e6c70SRemy Horton
496e25e6c70SRemy Horton    Set the logical core N to perform bitrate calculation.
4973af72783SGaetan Rivet
498b6b63dfdSGaetan Rivet*   ``--print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>``
4993af72783SGaetan Rivet
500b6b63dfdSGaetan Rivet    Enable printing the occurrence of the designated event. Using all will
501b6b63dfdSGaetan Rivet    enable all of them.
5023af72783SGaetan Rivet
503b6b63dfdSGaetan Rivet*   ``--mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|all>``
5043af72783SGaetan Rivet
505b6b63dfdSGaetan Rivet    Disable printing the occurrence of the designated event. Using all will
506b6b63dfdSGaetan Rivet    disable all of them.
5077ee3e944SVasily Philipov
5087ee3e944SVasily Philipov*   ``--flow-isolate-all``
5097ee3e944SVasily Philipov
5107ee3e944SVasily Philipov    Providing this parameter requests flow API isolated mode on all ports at
5117ee3e944SVasily Philipov    initialization time. It ensures all traffic is received through the
5127ee3e944SVasily Philipov    configured flow rules only (see flow command).
5137ee3e944SVasily Philipov
5147ee3e944SVasily Philipov    Ports that do not support this mode are automatically discarded.
515