diff --git a/doc/guides/nics/ark.rst b/doc/guides/nics/ark.rst index 358e7f624d..d9eafa3b88 100644 --- a/doc/guides/nics/ark.rst +++ b/doc/guides/nics/ark.rst @@ -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 diff --git a/doc/guides/nics/atlantic.rst b/doc/guides/nics/atlantic.rst index 3f3f2949f3..605f6dc3ab 100644 --- a/doc/guides/nics/atlantic.rst +++ b/doc/guides/nics/atlantic.rst @@ -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 --------------------------------- diff --git a/doc/guides/nics/axgbe.rst b/doc/guides/nics/axgbe.rst index 9b270a4226..10bf86fa54 100644 --- a/doc/guides/nics/axgbe.rst +++ b/doc/guides/nics/axgbe.rst @@ -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 ------------- diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst index ab90d8ae5e..3aa8c6c9b0 100644 --- a/doc/guides/nics/bnx2x.rst +++ b/doc/guides/nics/bnx2x.rst @@ -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 diff --git a/doc/guides/nics/bnxt.rst b/doc/guides/nics/bnxt.rst index 28973fc3e2..2540ddd5c2 100644 --- a/doc/guides/nics/bnxt.rst +++ b/doc/guides/nics/bnxt.rst @@ -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 diff --git a/doc/guides/nics/build_and_test.rst b/doc/guides/nics/build_and_test.rst index ba196382a9..b47c684288 100644 --- a/doc/guides/nics/build_and_test.rst +++ b/doc/guides/nics/build_and_test.rst @@ -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 + .//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 diff --git a/doc/guides/nics/cxgbe.rst b/doc/guides/nics/cxgbe.rst index 54a4c13899..442ab1511c 100644 --- a/doc/guides/nics/cxgbe.rst +++ b/doc/guides/nics/cxgbe.rst @@ -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 /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 /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 + .//app/dpdk-testpmd -l 0-3 -n 4 -w 0000:02:00.4 -- -i Example output: diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst index 74d4a6058e..1deb7faaa5 100644 --- a/doc/guides/nics/dpaa.rst +++ b/doc/guides/nics/dpaa.rst @@ -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 \ + .//app/dpdk-testpmd -c 0xff -n 1 \ -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx ..... diff --git a/doc/guides/nics/dpaa2.rst b/doc/guides/nics/dpaa2.rst index ca6ba5b5e2..01e37d4621 100644 --- a/doc/guides/nics/dpaa2.rst +++ b/doc/guides/nics/dpaa2.rst @@ -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. diff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst index 3a6074cdf6..3312acba52 100644 --- a/doc/guides/nics/ena.rst +++ b/doc/guides/nics/ena.rst @@ -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) diff --git a/doc/guides/nics/enetc.rst b/doc/guides/nics/enetc.rst index 3c896eeffa..6203f4d799 100644 --- a/doc/guides/nics/enetc.rst +++ b/doc/guides/nics/enetc.rst @@ -113,5 +113,3 @@ Driver compilation and testing Follow instructions available in the document :ref:`compiling and testing a PMD for a NIC ` to launch **testpmd** - -To compile in performance mode, please set ``CONFIG_RTE_CACHE_LINE_SIZE=64`` diff --git a/doc/guides/nics/enic.rst b/doc/guides/nics/enic.rst index a28a7f4e47..c624487683 100644 --- a/doc/guides/nics/enic.rst +++ b/doc/guides/nics/enic.rst @@ -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 -------------------- diff --git a/doc/guides/nics/fail_safe.rst b/doc/guides/nics/fail_safe.rst index f80346a358..e1b5c80d6c 100644 --- a/doc/guides/nics/fail_safe.rst +++ b/doc/guides/nics/fail_safe.rst @@ -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 \ + .//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 \ + .//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 \ + .//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 \ + .//app/dpdk-testpmd -c 0xff -n 4 \ --vdev 'net_failsafe0,dev(0000:84:00.0),dev(net_ring0)' -- -i diff --git a/doc/guides/nics/features.rst b/doc/guides/nics/features.rst index 16e00b8f64..234bf066b9 100644 --- a/doc/guides/nics/features.rst +++ b/doc/guides/nics/features.rst @@ -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: diff --git a/doc/guides/nics/fm10k.rst b/doc/guides/nics/fm10k.rst index 4e178c2cc6..0f7c91bbd1 100644 --- a/doc/guides/nics/fm10k.rst +++ b/doc/guides/nics/fm10k.rst @@ -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. diff --git a/doc/guides/nics/hinic.rst b/doc/guides/nics/hinic.rst index f765060641..fe13c582e7 100644 --- a/doc/guides/nics/hinic.rst +++ b/doc/guides/nics/hinic.rst @@ -46,15 +46,6 @@ Prerequisites - Follow the DPDK :ref:`Getting Started Guide for Linux ` 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 ------------------------------ diff --git a/doc/guides/nics/hns3.rst b/doc/guides/nics/hns3.rst index a62fcfdede..d96ad5d445 100644 --- a/doc/guides/nics/hns3.rst +++ b/doc/guides/nics/hns3.rst @@ -44,16 +44,6 @@ Prerequisites - Follow the DPDK :ref:`Getting Started Guide for Linux ` 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 ------------------------------ diff --git a/doc/guides/nics/i40e.rst b/doc/guides/nics/i40e.rst index a0b81e6695..5cf85d94cc 100644 --- a/doc/guides/nics/i40e.rst +++ b/doc/guides/nics/i40e.rst @@ -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 + .//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 + .//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, diff --git a/doc/guides/nics/ice.rst b/doc/guides/nics/ice.rst index 25a821177a..a2aea12333 100644 --- a/doc/guides/nics/ice.rst +++ b/doc/guides/nics/ice.rst @@ -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 diff --git a/doc/guides/nics/igc.rst b/doc/guides/nics/igc.rst index 4c5e626759..3b096236bf 100644 --- a/doc/guides/nics/igc.rst +++ b/doc/guides/nics/igc.rst @@ -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: diff --git a/doc/guides/nics/intel_vf.rst b/doc/guides/nics/intel_vf.rst index ade5152595..723a9c0fa2 100644 --- a/doc/guides/nics/intel_vf.rst +++ b/doc/guides/nics/intel_vf.rst @@ -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 + .//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:: diff --git a/doc/guides/nics/ionic.rst b/doc/guides/nics/ionic.rst index 787123df5d..fd32926bf4 100644 --- a/doc/guides/nics/ionic.rst +++ b/doc/guides/nics/ionic.rst @@ -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 ------------- diff --git a/doc/guides/nics/ipn3ke.rst b/doc/guides/nics/ipn3ke.rst index c6c1552f66..5d4534e4da 100644 --- a/doc/guides/nics/ipn3ke.rst +++ b/doc/guides/nics/ipn3ke.rst @@ -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 + .//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 + .//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 --------------------------- diff --git a/doc/guides/nics/kni.rst b/doc/guides/nics/kni.rst index 90d3040cf5..80ba459d49 100644 --- a/doc/guides/nics/kni.rst +++ b/doc/guides/nics/kni.rst @@ -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 /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 diff --git a/doc/guides/nics/liquidio.rst b/doc/guides/nics/liquidio.rst index 0534146720..65c7d2d0b0 100644 --- a/doc/guides/nics/liquidio.rst +++ b/doc/guides/nics/liquidio.rst @@ -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 -------------------------------------------------- diff --git a/doc/guides/nics/memif.rst b/doc/guides/nics/memif.rst index 48da8c7f1b..d783f2d4a4 100644 --- a/doc/guides/nics/memif.rst +++ b/doc/guides/nics/memif.rst @@ -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 + #.//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 + #.//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 + #.//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:: diff --git a/doc/guides/nics/mlx4.rst b/doc/guides/nics/mlx4.rst index 6818b6af51..ed920e91ad 100644 --- a/doc/guides/nics/mlx4.rst +++ b/doc/guides/nics/mlx4.rst @@ -16,11 +16,6 @@ the `Mellanox community `_. There is also a `section dedicated to this poll mode driver `_. -.. 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 diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index a071db276f..afa65a1379 100644 --- a/doc/guides/nics/mlx5.rst +++ b/doc/guides/nics/mlx5.rst @@ -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 `__. -.. 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 ^^^^^^^^^^^^^^^^ diff --git a/doc/guides/nics/mvneta.rst b/doc/guides/nics/mvneta.rst index c8b00ddf22..e8abde42da 100644 --- a/doc/guides/nics/mvneta.rst +++ b/doc/guides/nics/mvneta.rst @@ -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 ` 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=/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 diff --git a/doc/guides/nics/mvpp2.rst b/doc/guides/nics/mvpp2.rst index 19cab1cbcc..6fbce8358e 100644 --- a/doc/guides/nics/mvpp2.rst +++ b/doc/guides/nics/mvpp2.rst @@ -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=/usr/local - export CROSS=/bin/aarch64-linux-gnu- - export RTE_KERNELDIR= - 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: diff --git a/doc/guides/nics/nfb.rst b/doc/guides/nics/nfb.rst index 10f33a025e..ecea3ecff0 100644 --- a/doc/guides/nics/nfb.rst +++ b/doc/guides/nics/nfb.rst @@ -16,13 +16,6 @@ and used technology (`Netcope Development Kit `_) can be found on the `Netcope Technologies website `_. -.. 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 -- + .//app/dpdk-testpmd -w b3:00.0,timestamp=1 -- 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 \ + .//app/dpdk-testpmd -l 0-3 -n 2 \ -- --port-topology=chained --rxq=2 --txq=2 --nb-cores=2 -i -a Example output: diff --git a/doc/guides/nics/nfp.rst b/doc/guides/nics/nfp.rst index 020e37d131..fef99973b6 100644 --- a/doc/guides/nics/nfp.rst +++ b/doc/guides/nics/nfp.rst @@ -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. diff --git a/doc/guides/nics/null.rst b/doc/guides/nics/null.rst index c68d0d6051..e75abd96d2 100644 --- a/doc/guides/nics/null.rst +++ b/doc/guides/nics/null.rst @@ -14,7 +14,7 @@ Usage .. code-block:: console - $RTE_TARGET/app/testpmd -l 0-3 -n 4 --vdev net_null0 --vdev net_null1 -- -i + .//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 + .//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 + .//app/dpdk-testpmd -l 0-3 -n 4 --vdev "net_null0,size=256" -- -i - ``no-rx`` [optional, default disabled] diff --git a/doc/guides/nics/octeontx.rst b/doc/guides/nics/octeontx.rst index c8655bf375..c01ae09bb3 100644 --- a/doc/guides/nics/octeontx.rst +++ b/doc/guides/nics/octeontx.rst @@ -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 ` for details. -To compile the OCTEON TX PMD for Linux arm64 gcc target, run the -following ``make`` command: - -.. code-block:: console - - cd - 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 \ + .//app/dpdk-testpmd -c 700 \ --base-virtaddr=0x100000000000 \ --mbuf-pool-ops-name="octeontx_fpavf" \ --vdev='event_octeontx' \ diff --git a/doc/guides/nics/octeontx2.rst b/doc/guides/nics/octeontx2.rst index f3be79bbb8..7c04b5e600 100644 --- a/doc/guides/nics/octeontx2.rst +++ b/doc/guides/nics/octeontx2.rst @@ -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 ` 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 + .//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 diff --git a/doc/guides/nics/pcap_ring.rst b/doc/guides/nics/pcap_ring.rst index 8fdb49179a..3734c29083 100644 --- a/doc/guides/nics/pcap_ring.rst +++ b/doc/guides/nics/pcap_ring.rst @@ -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 \ + .//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 \ + .//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 \ + .//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 \ + .//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 \ + .//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 \ + .//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 \ + .//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 \ + .//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 ... diff --git a/doc/guides/nics/qede.rst b/doc/guides/nics/qede.rst index e874915c2f..da9af95373 100644 --- a/doc/guides/nics/qede.rst +++ b/doc/guides/nics/qede.rst @@ -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 ~~~~~~~~~~~~ diff --git a/doc/guides/nics/softnic.rst b/doc/guides/nics/softnic.rst index 8f0dd53eac..695ebed91f 100644 --- a/doc/guides/nics/softnic.rst +++ b/doc/guides/nics/softnic.rst @@ -51,15 +51,6 @@ Any Linux distribution fulfilling the conditions described in ``System Requireme section of :ref:`the DPDK documentation ` 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=