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