-.. BSD LICENSE
- Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
-
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in
- the documentation and/or other materials provided with the
- distribution.
- * Neither the name of Intel Corporation nor the names of its
- contributors may be used to endorse or promote products derived
- from this software without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+.. SPDX-License-Identifier: BSD-3-Clause
+ Copyright(c) 2010-2014 Intel Corporation.
Running the Application
=======================
The grouping ``()`` can be omitted for single element group.
The ``@`` can be omitted if cpus and lcores have the same value.
+.. Note::
+ At a given instance only one core option ``--lcores``, ``-l`` or ``-c`` can be used.
+
+
* ``--master-lcore ID``
Core ID that is used as master.
* ``-b, --pci-blacklist domain:bus:devid.func``
- Blacklist a PCI devise to prevent EAL from using it. Multiple -b options are allowed.
+ Blacklist a PCI device to prevent EAL from using it. Multiple -b options are allowed.
* ``-d LIB.so``
Display the version information on startup.
-* ``--xen-dom0``
-
- Support application running on Xen Domain0 without hugetlbfs.
-
* ``--syslog``
Set the syslog facility.
Specify the directory where the hugetlbfs is mounted.
+* ``mbuf-pool-ops-name``:
+
+ Pool ops name for mbuf to use.
+
* ``--proc-type``
Set the type of the current process.
For example::
- --vdev 'eth_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
+ --vdev 'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'
* ``--base-virtaddr``
.. code-block:: console
- sudo ./testpmd -c 0xF -n 4 -- -i --portmask=0x1 --nb-cores=2
+ sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
The commandline options are:
Start forwarding on initialization.
+* ``--tx-first``
+
+ Start forwarding, after sending a burst of packets first.
+
+.. Note::
+
+ This flag should be only used in non-interactive mode.
+
+* ``--stats-period PERIOD``
+
+ Display statistics every PERIOD seconds, if interactive mode is disabled.
+ The default value is 0, which means that the statistics will not be displayed.
+
* ``--nb-cores=N``
Set the number of forwarding cores,
* ``--numa``
- Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs).
+ Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers
+ (mbufs). [Default setting]
+
+* ``--no-numa``
+
+ Disable NUMA-aware allocation of RX/TX rings and of RX memory buffers (mbufs).
* ``--port-numa-config=(port,socket)[,(port,socket)]``
In perfect filter mode, when a rule is added with queue = -1, the packet will be enqueued into the RX drop-queue.
If the drop-queue does not exist, the packet is dropped. The default value is N=127.
-* ``--crc-strip``
+* ``--disable-crc-strip``
+
+ Disable hardware CRC stripping.
+
+* ``--enable-lro``
- Enable hardware CRC stripping.
+ Enable large receive offload.
* ``--enable-rx-cksum``
Enable scatter (multi-segment) RX.
-* ``--disable-hw-vlan``
+* ``--enable-hw-vlan``
- Disable hardware VLAN.
+ Enable hardware VLAN.
-* ``--disable-hw-vlan-filter``
+* ``--enable-hw-vlan-filter``
- Disable hardware VLAN filter.
+ Enable hardware VLAN filter.
-* ``--disable-hw-vlan-strip``
+* ``--enable-hw-vlan-strip``
- Disable hardware VLAN strip.
+ Enable hardware VLAN strip.
-* ``--disable-hw-vlan-extend``
+* ``--enable-hw-vlan-extend``
- Disable hardware VLAN extend.
+ Enable hardware VLAN extend.
* ``--enable-drop-en``
io (the default)
mac
- mac_retry
mac_swap
flowgen
rxonly
csum
icmpecho
ieee1588
+ tm
* ``--rss-ip``
* ``--burst=N``
Set the number of packets per burst to N, where 1 <= N <= 512.
- The default value is 16.
+ The default value is 32.
+ If set to 0, driver default is used if defined. Else, if driver
+ default is not defined, default of 32 is used.
* ``--mbcache=N``
Set the transmit RS bit threshold of TX rings to N, where 0 <= N <= value of ``--txd``.
The default value is 0.
-* ``--txqflags=0xXXXXXXXX``
-
- Set the hexadecimal bitmask of TX queue flags, where 0 <= N <= 0x7FFFFFFF.
- The default value is 0.
-
- .. note::
-
- When using hardware offload functions such as vlan or checksum
- add ``txqflags=0`` to force the full-featured TX code path.
- In some PMDs this may already be the default.
-
-
* ``--rx-queue-stats-mapping=(port,queue,mapping)[,(port,queue,mapping)]``
Set the RX queues statistics counters mapping 0 <= mapping <= 15.
* ``--txpkts=X[,Y]``
- Set TX segment sizes.
+ Set TX segment sizes or total packet length. Valid for ``tx-only``
+ and ``flowgen`` forwarding modes.
* ``--disable-link-check``
Disable check on link status when starting/stopping ports.
+
+* ``--no-lsc-interrupt``
+
+ Disable LSC interrupts for all ports, even those supporting it.
+
+* ``--no-rmv-interrupt``
+
+ Disable RMV interrupts for all ports, even those supporting it.
+
+* ``--bitrate-stats=N``
+
+ Set the logical core N to perform bitrate calculation.
+
+* ``--print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|all>``
+
+ Enable printing the occurrence of the designated event. Using all will
+ enable all of them.
+
+* ``--mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|all>``
+
+ Disable printing the occurrence of the designated event. Using all will
+ disable all of them.
+
+* ``--flow-isolate-all``
+
+ Providing this parameter requests flow API isolated mode on all ports at
+ initialization time. It ensures all traffic is received through the
+ configured flow rules only (see flow command).
+
+ Ports that do not support this mode are automatically discarded.
+
+* ``--tx-offloads=0xXXXXXXXX``
+
+ Set the hexadecimal bitmask of TX queue offloads.
+ The default value is 0.
+
+* ``--hot-plug``
+
+ Enable device event monitor machenism for hotplug.
+
+* ``--vxlan-gpe-port=N``
+
+ Set the UDP port number of tunnel VXLAN-GPE to N.
+ The default value is 4790.
+
+* ``--mlockall``
+
+ Enable locking all memory.
+
+* ``--no-mlockall``
+
+ Disable locking all memory.
+
+* ``--mp-alloc <native|anon|xmem|xmemhuge>``
+
+ Select mempool allocation mode:
+
+ * native: create and populate mempool using native DPDK memory
+ * anon: create mempool using native DPDK memory, but populate using
+ anonymous memory
+ * xmem: create and populate mempool using externally and anonymously
+ allocated area
+ * xmemhuge: create and populate mempool using externally and anonymously
+ allocated hugepage area