EAL Command-line Options
------------------------
-Please refer to :doc:`../linux_gsg/linux_eal_parameters` or
-:doc:`../freebsd_gsg/freebsd_eal_parameters` for a list of available EAL
-command-line options.
+Please refer to :doc:`EAL parameters (Linux) <../linux_gsg/linux_eal_parameters>`
+or :doc:`EAL parameters (FreeBSD) <../freebsd_gsg/freebsd_eal_parameters>` for
+a list of available EAL command-line options.
Testpmd Command-line Options
.. code-block:: console
- sudo ./testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
+ sudo ./dpdk-testpmd -l 0-3 -n 4 -- -i --portmask=0x1 --nb-cores=2
The command line options are:
* ``--nb-cores=N``
Set the number of forwarding cores,
- where 1 <= N <= "number of cores" or ``CONFIG_RTE_MAX_LCORE`` from the configuration file.
+ where 1 <= N <= "number of cores" or ``RTE_MAX_LCORE`` from the configuration file.
The default value is 1.
* ``--nb-ports=N``
Set the number of forwarding ports,
- where 1 <= N <= "number of ports" on the board or ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
+ where 1 <= N <= "number of ports" on the board or ``RTE_MAX_ETHPORTS`` from the configuration file.
The default value is the number of ports on the board.
* ``--coremask=0xXX``
Set the hexadecimal bitmask of the cores running the packet forwarding test.
- The master lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
+ The main lcore is reserved for command line parsing only and cannot be masked on for packet forwarding.
* ``--portmask=0xXX``
Set the hexadecimal bitmask of the ports used by the packet forwarding test.
+* ``--portlist=X``
+
+ Set the forwarding ports based on the user input used by the packet forwarding test.
+ '-' denotes a range of ports to set including the two specified port IDs
+ ',' separates multiple port values.
+ Possible examples like --portlist=0,1 or --portlist=0-2 or --portlist=0,1-2 etc
+
* ``--numa``
Enable NUMA-aware allocation of RX/TX rings and of RX memory buffers
Set the socket from which all memory is allocated in NUMA mode,
where 0 <= N < number of sockets on the board.
-* ``--mbuf-size=N``
+* ``--mbuf-size=N[,N1[,...Nn]``
- Set the data size of the mbufs used to N bytes, where N < 65536. The default value is 2048.
+ Set the data size of the mbufs used to N bytes, where N < 65536.
+ The default value is 2048. If multiple mbuf-size values are specified the
+ extra memory pools will be created for allocating mbufs to receive packets
+ with buffer splittling features.
* ``--total-num-mbufs=N``
Set the maximum packet size to N bytes, where N >= 64. The default value is 1518.
+* ``--max-lro-pkt-size=N``
+
+ Set the maximum LRO aggregated packet size to N bytes, where N >= 64.
+
* ``--eth-peers-configfile=name``
Use a configuration file containing the Ethernet addresses of the peer ports.
XX:XX:XX:XX:XX:02
...
-
* ``--eth-peer=N,XX:XX:XX:XX:XX:XX``
Set the MAC address ``XX:XX:XX:XX:XX:XX`` of the peer port N,
- where 0 <= N < ``CONFIG_RTE_MAX_ETHPORTS`` from the configuration file.
+ where 0 <= N < ``RTE_MAX_ETHPORTS``.
+
+* ``--tx-ip=SRC,DST``
+
+ Set the source and destination IP address used when doing transmit only test.
+ The defaults address values are source 198.18.0.1 and
+ destination 198.18.0.2. These are special purpose addresses
+ reserved for benchmarking (RFC 5735).
+
+* ``--tx-udp=SRC[,DST]``
+
+ Set the source and destination UDP port number for transmit test only test.
+ The default port is the port 9 which is defined for the discard protocol
+ (RFC 863).
* ``--pkt-filter-mode=mode``
Enable hardware VLAN extend.
+* ``--enable-hw-qinq-strip``
+
+ Enable hardware QINQ strip.
+
* ``--enable-drop-en``
Enable per-queue packet drop for packets with no descriptors.
ieee1588
tm
noisy
+ 5tswap
* ``--rss-ip``
Set the number of descriptors in the TX rings to N, where N > 0.
The default value is 512.
+* ``--hairpinq=N``
+
+ Set the number of hairpin queues per port to N, where 1 <= N <= 65535.
+ The default value is 0. The number of hairpin queues are added to the
+ number of TX queues and to the number of RX queues. then the first
+ RX hairpin is binded to the first TX hairpin, the second RX hairpin is
+ binded to the second TX hairpin and so on. The index of the first
+ RX hairpin queue is the number of RX queues as configured using --rxq.
+ The index of the first TX hairpin queue is the number of TX queues
+ as configured using --txq.
+
* ``--burst=N``
Set the number of packets per burst to N, where 1 <= N <= 512.
Don't flush the RX streams before starting forwarding. Used mainly with the PCAP PMD.
+* ``--rxoffs=X[,Y]``
+
+ Set the offsets of packet segments on receiving if split
+ feature is engaged. Affects only the queues configured
+ with split offloads (currently BUFFER_SPLIT is supported only).
+
+* ``--rxpkts=X[,Y]``
+
+ Set the length of segments to scatter packets on receiving if split
+ feature is engaged. Affects only the queues configured
+ with split offloads (currently BUFFER_SPLIT is supported only).
+ Optionally the multiple memory pools can be specified with --mbuf-size
+ command line parameter and the mbufs to receive will be allocated
+ sequentially from these extra memory pools.
+
* ``--txpkts=X[,Y]``
Set TX segment sizes or total packet length. Valid for ``tx-only``
Disable check on link status when starting/stopping ports.
+* ``--disable-device-start``
+
+ Do not automatically start all ports. This allows testing
+ configuration of rx and tx queues before device is started
+ for the first time.
+
* ``--no-lsc-interrupt``
Disable LSC interrupts for all ports, even those supporting it.
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>``
+* ``--print-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|flow_aged|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>``
+* ``--mask-event <unknown|intr_lsc|queue_state|intr_reset|vf_mbox|macsec|intr_rmv|dev_probed|dev_released|flow_aged|all>``
Disable printing the occurrence of the designated event. Using all will
disable all of them.
Set the hexadecimal bitmask of TX queue offloads.
The default value is 0.
+* ``--rx-offloads=0xXXXXXXXX``
+
+ Set the hexadecimal bitmask of RX queue offloads.
+ The default value is 0.
+
* ``--hot-plug``
- Enable device event monitor mechanism for hot plug.
+ Enable device event monitor mechanism for hotplug.
* ``--vxlan-gpe-port=N``
Set the UDP port number of tunnel VXLAN-GPE to N.
The default value is 4790.
+* ``--geneve-parsed-port=N``
+
+ Set the UDP port number that is used for parsing the GENEVE protocol to N.
+ HW may be configured with another tunnel Geneve port.
+ The default value is 6081.
+
* ``--mlockall``
Enable locking all memory.
* ``--noisy-lkup-memory=N``
- Set the size of the noisy neighbour simulation memory buffer in MB to N.
+ Set the size of the noisy neighbor simulation memory buffer in MB to N.
Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-reads=N``
- Set the number of reads to be done in noisy neighbour simulation memory buffer to N.
+ Set the number of reads to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-writes=N``
- Set the number of writes to be done in noisy neighbour simulation memory buffer to N.
+ Set the number of writes to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0.
* ``--noisy-lkup-num-reads-writes=N``
- Set the number of r/w accesses to be done in noisy neighbour simulation memory buffer to N.
+ Set the number of r/w accesses to be done in noisy neighbor simulation memory buffer to N.
Only available with the noisy forwarding mode. The default value is 0.
* ``--no-iova-contig``
Enable to create mempool which is not IOVA contiguous. Valid only with --mp-alloc=anon.
The default value is 0.
+
+* ``--rx-mq-mode``
+
+ Set the hexadecimal bitmask of RX multi queue mode which can be enabled.
+ The default value is 0x7::
+
+ ETH_MQ_RX_RSS_FLAG | ETH_MQ_RX_DCB_FLAG | ETH_MQ_RX_VMDQ_FLAG
+
+* ``--record-core-cycles``
+
+ Enable measurement of CPU cycles per packet.
+
+* ``--record-burst-stats``
+
+ Enable display of RX and TX burst stats.
+
+* ``--hairpin-mode=0xXX``
+
+ Set the hairpin port mode with bitmask, only valid when hairpin queues number is set.
+ bit 4 - explicit Tx flow rule
+ bit 1 - two hairpin ports paired
+ bit 0 - two hairpin ports loop
+ The default value is 0. Hairpin will use single port mode and implicit Tx flow mode.