doc: remove references to make from NICs guide
Make is no longer supported for compiling DPDK, references are now removed in the documentation. Signed-off-by: Ciara Power <ciara.power@intel.com> Reviewed-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Igor Russkikh <irusskikh@marvell.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Harman Kalra <hkalra@marvell.com> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
This commit is contained in:
parent
a3b34b1df8
commit
68d99d00ae
@ -122,12 +122,7 @@ The driver supports single-port, multi-queue for both RX and TX.
|
||||
Configuration Information
|
||||
-------------------------
|
||||
|
||||
**DPDK Configuration Parameters**
|
||||
|
||||
The following configuration options are available for the ARK PMD:
|
||||
|
||||
* **CONFIG_RTE_LIBRTE_ARK_PMD** (default y): Enables or disables inclusion
|
||||
of the ARK PMD driver in the DPDK compilation.
|
||||
**DPDK Configuration Parameter**
|
||||
|
||||
* **RTE_LIBRTE_ARK_MIN_TX_PKTLEN** (default 0): Sets the minimum
|
||||
packet length for tx packets to the FPGA. Packets less than this
|
||||
|
@ -26,10 +26,6 @@ Experimental API features
|
||||
|
||||
- MACSEC PMD API is considered as experimental and is subject to change/removal in next DPDK releases.
|
||||
|
||||
Configuration Information
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_ATLANTIC_PMD`` (default ``y``)
|
||||
|
||||
Application Programming Interface
|
||||
---------------------------------
|
||||
|
@ -27,21 +27,6 @@ AXGBE PMD has support for:
|
||||
- Jumbo Frame up to 9K
|
||||
|
||||
|
||||
Configuration Information
|
||||
-------------------------
|
||||
|
||||
The following options can be modified in the ``.config`` file. Please note that
|
||||
enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_AXGBE_PMD`` (default **y**)
|
||||
|
||||
Toggle compilation of axgbe PMD.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_AXGBE_PMD_DEBUG`` (default **n**)
|
||||
|
||||
Toggle display for PMD debug related messages.
|
||||
|
||||
|
||||
Building DPDK
|
||||
-------------
|
||||
|
||||
|
@ -75,31 +75,24 @@ Prerequisites
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Config Options
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``.config`` file. Please note that
|
||||
The following options can be enabled with Meson flags. Please note that
|
||||
enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_BNX2X_PMD`` (default **n**)
|
||||
|
||||
Toggle compilation of bnx2x driver. To use bnx2x PMD set this config parameter
|
||||
to 'y'. Also, in order for firmware binary to load user will need zlib devel
|
||||
package installed.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_BNX2X_DEBUG_TX`` (default **n**)
|
||||
- ``RTE_LIBRTE_BNX2X_DEBUG_TX`` (default **disabled**)
|
||||
|
||||
Toggle display of transmit fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_BNX2X_DEBUG_RX`` (default **n**)
|
||||
- ``RTE_LIBRTE_BNX2X_DEBUG_RX`` (default **disabled**)
|
||||
|
||||
Toggle display of receive fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_BNX2X_DEBUG_PERIODIC`` (default **n**)
|
||||
- ``RTE_LIBRTE_BNX2X_DEBUG_PERIODIC`` (default **disabled**)
|
||||
|
||||
Toggle display of register reads and writes.
|
||||
|
||||
|
||||
.. _bnx2x_driver-compilation:
|
||||
|
||||
Driver compilation and testing
|
||||
|
@ -565,9 +565,6 @@ The BNXT PMD supports a PTP client application to communicate with a PTP master
|
||||
clock using DPDK IEEE1588 APIs. Note that the PTP client application needs to
|
||||
run on PF and vector mode needs to be disabled.
|
||||
|
||||
For the PTP time synchronization support, the BNXT PMD must be compiled with
|
||||
``CONFIG_RTE_LIBRTE_IEEE1588=y`` (this compilation flag is currently pending).
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd> set fwd ieee1588 // enable IEEE 1588 mode
|
||||
@ -612,7 +609,7 @@ Basic stats include:
|
||||
* oerrors
|
||||
|
||||
By default, per-queue stats for 16 queues are supported. For more than 16
|
||||
queues, BNXT PMD should be compiled with ``CONFIG_RTE_ETHDEV_QUEUE_STAT_CNTRS``
|
||||
queues, BNXT PMD should be compiled with ``RTE_ETHDEV_QUEUE_STAT_CNTRS``
|
||||
set to the desired number of queues.
|
||||
|
||||
Extended Stats
|
||||
|
@ -106,7 +106,7 @@ This section demonstrates how to setup and run ``testpmd`` in Linux.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-linux-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
|
||||
|
||||
Successful execution will show initialization messages from EAL, PMD and
|
||||
testpmd application. A prompt will be displayed at the end for user commands
|
||||
|
@ -87,35 +87,19 @@ Prerequisites
|
||||
:ref:`linux-installation` for Linux and section :ref:`freebsd-installation`
|
||||
for FreeBSD.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``.config`` file. Please note that
|
||||
enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_CXGBE_PMD`` (default **y**)
|
||||
|
||||
Toggle compilation of librte_pmd_cxgbe driver.
|
||||
|
||||
.. note::
|
||||
|
||||
This controls compilation of both CXGBE and CXGBEVF PMD.
|
||||
|
||||
Runtime Options
|
||||
~~~~~~~~~~~~~~~
|
||||
---------------
|
||||
|
||||
The following ``devargs`` options can be enabled at runtime. They must
|
||||
be passed as part of EAL arguments. For example,
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd -w 02:00.4,keep_ovlan=1 -- -i
|
||||
dpdk-testpmd -w 02:00.4,keep_ovlan=1 -- -i
|
||||
|
||||
Common Runtime Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``keep_ovlan`` (default **0**)
|
||||
|
||||
@ -133,7 +117,7 @@ Common Runtime Options
|
||||
coalesce limit has been reached.
|
||||
|
||||
CXGBE VF Only Runtime Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``force_link_up`` (default **0**)
|
||||
|
||||
@ -142,7 +126,7 @@ CXGBE VF Only Runtime Options
|
||||
to send traffic to each other even when the physical link is down.
|
||||
|
||||
CXGBE PF Only Runtime Options
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- ``filtermode`` (default **0**)
|
||||
|
||||
@ -317,7 +301,7 @@ CXGBE PF Only Runtime Options
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd -w 02:00.4,filtermode=0x88 -- -i
|
||||
dpdk-testpmd -w 02:00.4,filtermode=0x88 -- -i
|
||||
|
||||
- ``filtermask`` (default **0**)
|
||||
|
||||
@ -344,7 +328,7 @@ CXGBE PF Only Runtime Options
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
|
||||
dpdk-testpmd -w 02:00.4,filtermode=0x88,filtermask=0x80 -- -i
|
||||
|
||||
.. _driver-compilation:
|
||||
|
||||
@ -689,7 +673,7 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
cp x86_64-native-freebsd-clang/kmod/contigmem.ko /boot/kernel/
|
||||
cp <build_dir>/kernel/freebsd/contigmem.ko /boot/kernel/
|
||||
|
||||
#. Add the following lines to /boot/loader.conf:
|
||||
|
||||
@ -770,13 +754,13 @@ devices managed by librte_pmd_cxgbe in FreeBSD operating system.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
kldload ./x86_64-native-freebsd-clang/kmod/nic_uio.ko
|
||||
kldload <build_dir>/kernel/freebsd/nic_uio.ko
|
||||
|
||||
#. Start testpmd with basic parameters:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-freebsd-clang/app/testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i
|
||||
|
||||
Example output:
|
||||
|
||||
|
@ -196,31 +196,6 @@ See :doc:`../platform/dpaa` for setup information
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_bus_dpaa`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_dpaa`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER`` (default ``n``)
|
||||
|
||||
Toggles display of bus configurations and enables a debugging queue
|
||||
to fetch error (Rx/Tx) packets to driver. By default, packets with errors
|
||||
(like wrong checksum) are dropped by the hardware.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA_HWDEBUG`` (default ``n``)
|
||||
|
||||
Enables debugging of the Queue and Buffer Manager layer which interacts
|
||||
with the DPAA hardware.
|
||||
|
||||
|
||||
Environment Variables
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -265,7 +240,7 @@ for details.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./arm64-dpaa-linux-gcc/testpmd -c 0xff -n 1 \
|
||||
./<build_dir>/app/dpdk-testpmd -c 0xff -n 1 \
|
||||
-- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
|
||||
|
||||
.....
|
||||
|
@ -432,30 +432,6 @@ Currently supported by DPDK:
|
||||
Some part of fslmc bus code (mc flib - object library) routines are
|
||||
dual licensed (BSD & GPLv2), however they are used as BSD in DPDK in userspace.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_FSLMC_BUS`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_bus_fslmc`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA2_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_dpaa2`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA2_DEBUG_DRIVER`` (default ``n``)
|
||||
|
||||
Toggle display of debugging messages/logic
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_DPAA2_USE_PHYS_IOVA`` (default ``n``)
|
||||
|
||||
Toggle to use physical address vs virtual address for hardware accelerators.
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
@ -473,7 +449,7 @@ for details.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd -c 0xff -n 1 -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
|
||||
./dpdk-testpmd -c 0xff -n 1 -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
|
||||
|
||||
.....
|
||||
EAL: Registered [pci] bus.
|
||||
|
@ -79,22 +79,6 @@ The driver supports multi-queue for both Tx and Rx.
|
||||
Configuration information
|
||||
-------------------------
|
||||
|
||||
**DPDK Configuration Parameters**
|
||||
|
||||
The following configuration options are available for the ENA PMD:
|
||||
|
||||
* **CONFIG_RTE_LIBRTE_ENA_PMD** (default y): Enables or disables inclusion
|
||||
of the ENA PMD driver in the DPDK compilation.
|
||||
|
||||
* **CONFIG_RTE_LIBRTE_ENA_DEBUG_RX** (default n): Enables or disables debug
|
||||
logging of RX logic within the ENA PMD driver.
|
||||
|
||||
* **CONFIG_RTE_LIBRTE_ENA_DEBUG_TX** (default n): Enables or disables debug
|
||||
logging of TX logic within the ENA PMD driver.
|
||||
|
||||
* **CONFIG_RTE_LIBRTE_ENA_COM_DEBUG** (default n): Enables or disables debug
|
||||
logging of low level tx/rx logic in ena_com(base) within the ENA PMD driver.
|
||||
|
||||
**Runtime Configuration Parameters**
|
||||
|
||||
* **large_llq_hdr** (default 0)
|
||||
|
@ -113,5 +113,3 @@ Driver compilation and testing
|
||||
Follow instructions available in the document
|
||||
:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
|
||||
to launch **testpmd**
|
||||
|
||||
To compile in performance mode, please set ``CONFIG_RTE_CACHE_LINE_SIZE=64``
|
||||
|
@ -20,13 +20,6 @@ should be downloaded from https://core.dpdk.org/download/
|
||||
Configuration information
|
||||
-------------------------
|
||||
|
||||
- **DPDK Configuration Parameters**
|
||||
|
||||
The following configuration options are available for the ENIC PMD:
|
||||
|
||||
- **CONFIG_RTE_LIBRTE_ENIC_PMD** (default y): Enables or disables inclusion
|
||||
of the ENIC PMD driver in the DPDK compilation.
|
||||
|
||||
- **vNIC Configuration Parameters**
|
||||
|
||||
- **Number of Queues**
|
||||
@ -583,11 +576,6 @@ The value depends on the memory configuration of the application, DPDK and
|
||||
PMD. Typically, the limit has to be raised to higher than 2GB.
|
||||
e.g., 2621440
|
||||
|
||||
The compilation of any unused drivers can be disabled using the
|
||||
configuration file in config/ directory (e.g., config/common_linux).
|
||||
This would help in bringing down the time taken for building the
|
||||
libraries and the initialization time of the application.
|
||||
|
||||
Additional Reference
|
||||
--------------------
|
||||
|
||||
|
@ -14,10 +14,6 @@ Additionally to the Seamless Hotplug feature, the Fail-safe PMD offers the
|
||||
ability to redirect operations to a secondary device when the primary has been
|
||||
removed from the system.
|
||||
|
||||
.. note::
|
||||
|
||||
The library is enabled by default. You can enable it or disable it manually
|
||||
by setting the ``CONFIG_RTE_LIBRTE_PMD_FAILSAFE`` configuration option.
|
||||
|
||||
Features
|
||||
--------
|
||||
@ -33,14 +29,6 @@ automatically by detecting capable devices and registering the relevant handler.
|
||||
|
||||
Check the feature matrix for the complete set of supported features.
|
||||
|
||||
Compilation option
|
||||
------------------
|
||||
|
||||
Available options within the ``$RTE_TARGET/build/.config`` file:
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_PMD_FAILSAFE`` (default **y**)
|
||||
|
||||
This option enables or disables compiling librte_pmd_failsafe.
|
||||
|
||||
Using the Fail-safe PMD from the EAL command line
|
||||
-------------------------------------------------
|
||||
@ -128,7 +116,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
|
||||
--vdev 'net_failsafe0,mac=de:ad:be:ef:01:02,dev(84:00.0),dev(net_ring0)' \
|
||||
-b 84:00.0 -b 00:04.0 -- -i
|
||||
|
||||
@ -142,7 +130,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
|
||||
./<build_dir>/app/dpdk-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
|
||||
|
||||
@ -150,7 +138,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/build/app/testpmd -c 0xff -n 4 -w ff:ff.f \
|
||||
./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 -w 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
|
||||
@ -158,7 +146,7 @@ This section shows some example of using **testpmd** with a fail-safe PMD.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/build/app/testpmd -c 0xff -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -c 0xff -n 4 \
|
||||
--vdev 'net_failsafe0,dev(0000:84:00.0),dev(net_ring0)' -- -i
|
||||
|
||||
|
||||
|
@ -826,8 +826,6 @@ ARMv7
|
||||
|
||||
Support armv7 architecture.
|
||||
|
||||
Use ``defconfig_arm-armv7a-*-*``.
|
||||
|
||||
|
||||
.. _nic_features_armv8:
|
||||
|
||||
@ -836,8 +834,6 @@ ARMv8
|
||||
|
||||
Support armv8a (64bit) architecture.
|
||||
|
||||
Use ``defconfig_arm64-armv8a-*-*``
|
||||
|
||||
|
||||
.. _nic_features_power8:
|
||||
|
||||
@ -846,7 +842,6 @@ Power8
|
||||
|
||||
Support PowerPC architecture.
|
||||
|
||||
Use ``defconfig_ppc_64-power8-*-*``
|
||||
|
||||
.. _nic_features_x86-32:
|
||||
|
||||
@ -855,8 +850,6 @@ x86-32
|
||||
|
||||
Support 32bits x86 architecture.
|
||||
|
||||
Use ``defconfig_x86_x32-native-*-*`` and ``defconfig_i686-native-*-*``.
|
||||
|
||||
|
||||
.. _nic_features_x86-64:
|
||||
|
||||
@ -865,8 +858,6 @@ x86-64
|
||||
|
||||
Support 64bits x86 architecture.
|
||||
|
||||
Use ``defconfig_x86_64-native-*-*``.
|
||||
|
||||
|
||||
.. _nic_features_usage_doc:
|
||||
|
||||
|
@ -35,10 +35,6 @@ There is no change to the PMD API. The RX/TX handlers are the only two entries f
|
||||
vPMD packet I/O. They are transparently registered at runtime RX/TX execution
|
||||
if all required conditions are met.
|
||||
|
||||
1. To date, only an SSE version of FM10K vPMD is available.
|
||||
To ensure that vPMD is in the binary code, set
|
||||
``CONFIG_RTE_LIBRTE_FM10K_INC_VECTOR=y`` in the configure file.
|
||||
|
||||
Some constraints apply as pre-conditions for specific optimizations on bulk
|
||||
packet transfers. The following sections explain RX and TX constraints in the
|
||||
vPMD.
|
||||
|
@ -46,15 +46,6 @@ Prerequisites
|
||||
|
||||
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_HINIC_PMD`` (default ``y``)
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
|
@ -44,16 +44,6 @@ Prerequisites
|
||||
|
||||
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_HNS3_PMD`` (default ``y``)
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
|
@ -155,35 +155,13 @@ Pre-Installation Configuration
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
The following options can be modified in the ``config/rte_config.h`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_i40e`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_DEBUG_*`` (default ``n``)
|
||||
|
||||
Toggle display of generic debugging messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC`` (default ``y``)
|
||||
|
||||
Toggle bulk allocation for RX.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_INC_VECTOR`` (default ``n``)
|
||||
|
||||
Toggle the use of Vector PMD instead of normal RX/TX path.
|
||||
To enable vPMD for RX, bulk allocation for Rx must be allowed.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` (default ``n``)
|
||||
|
||||
Toggle to use a 16-byte RX descriptor, by default the RX descriptor is 32 byte.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF`` (default ``64``)
|
||||
- ``RTE_LIBRTE_I40E_QUEUE_NUM_PER_PF`` (default ``64``)
|
||||
|
||||
Number of queues reserved for PF.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM`` (default ``4``)
|
||||
- ``RTE_LIBRTE_I40E_QUEUE_NUM_PER_VM`` (default ``4``)
|
||||
|
||||
Number of queues reserved for each VMDQ Pool.
|
||||
|
||||
@ -354,7 +332,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --forward-mode=mac
|
||||
...
|
||||
|
||||
testpmd> set promisc 0 off
|
||||
@ -389,8 +367,9 @@ Start ``testpmd`` with ``--disable-rss`` and ``--pkt-filter-mode=perfect``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 0-15 -n 4 -- -i --disable-rss --pkt-filter-mode=perfect \
|
||||
--rxq=8 --txq=8 --nb-cores=8 --nb-ports=1
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 -- -i --disable-rss \
|
||||
--pkt-filter-mode=perfect --rxq=8 --txq=8 --nb-cores=8 \
|
||||
--nb-ports=1
|
||||
|
||||
Add a rule to direct ``ipv4-udp`` packet whose ``dst_ip=2.2.2.5, src_ip=2.2.2.3, src_port=32, dst_port=32`` to queue 1:
|
||||
|
||||
@ -648,8 +627,7 @@ For all available versions of the i40e driver, these drivers don't support 16
|
||||
byte RX descriptor. If the Linux i40e kernel driver is used as host driver,
|
||||
while DPDK i40e PMD is used as the VF driver, DPDK cannot choose 16 byte receive
|
||||
descriptor. The reason is that the RX descriptor is already set to 32 byte by
|
||||
the i40e kernel driver. That is to say, user should keep
|
||||
``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n`` in config file.
|
||||
the i40e kernel driver.
|
||||
In the future, if the Linux i40e driver supports 16 byte RX descriptor, user
|
||||
should make sure the DPDK VF uses the same RX descriptor mode, 16 byte or 32
|
||||
byte, as the PF driver.
|
||||
@ -769,7 +747,9 @@ Use 16 Bytes RX Descriptor Size
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
As i40e PMD supports both 16 and 32 bytes RX descriptor sizes, and 16 bytes size can provide helps to high performance of small packets.
|
||||
Configuration of ``CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC`` in config files can be changed to use 16 bytes size RX descriptors.
|
||||
In ``config/rte_config.h`` set the following to use 16 bytes size RX descriptors::
|
||||
|
||||
#define RTE_LIBRTE_I40E_16BYTE_RX_DESC 1
|
||||
|
||||
Input set requirement of each pctype for FDIR
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -822,7 +802,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 \
|
||||
./dpdk-l3fwd -l 18-21 -n 4 -w 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,
|
||||
|
@ -20,23 +20,6 @@ Prerequisites
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_ICE_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_ice`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_ICE_DEBUG_*`` (default ``n``)
|
||||
|
||||
Toggle display of generic debugging messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_ICE_16BYTE_RX_DESC`` (default ``n``)
|
||||
|
||||
Toggle to use a 16-byte RX descriptor, by default the RX descriptor is 32 byte.
|
||||
|
||||
Runtime Config Options
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -91,14 +74,14 @@ Runtime Config Options
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
testpmd -w 18:00.0,proto_xtr='[(1,2-3,8-9):tcp,10-13:vlan]'
|
||||
dpdk-testpmd -w 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]'
|
||||
dpdk-testpmd -w 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.
|
||||
@ -250,7 +233,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
|
||||
dpdk-testpmd -l 22-25 -n 4 -w 18:01.0,cap=dcf -- -i
|
||||
|
||||
#. Monitor the VF2 interface network traffic::
|
||||
|
||||
@ -279,7 +262,7 @@ To start ``testpmd``, and add vlan 10 to port 0:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 0-15 -n 4 -- -i
|
||||
./app/dpdk-testpmd -l 0-15 -n 4 -- -i
|
||||
...
|
||||
|
||||
testpmd> rx_vlan add 10 0
|
||||
|
@ -11,20 +11,6 @@ I225 Series Network Adapters.
|
||||
`https://ark.intel.com/content/www/us/en/ark/products/series/184686/
|
||||
intel-ethernet-controller-i225-series.html`
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_IGC_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_igc`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_IGC_DEBUG_*`` (default ``n``)
|
||||
|
||||
Toggle display of generic debugging messages.
|
||||
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
@ -67,7 +53,7 @@ outer VLAN to 0x9100:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 4-8 -- -i
|
||||
./app/dpdk-testpmd -l 4-8 -- -i
|
||||
...
|
||||
|
||||
testpmd> vlan set filter on 0
|
||||
@ -94,7 +80,7 @@ Start ``testpmd``:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd -l 4-8 -- i --rxq=4 --txq=4 --pkt-filter-mode=perfect --disable-rss
|
||||
./dpdk-testpmd -l 4-8 -- i --rxq=4 --txq=4 --pkt-filter-mode=perfect --disable-rss
|
||||
|
||||
Add a rule to direct packet whose ``ether-type=0x801`` to queue 1:
|
||||
|
||||
|
@ -124,7 +124,6 @@ Intel® X710/XL710 Gigabit Ethernet Controller VF Infrastructure
|
||||
|
||||
In a virtualized environment, the programmer can enable a maximum of *128 Virtual Functions (VF)*
|
||||
globally per Intel® X710/XL710 Gigabit Ethernet Controller NIC device.
|
||||
The number of queue pairs of each VF can be configured by ``CONFIG_RTE_LIBRTE_I40E_QUEUE_NUM_PER_VF`` in ``config`` file.
|
||||
The Physical Function in host could be either configured by the Linux* i40e driver
|
||||
(in the case of the Linux Kernel-based Virtual Machine [KVM]) or by DPDK PMD PF driver.
|
||||
When using both DPDK PMD PF/VF drivers, the whole NIC will be taken over by DPDK based application.
|
||||
@ -521,20 +520,12 @@ The setup procedure is as follows:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make install T=x86_64-native-linux-gcc
|
||||
./x86_64-native-linux-gcc/app/testpmd -l 0-3 -n 4 -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -- -i
|
||||
|
||||
#. Finally, access the Guest OS using vncviewer with the localhost:5900 port and check the lspci command output in the Guest OS.
|
||||
The virtual functions will be listed as available for use.
|
||||
|
||||
#. Configure and install the DPDK with an x86_64-native-linux-gcc configuration on the Guest OS as normal,
|
||||
that is, there is no change to the normal installation procedure.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make config T=x86_64-native-linux-gcc O=x86_64-native-linux-gcc
|
||||
cd x86_64-native-linux-gcc
|
||||
make
|
||||
#. Configure and install the DPDK on the Guest OS as normal, that is, there is no change to the normal installation procedure.
|
||||
|
||||
.. note::
|
||||
|
||||
|
@ -24,14 +24,6 @@ on the host, check for the PCI devices:
|
||||
b5:00.0 Ethernet controller: Device 1dd8:1002
|
||||
b6:00.0 Ethernet controller: Device 1dd8:1002
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_IONIC_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of ionic PMD.
|
||||
|
||||
Building DPDK
|
||||
-------------
|
||||
|
@ -31,14 +31,6 @@ Prerequisites
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_IPN3KE_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_ipn3ke`` driver.
|
||||
|
||||
Runtime Config Options
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -85,7 +77,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --port-topology=loop
|
||||
|
||||
HQoS and flow acceleration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -96,7 +88,7 @@ To start ``testpmd``, and add I40e PF to FPGA network port, enable FPGA HQoS and
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./app/testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-15 -n 4 --vdev 'ifpga_rawdev_cfg0,ifpga=b3:00.0,port=0' --vdev 'ipn3ke_cfg0,afu=0|b3:00.0,fpga_acc={tm|flow},i40e_pf={0000:b1:00.0|0000:b1:00.1|0000:b1:00.2|0000:b1:00.3|0000:b5:00.0|0000:b5:00.1|0000:b5:00.2|0000:b5:00.3}' -- -i --no-numa --forward-mode=macswap
|
||||
|
||||
Limitations or Known issues
|
||||
---------------------------
|
||||
|
@ -97,13 +97,13 @@ It is possible to test PMD quickly using KNI kernel module loopback feature:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
insmod build/kmod/rte_kni.ko lo_mode=lo_mode_fifo_skb
|
||||
insmod <build_dir>/kernel/linux/kni/rte_kni.ko lo_mode=lo_mode_fifo_skb
|
||||
|
||||
* Start testpmd with no physical device but two KNI virtual devices:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev net_kni0 --vdev net_kni1 -- -i
|
||||
./dpdk-testpmd --vdev net_kni0 --vdev net_kni1 -- -i
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
|
@ -20,33 +20,6 @@ Supported LiquidIO Adapters
|
||||
- LiquidIO II CN2360 210SVPT
|
||||
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_LIO_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of LiquidIO PMD.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_LIO_DEBUG_RX`` (default ``n``)
|
||||
|
||||
Toggle display of receive fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_LIO_DEBUG_TX`` (default ``n``)
|
||||
|
||||
Toggle display of transmit fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_LIO_DEBUG_MBOX`` (default ``n``)
|
||||
|
||||
Toggle display of mailbox messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_LIO_DEBUG_REGS`` (default ``n``)
|
||||
|
||||
Toggle display of register reads and writes.
|
||||
|
||||
|
||||
SR-IOV: Prerequisites and Sample Application Notes
|
||||
--------------------------------------------------
|
||||
|
||||
|
@ -214,15 +214,15 @@ In this example we run two instances of testpmd application and transmit packets
|
||||
|
||||
First create ``server`` interface::
|
||||
|
||||
#./build/app/testpmd -l 0-1 --proc-type=primary --file-prefix=pmd1 --vdev=net_memif,role=server -- -i
|
||||
#./<build_dir>/app/dpdk-testpmd -l 0-1 --proc-type=primary --file-prefix=pmd1 --vdev=net_memif,role=server -- -i
|
||||
|
||||
Now create ``client`` interface (server must be already running so the client will connect)::
|
||||
|
||||
#./build/app/testpmd -l 2-3 --proc-type=primary --file-prefix=pmd2 --vdev=net_memif -- -i
|
||||
#./<build_dir>/app/dpdk-testpmd -l 2-3 --proc-type=primary --file-prefix=pmd2 --vdev=net_memif -- -i
|
||||
|
||||
You can also enable ``zero-copy`` on ``client`` interface::
|
||||
|
||||
#./build/app/testpmd -l 2-3 --proc-type=primary --file-prefix=pmd2 --vdev=net_memif,zero-copy=yes --single-file-segments -- -i
|
||||
#./<build_dir>/app/dpdk-testpmd -l 2-3 --proc-type=primary --file-prefix=pmd2 --vdev=net_memif,zero-copy=yes --single-file-segments -- -i
|
||||
|
||||
Start forwarding packets::
|
||||
|
||||
@ -258,7 +258,7 @@ To see socket filename use show memif command::
|
||||
|
||||
Now create memif interface by running testpmd with these command line options::
|
||||
|
||||
#./testpmd --vdev=net_memif,socket=/run/vpp/memif.sock -- -i
|
||||
#./dpdk-testpmd --vdev=net_memif,socket=/run/vpp/memif.sock -- -i
|
||||
|
||||
Testpmd should now create memif client interface and try to connect to server.
|
||||
In testpmd set forward option to icmpecho and start forwarding::
|
||||
@ -281,7 +281,7 @@ The situation is analogous to cross connecting 2 ports of the NIC by cable.
|
||||
|
||||
To set the loopback, just use the same socket and id with different roles::
|
||||
|
||||
#./testpmd --vdev=net_memif0,role=server,id=0 --vdev=net_memif1,role=client,id=0 -- -i
|
||||
#./dpdk-testpmd --vdev=net_memif0,role=server,id=0 --vdev=net_memif1,role=client,id=0 -- -i
|
||||
|
||||
Then start the communication::
|
||||
|
||||
|
@ -16,11 +16,6 @@ the `Mellanox community <http://community.mellanox.com/welcome>`_.
|
||||
There is also a `section dedicated to this poll mode driver
|
||||
<http://www.mellanox.com/page/products_dyn?product_family=209&mtag=pmd_for_dpdk>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
Due to external dependencies, this driver is disabled by default. It must
|
||||
be enabled manually by setting ``CONFIG_RTE_LIBRTE_MLX4_PMD=y`` and
|
||||
recompiling DPDK.
|
||||
|
||||
Implementation details
|
||||
----------------------
|
||||
@ -56,45 +51,19 @@ Configuration
|
||||
Compilation options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
These options can be modified in the ``.config`` file.
|
||||
The ibverbs libraries can be linked with this PMD in a number of ways,
|
||||
configured by the ``ibverbs_link`` build option:
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX4_PMD`` (default **n**)
|
||||
- ``shared`` (default): the PMD depends on some .so files.
|
||||
|
||||
Toggle compilation of librte_pmd_mlx4 itself.
|
||||
- ``dlopen``: Split the dependencies glue in a separate library
|
||||
loaded when needed by dlopen.
|
||||
It make dependencies on libibverbs and libmlx4 optional,
|
||||
and has no performance impact.
|
||||
|
||||
- ``CONFIG_RTE_IBVERBS_LINK_DLOPEN`` (default **n**)
|
||||
|
||||
Build PMD with additional code to make it loadable without hard
|
||||
dependencies on **libibverbs** nor **libmlx4**, which may not be installed
|
||||
on the target system.
|
||||
|
||||
In this mode, their presence is still required for it to run properly,
|
||||
however their absence won't prevent a DPDK application from starting (with
|
||||
``CONFIG_RTE_BUILD_SHARED_LIB`` disabled) and they won't show up as
|
||||
missing with ``ldd(1)``.
|
||||
|
||||
It works by moving these dependencies to a purpose-built rdma-core "glue"
|
||||
plug-in which must either be installed in a directory whose name is based
|
||||
on ``CONFIG_RTE_EAL_PMD_PATH`` suffixed with ``-glue`` if set, or in a
|
||||
standard location for the dynamic linker (e.g. ``/lib``) if left to the
|
||||
default empty string (``""``).
|
||||
|
||||
This option has no performance impact.
|
||||
|
||||
- ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**)
|
||||
|
||||
Embed static flavor of the dependencies **libibverbs** and **libmlx4**
|
||||
- ``static``: Embed static flavor of the dependencies libibverbs and libmlx4
|
||||
in the PMD shared library or the executable static binary.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX4_DEBUG`` (default **n**)
|
||||
|
||||
Toggle debugging code and stricter compilation flags. Enabling this option
|
||||
adds additional run-time checks and debugging messages at the cost of
|
||||
lower performance.
|
||||
|
||||
This option is available in meson:
|
||||
|
||||
- ``ibverbs_link`` can be ``static``, ``shared``, or ``dlopen``.
|
||||
|
||||
Environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -104,9 +73,6 @@ Environment variables
|
||||
A list of directories in which to search for the rdma-core "glue" plug-in,
|
||||
separated by colons or semi-colons.
|
||||
|
||||
Only matters when compiled with ``CONFIG_RTE_IBVERBS_LINK_DLOPEN``
|
||||
enabled and most useful when ``CONFIG_RTE_EAL_PMD_PATH`` is also set,
|
||||
since ``LD_LIBRARY_PATH`` has no effect in this case.
|
||||
|
||||
Run-time configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -245,13 +211,6 @@ Current RDMA core package and Linux kernel (recommended)
|
||||
|
||||
.. _`RDMA core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
|
||||
|
||||
If rdma-core libraries are built but not installed, DPDK makefile can link them,
|
||||
thanks to these environment variables:
|
||||
|
||||
- ``EXTRA_CFLAGS=-I/path/to/rdma-core/build/include``
|
||||
- ``EXTRA_LDFLAGS=-L/path/to/rdma-core/build/lib``
|
||||
- ``PKG_CONFIG_PATH=/path/to/rdma-core/build/lib/pkgconfig``
|
||||
|
||||
.. _Mellanox_OFED_as_a_fallback:
|
||||
|
||||
Mellanox OFED as a fallback
|
||||
|
@ -20,11 +20,6 @@ Information and documentation about these adapters can be found on the
|
||||
There is also a `section dedicated to this poll mode driver
|
||||
<http://www.mellanox.com/page/products_dyn?product_family=209&mtag=pmd_for_dpdk>`__.
|
||||
|
||||
.. note::
|
||||
|
||||
Due to external dependencies, this driver is disabled in default configuration
|
||||
of the "make" build. It can be enabled with ``CONFIG_RTE_LIBRTE_MLX5_PMD=y``
|
||||
or by using "meson" build system which will detect dependencies.
|
||||
|
||||
Design
|
||||
------
|
||||
@ -334,53 +329,19 @@ Configuration
|
||||
Compilation options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
These options can be modified in the ``.config`` file.
|
||||
The ibverbs libraries can be linked with this PMD in a number of ways,
|
||||
configured by the ``ibverbs_link`` build option:
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX5_PMD`` (default **n**)
|
||||
- ``shared`` (default): the PMD depends on some .so files.
|
||||
|
||||
Toggle compilation of librte_pmd_mlx5 itself.
|
||||
- ``dlopen``: Split the dependencies glue in a separate library
|
||||
loaded when needed by dlopen.
|
||||
It make dependencies on libibverbs and libmlx4 optional,
|
||||
and has no performance impact.
|
||||
|
||||
- ``CONFIG_RTE_IBVERBS_LINK_DLOPEN`` (default **n**)
|
||||
|
||||
Build PMD with additional code to make it loadable without hard
|
||||
dependencies on **libibverbs** nor **libmlx5**, which may not be installed
|
||||
on the target system.
|
||||
|
||||
In this mode, their presence is still required for it to run properly,
|
||||
however their absence won't prevent a DPDK application from starting (with
|
||||
``CONFIG_RTE_BUILD_SHARED_LIB`` disabled) and they won't show up as
|
||||
missing with ``ldd(1)``.
|
||||
|
||||
It works by moving these dependencies to a purpose-built rdma-core "glue"
|
||||
plug-in which must either be installed in a directory whose name is based
|
||||
on ``CONFIG_RTE_EAL_PMD_PATH`` suffixed with ``-glue`` if set, or in a
|
||||
standard location for the dynamic linker (e.g. ``/lib``) if left to the
|
||||
default empty string (``""``).
|
||||
|
||||
This option has no performance impact.
|
||||
|
||||
- ``CONFIG_RTE_IBVERBS_LINK_STATIC`` (default **n**)
|
||||
|
||||
Embed static flavor of the dependencies **libibverbs** and **libmlx5**
|
||||
- ``static``: Embed static flavor of the dependencies libibverbs and libmlx4
|
||||
in the PMD shared library or the executable static binary.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MLX5_DEBUG`` (default **n**)
|
||||
|
||||
Toggle debugging code and stricter compilation flags. Enabling this option
|
||||
adds additional run-time checks and debugging messages at the cost of
|
||||
lower performance.
|
||||
|
||||
.. note::
|
||||
|
||||
For BlueField, target should be set to ``arm64-bluefield-linux-gcc``. This
|
||||
will enable ``CONFIG_RTE_LIBRTE_MLX5_PMD`` and set ``RTE_CACHE_LINE_SIZE`` to
|
||||
64. Default armv8a configuration of make build and meson build set it to 128
|
||||
then brings performance degradation.
|
||||
|
||||
This option is available in meson:
|
||||
|
||||
- ``ibverbs_link`` can be ``static``, ``shared``, or ``dlopen``.
|
||||
|
||||
Environment variables
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -389,10 +350,6 @@ Environment variables
|
||||
A list of directories in which to search for the rdma-core "glue" plug-in,
|
||||
separated by colons or semi-colons.
|
||||
|
||||
Only matters when compiled with ``CONFIG_RTE_IBVERBS_LINK_DLOPEN``
|
||||
enabled and most useful when ``CONFIG_RTE_EAL_PMD_PATH`` is also set,
|
||||
since ``LD_LIBRARY_PATH`` has no effect in this case.
|
||||
|
||||
- ``MLX5_SHUT_UP_BF``
|
||||
|
||||
Configures HW Tx doorbell register as IO-mapped.
|
||||
@ -1115,12 +1072,6 @@ RDMA Core with Linux Kernel
|
||||
.. _`Linux installation documentation`: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git/plain/Documentation/admin-guide/README.rst
|
||||
.. _`RDMA Core installation documentation`: https://raw.githubusercontent.com/linux-rdma/rdma-core/master/README.md
|
||||
|
||||
If rdma-core libraries are built but not installed, DPDK makefile can link them,
|
||||
thanks to these environment variables:
|
||||
|
||||
- ``EXTRA_CFLAGS=-I/path/to/rdma-core/build/include``
|
||||
- ``EXTRA_LDFLAGS=-L/path/to/rdma-core/build/lib``
|
||||
- ``PKG_CONFIG_PATH=/path/to/rdma-core/build/lib/pkgconfig``
|
||||
|
||||
Mellanox OFED/EN
|
||||
^^^^^^^^^^^^^^^^
|
||||
|
@ -13,12 +13,6 @@ Detailed information about SoCs that use PPv2 can be obtained here:
|
||||
|
||||
* https://www.marvell.com/embedded-processors/armada-3700/
|
||||
|
||||
.. Note::
|
||||
|
||||
Due to external dependencies, this driver is disabled by default. It must
|
||||
be enabled manually by setting relevant configuration option manually.
|
||||
Please refer to `Config File Options`_ section for further details.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
@ -81,20 +75,9 @@ Prerequisites
|
||||
Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup
|
||||
DPDK environment.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MVNETA_PMD`` (default ``n``)
|
||||
|
||||
Toggle compilation of the librte_pmd_mvneta driver.
|
||||
|
||||
Runtime options
|
||||
~~~~~~~~~~~~~~~
|
||||
---------------
|
||||
|
||||
The following ``devargs`` options can be enabled at runtime. They must
|
||||
be passed as part of EAL arguments.
|
||||
@ -107,7 +90,7 @@ be passed as part of EAL arguments.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=net_mvneta,iface=eth0,iface=eth1 \
|
||||
./dpdk-testpmd --vdev=net_mvneta,iface=eth0,iface=eth1 \
|
||||
-c 3 -- -i --p 3 -a
|
||||
|
||||
|
||||
@ -126,16 +109,13 @@ Driver needs precompiled MUSDK library during compilation.
|
||||
MUSDK will be installed to `usr/local` under current directory.
|
||||
For the detailed build instructions please consult ``doc/musdk_get_started.txt``.
|
||||
|
||||
Before the DPDK build process the environmental variable ``LIBMUSDK_PATH`` with
|
||||
the path to the MUSDK installation directory needs to be exported.
|
||||
The path to the MUSDK installation directory needs to set in meson, shown in the
|
||||
following command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export LIBMUSDK_PATH=<musdk>/usr/local
|
||||
export CROSS=aarch64-linux-gnu-
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
sed -ri 's,(MVNETA_PMD=)n,\1y,' build/.config
|
||||
make
|
||||
meson -Dlib_musdk_dir=/path/to/musdk build ninja -C build
|
||||
|
||||
|
||||
Usage Example
|
||||
-------------
|
||||
@ -160,7 +140,7 @@ In order to run testpmd example application following command can be used:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=net_mvneta,iface=eth0,iface=eth1 -c 3 -- \
|
||||
./dpdk-testpmd --vdev=net_mvneta,iface=eth0,iface=eth1 -c 3 -- \
|
||||
-i --p 3 -a --txd 256 --rxd 128 --rxq=1 --txq=1 --nb-cores=1
|
||||
|
||||
|
||||
@ -168,4 +148,4 @@ In order to run l2fwd example application following command can be used:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./l2fwd --vdev=net_mvneta,iface=eth0,iface=eth1 -c 3 -- -T 1 -p 3
|
||||
./dpdk-l2fwd --vdev=net_mvneta,iface=eth0,iface=eth1 -c 3 -- -T 1 -p 3
|
||||
|
@ -15,12 +15,6 @@ Detailed information about SoCs that use PPv2 can be obtained here:
|
||||
* https://www.marvell.com/embedded-processors/armada-70xx/
|
||||
* https://www.marvell.com/embedded-processors/armada-80xx/
|
||||
|
||||
.. Note::
|
||||
|
||||
Due to external dependencies, this driver is disabled by default. It must
|
||||
be enabled manually by setting relevant configuration option manually.
|
||||
Please refer to `Config File Options`_ section for further details.
|
||||
|
||||
|
||||
Features
|
||||
--------
|
||||
@ -114,20 +108,6 @@ Prerequisites
|
||||
DPDK environment.
|
||||
|
||||
|
||||
Config File Options
|
||||
-------------------
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_MVPP2_PMD`` (default ``n``)
|
||||
|
||||
Toggle compilation of the librte mvpp2 driver.
|
||||
|
||||
.. Note::
|
||||
|
||||
When MVPP2 PMD is enabled ``CONFIG_RTE_LIBRTE_MVNETA_PMD`` must be disabled
|
||||
|
||||
|
||||
Building DPDK
|
||||
-------------
|
||||
|
||||
@ -143,22 +123,15 @@ Driver needs precompiled MUSDK library during compilation.
|
||||
MUSDK will be installed to `usr/local` under current directory.
|
||||
For the detailed build instructions please consult ``doc/musdk_get_started.txt``.
|
||||
|
||||
Before the DPDK build process the environmental variable ``LIBMUSDK_PATH`` with
|
||||
the path to the MUSDK installation directory needs to be exported.
|
||||
The path to the MUSDK installation directory needs to set in meson, shown in the
|
||||
command below.
|
||||
|
||||
For additional instructions regarding DPDK cross compilation please refer to :doc:`Cross compile DPDK for ARM64 <../linux_gsg/cross_build_dpdk_for_arm64>`.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export LIBMUSDK_PATH=<musdk>/usr/local
|
||||
export CROSS=<toolchain>/bin/aarch64-linux-gnu-
|
||||
export RTE_KERNELDIR=<kernel-dir>
|
||||
export RTE_TARGET=arm64-armv8a-linux-gcc
|
||||
meson -Dlib_musdk_dir=/path/to/musdk build ninja -C build
|
||||
|
||||
make config T=arm64-armv8a-linux-gcc
|
||||
sed -i "s/MVNETA_PMD=y/MVNETA_PMD=n/" build/.config
|
||||
sed -i "s/MVPP2_PMD=n/MVPP2_PMD=y/" build/.config
|
||||
make
|
||||
|
||||
Usage Example
|
||||
-------------
|
||||
@ -185,7 +158,7 @@ In order to run testpmd example application following command can be used:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 7 -- \
|
||||
./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 7 -- \
|
||||
--burst=128 --txd=2048 --rxd=1024 --rxq=2 --txq=2 --nb-cores=2 \
|
||||
-i -a --rss-udp
|
||||
|
||||
@ -373,7 +346,7 @@ Usage example
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \
|
||||
./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2,cfg=/home/user/mrvl.conf \
|
||||
-c 7 -- -i -a --disable-hw-vlan-strip --rxq=3 --txq=3
|
||||
|
||||
.. _flowapi:
|
||||
@ -486,7 +459,7 @@ Before proceeding run testpmd user application:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 3 -- -i --p 3 -a --disable-hw-vlan-strip
|
||||
./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 3 -- -i --p 3 -a --disable-hw-vlan-strip
|
||||
|
||||
Example #1
|
||||
^^^^^^^^^^
|
||||
@ -578,7 +551,7 @@ Usage example
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 6 -- -i -p 3 -a --txd 1024 --rxd 1024
|
||||
./dpdk-testpmd --vdev=eth_mvpp2,iface=eth0,iface=eth2 -c 6 -- -i -p 3 -a --txd 1024 --rxd 1024
|
||||
|
||||
2. Create meter profile:
|
||||
|
||||
@ -657,7 +630,7 @@ For a detailed usage description please refer to "Traffic Management" section in
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd --vdev=net_mrvl,iface=eth0,iface=eth2,cfg=./qos_config -c 7 -- \
|
||||
./dpdk-testpmd --vdev=net_mrvl,iface=eth0,iface=eth2,cfg=./qos_config -c 7 -- \
|
||||
-i -p 3 --disable-hw-vlan-strip --rxq 3 --txq 3 --txd 1024 --rxd 1024
|
||||
|
||||
2. Stop all ports:
|
||||
|
@ -16,13 +16,6 @@ and used technology
|
||||
(`Netcope Development Kit <http://www.netcope.com/en/products/fpga-development-kit>`_)
|
||||
can be found on the `Netcope Technologies website <http://www.netcope.com/>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
This driver has external dependencies.
|
||||
Therefore it is disabled in default configuration files.
|
||||
It can be enabled by setting ``CONFIG_RTE_LIBRTE_NFB_PMD=y``
|
||||
and recompiling.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently the driver is supported only on x86_64 architectures.
|
||||
@ -62,14 +55,6 @@ The minimum version of the provided packages:
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
These configuration options can be modified before compilation in the
|
||||
``.config`` file:
|
||||
|
||||
* ``CONFIG_RTE_LIBRTE_NFB_PMD`` default value: **n**
|
||||
|
||||
Value **y** enables compilation of nfb PMD.
|
||||
|
||||
|
||||
Timestamps
|
||||
|
||||
The PMD supports hardware timestamps of frame receipt on physical network interface. In order to use
|
||||
@ -78,7 +63,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>
|
||||
./<build_dir>/app/dpdk-testpmd -w 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.
|
||||
@ -133,7 +118,7 @@ transmit queue:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 2 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 2 \
|
||||
-- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 -i -a
|
||||
|
||||
Example output:
|
||||
|
@ -49,10 +49,6 @@ compile it along with other DPDK PMDs even if no BSP was installed previously.
|
||||
Of course, a DPDK app will require such a BSP installed for using the
|
||||
NFP PMD, along with a specific NFP firmware application.
|
||||
|
||||
Default PMD configuration is at the **common_linux configuration** file:
|
||||
|
||||
- **CONFIG_RTE_LIBRTE_NFP_PMD=y**
|
||||
|
||||
Once the DPDK is built all the DPDK apps and examples include support for
|
||||
the NFP PMD.
|
||||
|
||||
|
@ -14,7 +14,7 @@ Usage
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev net_null0 --vdev net_null1 -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev net_null0 --vdev net_null1 -- -i
|
||||
|
||||
|
||||
Runtime Config Options
|
||||
@ -26,7 +26,7 @@ Runtime Config Options
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev "net_null0,copy=1" -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,copy=1" -- -i
|
||||
|
||||
- ``size`` [optional, default=64 bytes]
|
||||
|
||||
@ -35,7 +35,7 @@ Runtime Config Options
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev "net_null0,size=256" -- -i
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,size=256" -- -i
|
||||
|
||||
- ``no-rx`` [optional, default disabled]
|
||||
|
||||
|
@ -52,15 +52,6 @@ See :doc:`../platform/octeontx` for setup information.
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_OCTEONTX_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_octeontx`` driver.
|
||||
|
||||
Driver compilation and testing
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
@ -68,14 +59,6 @@ Driver compilation and testing
|
||||
Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
|
||||
for details.
|
||||
|
||||
To compile the OCTEON TX PMD for Linux arm64 gcc target, run the
|
||||
following ``make`` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
cd <DPDK-source-directory>
|
||||
make config T=arm64-thunderx-linux-gcc install
|
||||
|
||||
#. Running testpmd:
|
||||
|
||||
Follow instructions available in the document
|
||||
@ -86,7 +69,7 @@ following ``make`` command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./arm64-thunderx-linux-gcc/app/testpmd -c 700 \
|
||||
./<build_dir>/app/dpdk-testpmd -c 700 \
|
||||
--base-virtaddr=0x100000000000 \
|
||||
--mbuf-pool-ops-name="octeontx_fpavf" \
|
||||
--vdev='event_octeontx' \
|
||||
|
@ -46,14 +46,6 @@ Prerequisites
|
||||
|
||||
See :doc:`../platform/octeontx2` for setup information.
|
||||
|
||||
Compile time Config Options
|
||||
---------------------------
|
||||
|
||||
The following options may be modified in the ``config`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_OCTEONTX2_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_octeontx2`` driver.
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
@ -61,9 +53,6 @@ Driver compilation and testing
|
||||
Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
|
||||
for details.
|
||||
|
||||
To compile the OCTEON TX2 PMD for Linux arm64 gcc,
|
||||
use arm64-octeontx2-linux-gcc as target.
|
||||
|
||||
#. Running testpmd:
|
||||
|
||||
Follow instructions available in the document
|
||||
@ -74,7 +63,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_dir>/app/dpdk-testpmd -c 0x300 -w 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
|
||||
|
@ -15,10 +15,8 @@ the DPDK also includes pure-software PMDs, two of these drivers are:
|
||||
|
||||
.. note::
|
||||
|
||||
The libpcap -based PMD is disabled by default in the build configuration files,
|
||||
owing to an external dependency on the libpcap development files which must be installed on the board.
|
||||
Once the libpcap development files are installed,
|
||||
the library can be enabled by setting CONFIG_RTE_LIBRTE_PMD_PCAP=y and recompiling the DPDK.
|
||||
The libpcap -based PMD has an external dependency on the libpcap development files which must
|
||||
be installed on the board.
|
||||
|
||||
Using the Drivers from the EAL Command Line
|
||||
-------------------------------------------
|
||||
@ -42,7 +40,7 @@ Device name and stream options must be separated by commas as shown below:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,stream_opt0=..,stream_opt1=..' \
|
||||
--vdev='net_pcap1,stream_opt0=..'
|
||||
|
||||
@ -141,7 +139,7 @@ Read packets from one pcap file and write them to another:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
|
||||
-- --port-topology=chained
|
||||
|
||||
@ -149,7 +147,7 @@ Read packets from a network interface and write them to a pcap file:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_iface=eth0,tx_pcap=file_tx.pcap' \
|
||||
-- --port-topology=chained
|
||||
|
||||
@ -157,7 +155,7 @@ Read packets from a pcap file and write them to a network interface:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_iface=eth1' \
|
||||
-- --port-topology=chained
|
||||
|
||||
@ -165,14 +163,14 @@ Forward packets through two network interfaces:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,iface=eth0' --vdev='net_pcap1,iface=eth1'
|
||||
|
||||
Enable 2 tx queues on a network interface:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_iface=eth1,tx_iface=eth1,tx_iface=eth1' \
|
||||
-- --txq 2
|
||||
|
||||
@ -180,7 +178,7 @@ Read only incoming packets from a network interface and write them back to the s
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_iface_in=eth1,tx_iface=eth1'
|
||||
|
||||
Using libpcap-based PMD with the testpmd Application
|
||||
@ -205,7 +203,7 @@ Otherwise, the first 512 packets from the input pcap file will be discarded by t
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 \
|
||||
--vdev 'net_pcap0,rx_pcap=file_rx.pcap,tx_pcap=file_tx.pcap' \
|
||||
-- --port-topology=chained --no-flush-rx
|
||||
|
||||
@ -225,7 +223,7 @@ Multiple devices may be specified, separated by commas.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
|
||||
./dpdk-testpmd -l 1-3 -n 4 --vdev=net_ring0 --vdev=net_ring1 -- -i
|
||||
EAL: Detected lcore 1 as core 1 on socket 0
|
||||
...
|
||||
|
||||
|
@ -103,25 +103,12 @@ Performance note
|
||||
|
||||
- For better performance, it is recommended to use 4K or higher RX/TX rings.
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
Config Options
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``.config`` file. Please note that
|
||||
enabling debugging options may affect system performance.
|
||||
The following option can be modified in the ``config/rte_config.h`` file.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_QEDE_PMD`` (default **y**)
|
||||
|
||||
Toggle compilation of QEDE PMD driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_QEDE_DEBUG_TX`` (default **n**)
|
||||
|
||||
Toggle display of transmit fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_QEDE_DEBUG_RX`` (default **n**)
|
||||
|
||||
Toggle display of receive fast path run-time messages.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_QEDE_FW`` (default **""**)
|
||||
- ``RTE_LIBRTE_QEDE_FW`` (default **""**)
|
||||
|
||||
Gives absolute path of firmware file.
|
||||
``Eg: "/lib/firmware/qed/qed_init_values-8.40.33.0.bin"``
|
||||
@ -130,6 +117,16 @@ enabling debugging options may affect system performance.
|
||||
CAUTION this option is more for custom firmware, it is not
|
||||
recommended for use under normal condition.
|
||||
|
||||
The following options can be enabled with Meson flags.
|
||||
|
||||
- ``RTE_LIBRTE_QEDE_DEBUG_TX`` (default **disabled**)
|
||||
|
||||
Toggle display of transmit fast path run-time messages.
|
||||
|
||||
- ``RTE_LIBRTE_QEDE_DEBUG_RX`` (default **disabled**)
|
||||
|
||||
Toggle display of receive fast path run-time messages.
|
||||
|
||||
Config notes
|
||||
~~~~~~~~~~~~
|
||||
|
||||
|
@ -51,15 +51,6 @@ Any Linux distribution fulfilling the conditions described in ``System Requireme
|
||||
section of :ref:`the DPDK documentation <linux_gsg>` or refer to *DPDK
|
||||
Release Notes*.
|
||||
|
||||
Build options
|
||||
-------------
|
||||
|
||||
The default PMD configuration available in the common_linux configuration file:
|
||||
|
||||
CONFIG_RTE_LIBRTE_PMD_SOFTNIC=y
|
||||
|
||||
Once the DPDK is built, all the DPDK applications include support for the
|
||||
Soft NIC PMD.
|
||||
|
||||
Soft NIC PMD arguments
|
||||
----------------------
|
||||
@ -130,7 +121,7 @@ Soft NIC testing
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd -c 0x7 -s 0x4 --vdev 'net_softnic0,firmware=<script path>/firmware.cli,cpu_id=0,conn_port=8086' -- -i
|
||||
./dpdk-testpmd -c 0x7 -s 0x4 --vdev 'net_softnic0,firmware=<script path>/firmware.cli,cpu_id=0,conn_port=8086' -- -i
|
||||
--portmask=0x2
|
||||
|
||||
.. code-block:: console
|
||||
@ -375,7 +366,7 @@ commands.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./x86_64-native-linux-gcc/app/testpmd -c 0x7 -s 0x4 -n 4 \
|
||||
./<build_dir>/app/dpdk-testpmd -c 0x7 -s 0x4 -n 4 \
|
||||
--vdev 'net_softnic0, \
|
||||
firmware=./drivers/net/softnic/ \
|
||||
firmware.cli, \
|
||||
|
@ -15,13 +15,6 @@ and used technology
|
||||
(`Netcope Development Kit <http://www.netcope.com/en/products/fpga-development-kit>`_)
|
||||
can be found on the `Netcope Technologies website <http://www.netcope.com/>`_.
|
||||
|
||||
.. note::
|
||||
|
||||
This driver has external dependencies.
|
||||
Therefore it is disabled in default configuration files.
|
||||
It can be enabled by setting ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2=y``
|
||||
and recompiling.
|
||||
|
||||
.. note::
|
||||
|
||||
Currently the driver is supported only on x86_64 architectures.
|
||||
@ -63,15 +56,6 @@ The minimum version of the provided packages:
|
||||
|
||||
* for DPDK up to 18.02 (including): **3.0.5**
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
These configuration options can be modified before compilation in the
|
||||
``.config`` file:
|
||||
|
||||
* ``CONFIG_RTE_LIBRTE_PMD_SZEDATA2`` default value: **n**
|
||||
|
||||
Value **y** enables compilation of szedata2 PMD.
|
||||
|
||||
Using the SZEDATA2 PMD
|
||||
----------------------
|
||||
@ -129,7 +113,7 @@ transmit channel:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$RTE_TARGET/app/testpmd -l 0-3 -n 2 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 2 \
|
||||
-- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 -i -a
|
||||
|
||||
Example output:
|
||||
|
@ -43,26 +43,6 @@ Prerequisites
|
||||
-------------
|
||||
- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>` to setup the basic DPDK environment.
|
||||
|
||||
Pre-Installation Configuration
|
||||
------------------------------
|
||||
|
||||
Config File Options
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following options can be modified in the ``config`` file.
|
||||
Please note that enabling debugging options may affect system performance.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_THUNDERX_NICVF_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of the ``librte_pmd_thunderx_nicvf`` driver.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_RX`` (default ``n``)
|
||||
|
||||
Toggle asserts of receive fast path.
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_THUNDERX_NICVF_DEBUG_TX`` (default ``n``)
|
||||
|
||||
Toggle asserts of transmit fast path.
|
||||
|
||||
Driver compilation and testing
|
||||
------------------------------
|
||||
@ -70,8 +50,7 @@ Driver compilation and testing
|
||||
Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
|
||||
for details.
|
||||
|
||||
To compile the ThunderX NICVF PMD for Linux arm64 gcc,
|
||||
use arm64-thunderx-linux-gcc as target.
|
||||
Use config/arm/arm64-thunderx-linux-gcc as a meson cross-file when cross-compiling.
|
||||
|
||||
Linux
|
||||
-----
|
||||
@ -178,7 +157,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 \
|
||||
./<build_dir>/app/dpdk-testpmd -l 0-3 -n 4 -w 0002:01:00.2 \
|
||||
-- -i --no-flush-rx \
|
||||
--port-topology=loop
|
||||
|
||||
|
@ -61,12 +61,6 @@ This driver implementation may be temporary and should be improved or removed
|
||||
either when hot-plug will be fully supported in EAL and bus drivers or when
|
||||
a new NetVSC driver will be integrated.
|
||||
|
||||
Build options
|
||||
-------------
|
||||
|
||||
- ``CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD`` (default ``y``)
|
||||
|
||||
Toggle compilation of this driver.
|
||||
|
||||
Run-time parameters
|
||||
-------------------
|
||||
|
@ -90,7 +90,7 @@ This section demonstrates vhost PMD with testpmd DPDK sample application.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./testpmd -l 0-3 -n 4 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
|
||||
./dpdk-testpmd -l 0-3 -n 4 --vdev 'net_vhost0,iface=/tmp/sock0,queues=1' -- -i
|
||||
|
||||
Other basic DPDK preparations like hugepage enabling here.
|
||||
Please refer to the *DPDK Getting Started Guide* for detailed instructions.
|
||||
|
@ -110,7 +110,7 @@ Host2VM communication example
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
examples/kni/build/app/kni -l 0-3 -n 4 -- -p 0x1 -P --config="(0,1,3)"
|
||||
<build_dir>/examples/dpdk-kni -l 0-3 -n 4 -- -p 0x1 -P --config="(0,1,3)"
|
||||
|
||||
This command generates one network device vEth0 for physical port.
|
||||
If specify more physical ports, the generated network device will be vEth1, vEth2, and so on.
|
||||
@ -340,7 +340,7 @@ Here we use l3fwd-power as an example to show how to get started.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ l3fwd-power -l 0-1 -- -p 1 -P --config="(0,0,1)" \
|
||||
$ dpdk-l3fwd-power -l 0-1 -- -p 1 -P --config="(0,0,1)" \
|
||||
--no-numa --parse-ptype
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user