@@ -663,7 +663,7 @@ QAT SYM crypto PMD can be tested by running the test application::
make defconfig
make -j
cd ./build/app
- ./test -l1 -n1 -w <your qat bdf>
+ ./test -l1 -n1 -i <your qat bdf>
RTE>>cryptodev_qat_autotest
QAT ASYM crypto PMD can be tested by running the test application::
@@ -671,7 +671,7 @@ QAT ASYM crypto PMD can be tested by running the test application::
make defconfig
make -j
cd ./build/app
- ./test -l1 -n1 -w <your qat bdf>
+ ./test -l1 -n1 -i <your qat bdf>
RTE>>cryptodev_qat_asym_autotest
QAT compression PMD can be tested by running the test application::
@@ -680,7 +680,7 @@ QAT compression PMD can be tested by running the test application::
sed -i 's,\(CONFIG_RTE_COMPRESSDEV_TEST\)=n,\1=y,' build/.config
make -j
cd ./build/app
- ./test -l1 -n1 -w <your qat bdf>
+ ./test -l1 -n1 -i <your qat bdf>
RTE>>compressdev_autotest
@@ -725,7 +725,7 @@ when the PMD is initialized on a PF or trusted-VF. The user can specify the list
of VF IDs of the VFs for which the representors are needed by using the
``devargs`` option ``representor``.::
- -w DBDF,representor=[0,1,4]
+ -i DBDF,representor=[0,1,4]
Note that currently hot-plugging of representor ports is not supported so all
the required representors must be specified on the creation of the PF or the
@@ -112,7 +112,7 @@ be passed as part of EAL arguments. For example,
.. code-block:: console
- testpmd -w 02:00.4,keep_ovlan=1 -- -i
+ testpmd -i 02:00.4,keep_ovlan=1 -- -i
Common Runtime Options
^^^^^^^^^^^^^^^^^^^^^^
@@ -317,7 +317,7 @@ CXGBE PF Only Runtime Options
.. code-block:: console
- testpmd -w 02:00.4,filtermode=0x88 -- -i
+ testpmd -i 02:00.4,filtermode=0x88 -- -i
- ``filtermask`` (default **0**)
@@ -344,7 +344,7 @@ CXGBE PF Only Runtime Options
.. code-block:: console
- testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
+ testpmd -i 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
.. _driver-compilation:
@@ -776,7 +776,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
.. code-block:: console
- ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
+ ./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -i 0000:02:00.4 -- -i
Example output:
@@ -312,7 +312,7 @@ enables overlay offload, it prints the following message on the console.
By default, PMD enables overlay offload if hardware supports it. To disable
it, set ``devargs`` parameter ``disable-overlay=1``. For example::
- -w 12:00.0,disable-overlay=1
+ -i 12:00.0,disable-overlay=1
By default, the NIC uses 4789 as the VXLAN port. The user may change
it through ``rte_eth_dev_udp_tunnel_port_{add,delete}``. However, as
@@ -378,7 +378,7 @@ vectorized handler, take the following steps.
PMD consider the vectorized handler when selecting the receive handler.
For example::
- -w 12:00.0,enable-avx2-rx=1
+ -i 12:00.0,enable-avx2-rx=1
As the current implementation is intended for field trials, by default, the
vectorized handler is not considered (``enable-avx2-rx=0``).
@@ -427,7 +427,7 @@ DPDK as untagged packets. In this case mbuf->vlan_tci and the PKT_RX_VLAN and
PKT_RX_VLAN_STRIPPED mbuf flags would not be set. This mode is enabled with the
``devargs`` parameter ``ig-vlan-rewrite=untag``. For example::
- -w 12:00.0,ig-vlan-rewrite=untag
+ -i 12:00.0,ig-vlan-rewrite=untag
- **SR-IOV**
@@ -144,13 +144,13 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
$RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
--vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
- -w 81:00.0 -- -i
+ -i 81:00.0 -- -i
#. Start testpmd using a flexible device definition
.. code-block:: console
- $RTE_TARGET/build/app/testpmd -c 0xff -n 4 -w ff:ff.f \
+ $RTE_TARGET/build/app/testpmd -c 0xff -n 4 -i ff:ff.f \
--vdev='net_failsafe0,exec(echo 84:00.0)' -- -i
#. Start testpmd, automatically probing the device 84:00.0 and using it with
@@ -194,7 +194,7 @@ Runtime Config Options
The number of reserved queue per VF is determined by its host PF. If the
PCI address of an i40e PF is aaaa:bb.cc, the number of reserved queues per
- VF can be configured with EAL parameter like -w aaaa:bb.cc,queue-num-per-vf=n.
+ VF can be configured with EAL parameter like -i aaaa:bb.cc,queue-num-per-vf=n.
The value n can be 1, 2, 4, 8 or 16. If no such parameter is configured, the
number of reserved queues per VF is 4 by default. If VF request more than
reserved queues per VF, PF will able to allocate max to 16 queues after a VF
@@ -207,7 +207,7 @@ Runtime Config Options
Adapter with both Linux kernel and DPDK PMD. To fix this issue, ``devargs``
parameter ``support-multi-driver`` is introduced, for example::
- -w 84:00.0,support-multi-driver=1
+ -i 84:00.0,support-multi-driver=1
With the above configuration, DPDK PMD will not change global registers, and
will switch PF interrupt from IntN to Int0 to avoid interrupt conflict between
@@ -222,7 +222,7 @@ Runtime Config Options
port representors for on initialization of the PF PMD by passing the VF IDs of
the VFs which are required.::
- -w DBDF,representor=[0,1,4]
+ -i DBDF,representor=[0,1,4]
Currently hot-plugging of representor ports is not supported so all required
representors must be specified on the creation of the PF.
@@ -234,7 +234,7 @@ Runtime Config Options
since it can get better perf in some real work loading cases. So ``devargs`` param
``use-latest-supported-vec`` is introduced, for example::
- -w 84:00.0,use-latest-supported-vec=1
+ -i 84:00.0,use-latest-supported-vec=1
- ``Enable validation for VF message`` (default ``not enabled``)
@@ -244,7 +244,7 @@ Runtime Config Options
Format -- "maximal-message@period-seconds:ignore-seconds"
For example::
- -w 84:00.0,vf_msg_cfg=80@120:180
+ -i 84:00.0,vf_msg_cfg=80@120:180
Vector RX Pre-conditions
~~~~~~~~~~~~~~~~~~~~~~~~
@@ -479,7 +479,7 @@ no physical uplink on the associated NIC port.
To enable this feature, the user should pass a ``devargs`` parameter to the
EAL, for example::
- -w 84:00.0,enable_floating_veb=1
+ -i 84:00.0,enable_floating_veb=1
In this configuration the PMD will use the floating VEB feature for all the
VFs created by this PF device.
@@ -487,7 +487,7 @@ VFs created by this PF device.
Alternatively, the user can specify which VFs need to connect to this floating
VEB using the ``floating_veb_list`` argument::
- -w 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
+ -i 84:00.0,enable_floating_veb=1,floating_veb_list=1;3-4
In this example ``VF1``, ``VF3`` and ``VF4`` connect to the floating VEB,
while other VFs connect to the normal VEB.
@@ -813,7 +813,7 @@ See :numref:`figure_intel_perf_test_setup` for the performance test setup.
7. The command line of running l3fwd would be something like the following::
- ./l3fwd -l 18-21 -n 4 -w 82:00.0 -w 85:00.0 \
+ ./l3fwd -l 18-21 -n 4 -i 82:00.0 -w 85:00.0 \
-- -p 0x3 --config '(0,0,18),(0,1,19),(1,0,20),(1,1,21)'
This means that the application uses core 18 for port 0, queue pair 0 forwarding, core 19 for port 0, queue pair 1 forwarding,
@@ -50,7 +50,7 @@ Runtime Config Options
But if user intend to use the device without OS package, user can take ``devargs``
parameter ``safe-mode-support``, for example::
- -w 80:00.0,safe-mode-support=1
+ -i 80:00.0,safe-mode-support=1
Then the driver will be initialized successfully and the device will enter Safe Mode.
NOTE: In Safe mode, only very limited features are available, features like RSS,
@@ -73,7 +73,7 @@ Runtime Config Options
use pipeline mode by setting ``devargs`` parameter ``pipeline-mode-support``,
for example::
- -w 80:00.0,pipeline-mode-support=1
+ -i 80:00.0,pipeline-mode-support=1
- ``Flow Mark Support`` (default ``0``)
@@ -85,7 +85,7 @@ Runtime Config Options
2) a new offload like RTE_DEV_RX_OFFLOAD_FLOW_MARK be introduced as a standard way to hint.
Example::
- -w 80:00.0,flow-mark-support=1
+ -i 80:00.0,flow-mark-support=1
- ``Protocol extraction for per queue``
@@ -94,8 +94,8 @@ Runtime Config Options
The argument format is::
- -w 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
- -w 18:00.0,proto_xtr=<protocol>
+ -i 18:00.0,proto_xtr=<queues:protocol>[<queues:protocol>...]
+ -i 18:00.0,proto_xtr=<protocol>
Queues are grouped by ``(`` and ``)`` within the group. The ``-`` character
is used as a range separator and ``,`` is used as a single number separator.
@@ -106,14 +106,14 @@ Runtime Config Options
.. code-block:: console
- testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
+ testpmd -i 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-13 are
VLAN extraction, other queues run with no protocol extraction.
.. code-block:: console
- testpmd -w 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
+ testpmd -i 18:00.0,proto_xtr=vlan,proto_xtr='[(1,2-3,8-9):tcp,10-23:ipv6]'
This setting means queues 1, 2-3, 8-9 are TCP extraction, queues 10-23 are
IPv6 extraction, other queues use the default VLAN extraction.
@@ -253,7 +253,7 @@ responses for the same from PF.
#. Bind the VF0, and run testpmd with 'cap=dcf' devarg::
- testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
+ testpmd -l 22-25 -n 4 -i 18:01.0,cap=dcf -- -i
#. Monitor the VF2 interface network traffic::
@@ -89,7 +89,7 @@ be passed as part of EAL arguments. For example,
.. code-block:: console
- testpmd -w af:10.0,pflink_fullchk=1 -- -i
+ testpmd -i af:10.0,pflink_fullchk=1 -- -i
- ``pflink_fullchk`` (default **0**)
@@ -277,7 +277,7 @@ option ``representor`` the user can specify which virtual functions to create
port representors for on initialization of the PF PMD by passing the VF IDs of
the VFs which are required.::
- -w DBDF,representor=[0,1,4]
+ -i DBDF,representor=[0,1,4]
Currently hot-plugging of representor ports is not supported so all required
representors must be specified on the creation of the PF.
@@ -434,10 +434,10 @@ devices managed by librte_pmd_mlx4.
Example output::
- -w 0000:83:00.0
- -w 0000:83:00.0
- -w 0000:84:00.0
- -w 0000:84:00.0
+ -i 0000:83:00.0
+ -i 0000:83:00.0
+ -i 0000:84:00.0
+ -i 0000:84:00.0
.. note::
@@ -450,7 +450,7 @@ devices managed by librte_pmd_mlx4.
#. Start testpmd with basic parameters::
- testpmd -l 8-15 -n 4 -w 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
+ testpmd -l 8-15 -n 4 -i 0000:83:00.0 -w 0000:84:00.0 -- --rxq=2 --txq=2 -i
Example output::
@@ -1538,10 +1538,10 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
Example output::
- -w 0000:05:00.1
- -w 0000:06:00.0
- -w 0000:06:00.1
- -w 0000:05:00.0
+ -i 0000:05:00.1
+ -i 0000:06:00.0
+ -i 0000:06:00.1
+ -i 0000:05:00.0
#. Request huge pages::
@@ -1549,7 +1549,7 @@ ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
#. Start testpmd with basic parameters::
- testpmd -l 8-15 -n 4 -w 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
+ testpmd -l 8-15 -n 4 -i 05:00.0 -w 05:00.1 -w 06:00.0 -w 06:00.1 -- --rxq=2 --txq=2 -i
Example output::
@@ -78,7 +78,7 @@ products) and the device argument `timestamp=1` must be used.
.. code-block:: console
- $RTE_TARGET/app/testpmd -w b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
+ $RTE_TARGET/app/testpmd -i b3:00.0,timestamp=1 <other EAL params> -- <testpmd params>
When the timestamps are enabled with the *devarg*, a timestamp validity flag is set in the MBUFs
containing received frames and timestamp is inserted into the `rte_mbuf` struct.
@@ -74,7 +74,7 @@ use arm64-octeontx2-linux-gcc as target.
.. code-block:: console
- ./build/app/testpmd -c 0x300 -w 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
+ ./build/app/testpmd -c 0x300 -i 0002:02:00.0 -- --portmask=0x1 --nb-cores=1 --port-topology=loop --rxq=1 --txq=1
EAL: Detected 24 lcore(s)
EAL: Detected 1 NUMA nodes
EAL: Multi-process socket /var/run/dpdk/rte/mp_socket
@@ -127,7 +127,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,reta_size=256
+ -i 0002:02:00.0,reta_size=256
With the above configuration, reta table of size 256 is populated.
@@ -138,7 +138,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,flow_max_priority=10
+ -i 0002:02:00.0,flow_max_priority=10
With the above configuration, priority level was set to 10 (0-9). Max
priority level supported is 32.
@@ -150,7 +150,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,flow_prealloc_size=4
+ -i 0002:02:00.0,flow_prealloc_size=4
With the above configuration, pre alloc size was set to 4. Max pre alloc
size supported is 32.
@@ -162,7 +162,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,max_sqb_count=64
+ -i 0002:02:00.0,max_sqb_count=64
With the above configuration, each send queue's decscriptor buffer count is
limited to a maximum of 64 buffers.
@@ -174,7 +174,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,switch_header="higig2"
+ -i 0002:02:00.0,switch_header="higig2"
With the above configuration, higig2 will be enabled on that port and the
traffic on this port should be higig2 traffic only. Supported switch header
@@ -196,7 +196,7 @@ Runtime Config Options
For example to select the legacy mode(RSS tag adder as XOR)::
- -w 0002:02:00.0,tag_as_xor=1
+ -i 0002:02:00.0,tag_as_xor=1
- ``Max SPI for inbound inline IPsec`` (default ``1``)
@@ -205,7 +205,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,ipsec_in_max_spi=128
+ -i 0002:02:00.0,ipsec_in_max_spi=128
With the above configuration, application can enable inline IPsec processing
on 128 SAs (SPI 0-127).
@@ -216,7 +216,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,lock_rx_ctx=1
+ -i 0002:02:00.0,lock_rx_ctx=1
- ``Lock Tx contexts in NDC cache``
@@ -224,7 +224,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,lock_tx_ctx=1
+ -i 0002:02:00.0,lock_tx_ctx=1
.. note::
@@ -240,7 +240,7 @@ Runtime Config Options
For example::
- -w 0002:02:00.0,npa_lock_mask=0xf
+ -i 0002:02:00.0,npa_lock_mask=0xf
.. _otx2_tmapi:
@@ -178,7 +178,7 @@ This section provides instructions to configure SR-IOV with Linux OS.
.. code-block:: console
- ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
+ ./arm64-thunderx-linux-gcc/app/testpmd -l 0-3 -n 4 -i 0002:01:00.2 \
-- -i --no-flush-rx \
--port-topology=loop
@@ -398,7 +398,7 @@ This scheme is useful when application would like to insert vlan header without
Example:
.. code-block:: console
- -w 0002:01:00.2,skip_data_bytes=8
+ -i 0002:01:00.2,skip_data_bytes=8
Limitations
-----------
@@ -374,9 +374,9 @@ parameters to those ports.
this argument allows user to specify which switch ports to enable port
representors for.::
- -w DBDF,representor=0
- -w DBDF,representor=[0,4,6,9]
- -w DBDF,representor=[0-31]
+ -i DBDF,representor=0
+ -i DBDF,representor=[0,4,6,9]
+ -i DBDF,representor=[0-31]
Note: PMDs are not required to support the standard device arguments and users
should consult the relevant PMD documentation to see support devargs.
@@ -59,9 +59,9 @@ which can be thought as a software "patch panel" front-end for applications.
::
- -w pci:dbdf,representor=0
- -w pci:dbdf,representor=[0-3]
- -w pci:dbdf,representor=[0,5-11]
+ -i pci:dbdf,representor=0
+ -i pci:dbdf,representor=[0-3]
+ -i pci:dbdf,representor=[0,5-11]
- As virtual devices, they may be more limited than their physical
counterparts, for instance by exposing only a subset of device
@@ -46,7 +46,7 @@ these settings is shown below:
.. code-block:: console
- ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -w FF00 -s4 -n0 -c32 -W1000 -D
+ ./build/eventdev_pipeline --vdev event_sw0 -- -r1 -t1 -e4 -i FF00 -s4 -n0 -c32 -W1000 -D
The application has some sanity checking built-in, so if there is a function
(e.g.; the RX core) which doesn't have a cpu core mask assigned, the application
@@ -131,7 +131,7 @@ The application has a number of command line options::
./build/ipsec-secgw [EAL options] --
-p PORTMASK -P -u PORTMASK -j FRAMESIZE
- -l -w REPLAY_WINOW_SIZE -e -a
+ -l -i REPLAY_WINOW_SIZE -e -a
-c SAD_CACHE_SIZE
-s NUMBER_OF_MBUFS_IN_PACKET_POOL
-f CONFIG_FILE_PATH
@@ -378,7 +378,7 @@ See :doc:`Power Management<../prog_guide/power_man>` chapter in the DPDK Program
.. code-block:: console
- ./l3fwd-power -l xxx -n 4 -w 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
+ ./l3fwd-power -l xxx -n 4 -i 0000:xx:00.0 -w 0000:xx:00.1 -- -p 0x3 -P --config="(0,0,xx),(1,0,xx)" --empty-poll="0,0,0" -l 14 -m 9 -h 1
Where,
@@ -52,7 +52,7 @@ Take IFCVF driver for example:
.. code-block:: console
./vdpa -c 0x2 -n 4 --socket-mem 1024,1024 \
- -w 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
+ -i 0000:06:00.3,vdpa=1 -w 0000:06:00.4,vdpa=1 \
-- --interactive
.. note::
@@ -417,7 +417,7 @@ Call application for performance throughput test of single Aesni MB PMD
for cipher encryption aes-cbc and auth generation sha1-hmac,
one million operations, burst size 32, packet size 64::
- dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -w 0000:00:00.0 --
+ dpdk-test-crypto-perf -l 6-7 --vdev crypto_aesni_mb -i 0000:00:00.0 --
--ptest throughput --devtype crypto_aesni_mb --optype cipher-then-auth
--cipher-algo aes-cbc --cipher-op encrypt --cipher-key-sz 16 --auth-algo
sha1-hmac --auth-op generate --auth-key-sz 64 --digest-sz 12
@@ -427,7 +427,7 @@ Call application for performance latency test of two Aesni MB PMD executed
on two cores for cipher encryption aes-cbc, ten operations in silent mode::
dpdk-test-crypto-perf -l 4-7 --vdev crypto_aesni_mb1
- --vdev crypto_aesni_mb2 -w 0000:00:00.0 -- --devtype crypto_aesni_mb
+ --vdev crypto_aesni_mb2 -i 0000:00:00.0 -- --devtype crypto_aesni_mb
--cipher-algo aes-cbc --cipher-key-sz 16 --cipher-iv-sz 16
--cipher-op encrypt --optype cipher-only --silent
--ptest latency --total-ops 10
@@ -437,7 +437,7 @@ for cipher encryption aes-gcm and auth generation aes-gcm,ten operations
in silent mode, test vector provide in file "test_aes_gcm.data"
with packet verification::
- dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -w 0000:00:00.0 --
+ dpdk-test-crypto-perf -l 4-7 --vdev crypto_openssl -i 0000:00:00.0 --
--devtype crypto_openssl --aead-algo aes-gcm --aead-key-sz 16
--aead-iv-sz 16 --aead-op encrypt --aead-aad-sz 16 --digest-sz 16
--optype aead --silent --ptest verify --total-ops 10
@@ -61,7 +61,7 @@ with a ``--`` separator:
.. code-block:: console
- sudo ./dpdk-test-flow_perf -n 4 -w 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
+ sudo ./dpdk-test-flow_perf -n 4 -i 08:00.0 -- --ingress --ether --ipv4 --queue --flows-count=1000000
The command line options are:
@@ -70,4 +70,4 @@ The data file, will be used as a source data for the RegEx to work on.
The tool has a number of command line options. Here is the sample command line::
- ./dpdk-test-regex -w 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100
+ ./dpdk-test-regex -i 83:00.0 -- --rules rule_file.rof2 --data data_file.txt --job 100