ISA-L Compression Poll Mode Driver
==================================
-The ISA-L PMD (**librte_pmd_isal_comp**) provides poll mode compression &
+The ISA-L PMD (**librte_compress_isal**) provides poll mode compression &
decompression driver support for utilizing Intel ISA-L library,
which implements the deflate algorithm for both Deflate(compression) and Inflate(decompression).
OCTEON TX ZIP Compression Poll Mode Driver
==========================================
-The OCTEON TX ZIP PMD (**librte_pmd_octeontx_zip**) provides poll mode
+The OCTEON TX ZIP PMD (**librte_compress_octeontx**) provides poll mode
compression & decompression driver for ZIP HW offload device, found in
**Cavium OCTEON TX** SoC family.
ZLIB Compression Poll Mode Driver
==================================
-The ZLIB PMD (**librte_pmd_zlib**) provides poll mode compression &
+The ZLIB PMD (**librte_compress_zlib**) provides poll mode compression &
decompression driver based on SW zlib library,
Features
==================================
-The AES-NI GCM PMD (**librte_pmd_aesni_gcm**) provides poll mode crypto driver
+The AES-NI GCM PMD (**librte_crypto_aesni_gcm**) provides poll mode crypto driver
support for utilizing Intel multi buffer library (see AES-NI Multi-buffer PMD documentation
to learn more about it, including installation).
============================================
-The AESNI MB PMD (**librte_pmd_aesni_mb**) provides poll mode crypto driver
+The AESNI MB PMD (**librte_crypto_aesni_mb**) provides poll mode crypto driver
support for utilizing Intel multi buffer library, see the white paper
`Fast Multi-buffer IPsec Implementations on Intel® Architecture Processors
<https://www.intel.com/content/dam/www/public/us/en/documents/white-papers/fast-multi-buffer-ipsec-implementations-ia-processors-paper.pdf>`_.
========================
This code provides the initial implementation of the ccp poll mode driver.
-The CCP poll mode driver library (librte_pmd_ccp) implements support for
+The CCP poll mode driver library (**librte_crypto_ccp**) implements support for
AMD’s cryptographic co-processor (CCP). The CCP PMD is a virtual crypto
poll mode driver which schedules crypto operations to one or more available
CCP hardware engines on the platform. The CCP PMD provides poll mode crypto
KASUMI Crypto Poll Mode Driver
===============================
-The KASUMI PMD (**librte_pmd_kasumi**) provides poll mode crypto driver support for
+The KASUMI PMD (**librte_crypto_kasumi**) provides poll mode crypto driver support for
utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
which implements F8 and F9 functions for KASUMI UEA1 cipher and UIA1 hash algorithms.
MVSAM Crypto Poll Mode Driver
=============================
-The MVSAM CRYPTO PMD (**librte_crypto_mvsam_pmd**) provides poll mode crypto driver
+The MVSAM CRYPTO PMD (**librte_crypto_mvsam**) provides poll mode crypto driver
support by utilizing MUSDK library, which provides cryptographic operations
acceleration by using Security Acceleration Engine (EIP197) directly from
user-space with minimum overhead and high performance.
Null Crypto Poll Mode Driver
============================
-The Null Crypto PMD (**librte_pmd_null_crypto**) provides a crypto poll mode
+The Null Crypto PMD (**librte_crypto_null**) provides a crypto poll mode
driver which provides a minimal implementation for a software crypto device. As
a null device it does not modify the data in the mbuf on which the crypto
operation is to operate and it only has support for a single cipher and
Cryptodev Scheduler Overview
-The Cryptodev Scheduler PMD library (**librte_pmd_crypto_scheduler**) acts as
+The Cryptodev Scheduler PMD library (**librte_crypto_scheduler**) acts as
a software crypto PMD and shares the same API provided by librte_cryptodev.
The PMD supports attaching multiple crypto PMDs, software or hardware, as
workers, and distributes the crypto workload to them with certain behavior.
The behaviors are categorizes as different "modes". Basically, a scheduling
mode defines certain actions for scheduling crypto ops to its workers.
-The librte_pmd_crypto_scheduler library exports a C API which provides an API
+The librte_crypto_scheduler library exports a C API which provides an API
for attaching/detaching workers, set/get scheduling modes, and enable/disable
crypto ops reordering.
SNOW 3G Crypto Poll Mode Driver
===============================
-The SNOW3G PMD (**librte_snow3g_zuc**) provides poll mode crypto driver support for
+The SNOW3G PMD (**librte_crypto_snow3g**) provides poll mode crypto driver support for
utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
which implements F8 and F8 functions for SNOW 3G UEA2 cipher and UIA2 hash algorithms.
ZUC Crypto Poll Mode Driver
===========================
-The ZUC PMD (**librte_pmd_zuc**) provides poll mode crypto driver support for
+The ZUC PMD (**librte_crypto_zuc**) provides poll mode crypto driver support for
utilizing `Intel IPSec Multi-buffer library <https://github.com/01org/intel-ipsec-mb>`_
which implements F8 and F9 functions for ZUC EEA3 cipher and EIA3 hash algorithms.
OCTEON TX SSOVF Eventdev Driver
===============================
-The OCTEON TX SSOVF PMD (**librte_pmd_octeontx_ssovf**) provides poll mode
+The OCTEON TX SSOVF PMD (**librte_event_octeontx**) provides poll mode
eventdev driver support for the inbuilt event device found in the **Cavium OCTEON TX**
SoC family as well as their virtual functions (VF) in SR-IOV context.
OCTEON TX2 SSO Eventdev Driver
===============================
-The OCTEON TX2 SSO PMD (**librte_pmd_octeontx2_event**) provides poll mode
+The OCTEON TX2 SSO PMD (**librte_event_octeontx2**) provides poll mode
eventdev driver support for the inbuilt event device found in the **Marvell OCTEON TX2**
SoC family.
Follow instructions available in the document
:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
-**testpmd** with Atomic Rules ARK devices managed by librte_pmd_ark.
+**testpmd** with Atomic Rules ARK devices managed by librte_net_ark.
Example output:
AXGBE Poll Mode Driver
======================
-The AXGBE poll mode driver library (**librte_pmd_axgbe**) implements support
+The AXGBE poll mode driver library (**librte_net_axgbe**) implements support
for AMD 10 Gbps family of adapters. It is compiled and tested in standard linux distro like Ubuntu.
Detailed information about SoCs that use these devices can be found here:
BNX2X Poll Mode Driver
======================
-The BNX2X poll mode driver library (**librte_pmd_bnx2x**) implements support
+The BNX2X poll mode driver library (**librte_net_bnx2x**) implements support
for **QLogic 578xx** 10/20 Gbps family of adapters as well as their virtual
functions (VF) in SR-IOV context. It is supported on several standard Linux
distros like RHEL and SLES. It is compile-tested under FreeBSD OS.
BNXT Poll Mode Driver
=====================
-The Broadcom BNXT PMD (**librte_pmd_bnxt**) implements support for adapters
+The Broadcom BNXT PMD (**librte_net_bnxt**) implements support for adapters
based on Ethernet controllers and SoCs belonging to the Broadcom
BCM574XX/BCM575XX NetXtreme-E® Family of Ethernet Network Controllers,
the Broadcom BCM588XX Stingray Family of Smart NIC Adapters, and the Broadcom
CXGBE Poll Mode Driver
======================
-The CXGBE PMD (**librte_pmd_cxgbe**) provides poll mode driver support
+The CXGBE PMD (**librte_net_cxgbe**) provides poll mode driver support
for **Chelsio Terminator** 10/25/40/100 Gbps family of adapters. CXGBE PMD
has support for the latest Linux and FreeBSD operating systems.
-----------
The Chelsio Terminator series of devices provide two/four ports but
-expose a single PCI bus address, thus, librte_pmd_cxgbe registers
+expose a single PCI bus address, thus, librte_net_cxgbe registers
itself as a PCI driver that allocates one Ethernet device per detected
port.
~~~~~~~~~~~~~~~
This section demonstrates how to launch **testpmd** with Chelsio
-devices managed by librte_pmd_cxgbe in Linux operating system.
+devices managed by librte_net_cxgbe in Linux operating system.
#. Load the kernel module:
~~~~~~~~~~~~~~~
This section demonstrates how to launch **testpmd** with Chelsio
-devices managed by librte_pmd_cxgbe in FreeBSD operating system.
+devices managed by librte_net_cxgbe in FreeBSD operating system.
#. Change to DPDK source directory where the target has been compiled in
section :ref:`driver-compilation`:
DPAA Poll Mode Driver
=====================
-The DPAA NIC PMD (**librte_pmd_dpaa**) provides poll mode driver
+The DPAA NIC PMD (**librte_net_dpaa**) provides poll mode driver
support for the inbuilt NIC found in the **NXP DPAA** SoC family.
More information can be found at `NXP Official Website
DPAA2 Poll Mode Driver
======================
-The DPAA2 NIC PMD (**librte_pmd_dpaa2**) provides poll mode driver
+The DPAA2 NIC PMD (**librte_net_dpaa2**) provides poll mode driver
support for the inbuilt NIC found in the **NXP DPAA2** SoC family.
More information can be found at `NXP Official Website
Follow instructions available in the document
:ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>` to launch
-**testpmd** with Amazon ENA devices managed by librte_pmd_ena.
+**testpmd** with Amazon ENA devices managed by librte_net_ena.
Example output:
ENETC Poll Mode Driver
======================
-The ENETC NIC PMD (**librte_pmd_enetc**) provides poll mode driver
+The ENETC NIC PMD (**librte_net_enetc**) provides poll mode driver
support for the inbuilt NIC found in the **NXP LS1028** SoC.
More information can be found at `NXP Official Website
Fail-safe poll mode driver library
==================================
-The Fail-safe poll mode driver library (**librte_pmd_failsafe**) implements a
+The Fail-safe poll mode driver library (**librte_net_failsafe**) implements a
virtual device that allows using device supporting hotplug, without modifying
other components relying on such device (application, other PMDs).
In this context, hotplug support is meant as plugging or removing a device
HINIC Poll Mode Driver
======================
-The hinic PMD (librte_pmd_hinic) provides poll mode driver support
+The hinic PMD (**librte_net_hinic**) provides poll mode driver support
for 25Gbps Huawei Intelligent PCIE Network Adapters based on the
Huawei Ethernet Controller Hi1822.
HNS3 Poll Mode Driver
===============================
-The hns3 PMD (librte_pmd_hns3) provides poll mode driver support
+The hns3 PMD (**librte_net_hns3**) provides poll mode driver support
for the inbuilt Hisilicon Network Subsystem(HNS) network engine
found in the Hisilicon Kunpeng 920 SoC.
I40E Poll Mode Driver
======================
-The i40e PMD (librte_pmd_i40e) provides poll mode driver support for
+The i40e PMD (**librte_net_i40e**) provides poll mode driver support for
10/25/40 Gbps Intel® Ethernet 700 Series Network Adapters based on
the Intel Ethernet Controller X710/XL710/XXV710 and Intel Ethernet
Connection X722 (only support part of features).
ICE Poll Mode Driver
======================
-The ice PMD (librte_pmd_ice) provides poll mode driver support for
+The ice PMD (**librte_net_ice**) provides poll mode driver support for
10/25/50/100 Gbps Intel® Ethernet 810 Series Network Adapters based on
the Intel Ethernet Controller E810.
IGB Poll Mode Driver
====================
-The IGB PMD (``librte_pmd_e1000``) provides poll mode driver
+The IGB PMD (**librte_net_e1000**) provides poll mode driver
support for Intel 1GbE nics.
Features
IGC Poll Mode Driver
======================
-The IGC PMD (librte_pmd_igc) provides poll mode driver support for Foxville
+The IGC PMD (**librte_net_igc**) provides poll mode driver support for Foxville
I225 Series Network Adapters.
- For information about I225, please refer to:
IPN3KE Poll Mode Driver
=======================
-The ipn3ke PMD (librte_pmd_ipn3ke) provides poll mode driver support
+The ipn3ke PMD (**librte_net_ipn3ke**) provides poll mode driver support
for Intel® FPGA PAC(Programmable Acceleration Card) N3000 based on
the Intel Ethernet Controller X710/XXV710 and Intel Arria 10 FPGA.
LiquidIO VF Poll Mode Driver
============================
-The LiquidIO VF PMD library (librte_pmd_lio) provides poll mode driver support for
+The LiquidIO VF PMD library (**librte_net_liquidio**) provides poll mode driver support for
Cavium LiquidIO® II server adapter VFs. PF management and VF creation can be
done using kernel driver.
MLX4 poll mode driver library
=============================
-The MLX4 poll mode driver library (**librte_pmd_mlx4**) implements support
+The MLX4 poll mode driver library (**librte_net_mlx4**) implements support
for **Mellanox ConnectX-3** and **Mellanox ConnectX-3 Pro** 10/40 Gbps adapters
as well as their virtual functions (VF) in SR-IOV context.
----------------------
Most Mellanox ConnectX-3 devices provide two ports but expose a single PCI
-bus address, thus unlike most drivers, librte_pmd_mlx4 registers itself as a
+bus address, thus unlike most drivers, librte_net_mlx4 registers itself as a
PCI driver that allocates one Ethernet device per detected port.
For this reason, one cannot white/blacklist a single port without also
white/blacklisting the others on the same device.
Besides its dependency on libibverbs (that implies libmlx4 and associated
-kernel support), librte_pmd_mlx4 relies heavily on system calls for control
+kernel support), librte_net_mlx4 relies heavily on system calls for control
operations such as querying/updating the MTU and flow control parameters.
For security reasons and robustness, this driver only deals with virtual
The :ref:`flow_isolated_mode` is supported.
-Compiling librte_pmd_mlx4 causes DPDK to be linked against libibverbs.
+Compiling librte_net_mlx4 causes DPDK to be linked against libibverbs.
Configuration
-------------
Run-time configuration
~~~~~~~~~~~~~~~~~~~~~~
-- librte_pmd_mlx4 brings kernel network interfaces up during initialization
+- librte_net_mlx4 brings kernel network interfaces up during initialization
because it is affected by their state. Forcing them down prevents packets
reception.
~~~~~~~~~~~~~~~~~~~~~~~~
The **mlx4_core** kernel module has several parameters that affect the
-behavior and/or the performance of librte_pmd_mlx4. Some of them are described
+behavior and/or the performance of librte_net_mlx4. Some of them are described
below.
- **num_vfs** (integer or triplet, optionally prefixed by device address
- **libibverbs** (provided by rdma-core package)
- User space verbs framework used by librte_pmd_mlx4. This library provides
+ User space verbs framework used by librte_net_mlx4. This library provides
a generic interface between the kernel and low-level user space drivers
such as libmlx4.
-------------
This section demonstrates how to launch **testpmd** with Mellanox ConnectX-3
-devices managed by librte_pmd_mlx4.
+devices managed by librte_net_mlx4.
#. Load the kernel modules::
[...]
EAL: PCI device 0000:83:00.0 on NUMA socket 1
- EAL: probe driver: 15b3:1007 librte_pmd_mlx4
- PMD: librte_pmd_mlx4: PCI information matches, using device "mlx4_0" (VF: false)
- PMD: librte_pmd_mlx4: 2 port(s) detected
- PMD: librte_pmd_mlx4: port 1 MAC address is 00:02:c9:b5:b7:50
- PMD: librte_pmd_mlx4: port 2 MAC address is 00:02:c9:b5:b7:51
+ EAL: probe driver: 15b3:1007 librte_net_mlx4
+ PMD: librte_net_mlx4: PCI information matches, using device "mlx4_0" (VF: false)
+ PMD: librte_net_mlx4: 2 port(s) detected
+ PMD: librte_net_mlx4: port 1 MAC address is 00:02:c9:b5:b7:50
+ PMD: librte_net_mlx4: port 2 MAC address is 00:02:c9:b5:b7:51
EAL: PCI device 0000:84:00.0 on NUMA socket 1
- EAL: probe driver: 15b3:1007 librte_pmd_mlx4
- PMD: librte_pmd_mlx4: PCI information matches, using device "mlx4_1" (VF: false)
- PMD: librte_pmd_mlx4: 2 port(s) detected
- PMD: librte_pmd_mlx4: port 1 MAC address is 00:02:c9:b5:ba:b0
- PMD: librte_pmd_mlx4: port 2 MAC address is 00:02:c9:b5:ba:b1
+ EAL: probe driver: 15b3:1007 librte_net_mlx4
+ PMD: librte_net_mlx4: PCI information matches, using device "mlx4_1" (VF: false)
+ PMD: librte_net_mlx4: 2 port(s) detected
+ PMD: librte_net_mlx4: port 1 MAC address is 00:02:c9:b5:ba:b0
+ PMD: librte_net_mlx4: port 2 MAC address is 00:02:c9:b5:ba:b1
Interactive-mode selected
Configuring Port 0 (socket 0)
- PMD: librte_pmd_mlx4: 0x867d60: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx4: 0x867d60: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867d60: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867d60: RX queues number update: 0 -> 2
Port 0: 00:02:C9:B5:B7:50
Configuring Port 1 (socket 0)
- PMD: librte_pmd_mlx4: 0x867da0: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx4: 0x867da0: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867da0: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867da0: RX queues number update: 0 -> 2
Port 1: 00:02:C9:B5:B7:51
Configuring Port 2 (socket 0)
- PMD: librte_pmd_mlx4: 0x867de0: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx4: 0x867de0: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867de0: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867de0: RX queues number update: 0 -> 2
Port 2: 00:02:C9:B5:BA:B0
Configuring Port 3 (socket 0)
- PMD: librte_pmd_mlx4: 0x867e20: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx4: 0x867e20: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867e20: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx4: 0x867e20: RX queues number update: 0 -> 2
Port 3: 00:02:C9:B5:BA:B1
Checking link statuses...
Port 0 Link Up - speed 10000 Mbps - full-duplex
MLX5 poll mode driver
=====================
-The MLX5 poll mode driver library (**librte_pmd_mlx5**) provides support
+The MLX5 poll mode driver library (**librte_net_mlx5**) provides support
for **Mellanox ConnectX-4**, **Mellanox ConnectX-4 Lx** , **Mellanox
ConnectX-5**, **Mellanox ConnectX-6**, **Mellanox ConnectX-6 Dx** and
**Mellanox BlueField** families of 10/25/40/50/100/200 Gb/s adapters
------
Besides its dependency on libibverbs (that implies libmlx5 and associated
-kernel support), librte_pmd_mlx5 relies heavily on system calls for control
+kernel support), librte_net_mlx5 relies heavily on system calls for control
operations such as querying/updating the MTU and flow control parameters.
For security reasons and robustness, this driver only deals with virtual
- DevX allows to access firmware objects
- Direct Rules manages flow steering at low-level hardware layer
-Enabling librte_pmd_mlx5 causes DPDK applications to be linked against
+Enabling librte_net_mlx5 causes DPDK applications to be linked against
libibverbs.
Features
Run-time configuration
~~~~~~~~~~~~~~~~~~~~~~
-- librte_pmd_mlx5 brings kernel network interfaces up during initialization
+- librte_net_mlx5 brings kernel network interfaces up during initialization
because it is affected by their state. Forcing them down prevents packets
reception.
- **libibverbs**
- User space Verbs framework used by librte_pmd_mlx5. This library provides
+ User space Verbs framework used by librte_net_mlx5. This library provides
a generic interface between the kernel and low-level user space drivers
such as libmlx5.
Notes for testpmd
-----------------
-Compared to librte_pmd_mlx4 that implements a single RSS configuration per
-port, librte_pmd_mlx5 supports per-protocol RSS configuration.
+Compared to librte_net_mlx4 that implements a single RSS configuration per
+port, librte_net_mlx5 supports per-protocol RSS configuration.
Since ``testpmd`` defaults to IP RSS mode and there is currently no
command-line parameter to enable additional protocols (UDP and TCP as well
as IP), the following commands must be entered from its CLI to get the same
-behavior as librte_pmd_mlx4::
+behavior as librte_net_mlx4::
> port stop all
> port config all rss all
-------------
This section demonstrates how to launch **testpmd** with Mellanox
-ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_pmd_mlx5.
+ConnectX-4/ConnectX-5/ConnectX-6/BlueField devices managed by librte_net_mlx5.
#. Load the kernel modules::
[...]
EAL: PCI device 0000:05:00.0 on NUMA socket 0
- EAL: probe driver: 15b3:1013 librte_pmd_mlx5
- PMD: librte_pmd_mlx5: PCI information matches, using device "mlx5_0" (VF: false)
- PMD: librte_pmd_mlx5: 1 port(s) detected
- PMD: librte_pmd_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fe
+ EAL: probe driver: 15b3:1013 librte_net_mlx5
+ PMD: librte_net_mlx5: PCI information matches, using device "mlx5_0" (VF: false)
+ PMD: librte_net_mlx5: 1 port(s) detected
+ PMD: librte_net_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fe
EAL: PCI device 0000:05:00.1 on NUMA socket 0
- EAL: probe driver: 15b3:1013 librte_pmd_mlx5
- PMD: librte_pmd_mlx5: PCI information matches, using device "mlx5_1" (VF: false)
- PMD: librte_pmd_mlx5: 1 port(s) detected
- PMD: librte_pmd_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:ff
+ EAL: probe driver: 15b3:1013 librte_net_mlx5
+ PMD: librte_net_mlx5: PCI information matches, using device "mlx5_1" (VF: false)
+ PMD: librte_net_mlx5: 1 port(s) detected
+ PMD: librte_net_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:ff
EAL: PCI device 0000:06:00.0 on NUMA socket 0
- EAL: probe driver: 15b3:1013 librte_pmd_mlx5
- PMD: librte_pmd_mlx5: PCI information matches, using device "mlx5_2" (VF: false)
- PMD: librte_pmd_mlx5: 1 port(s) detected
- PMD: librte_pmd_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fa
+ EAL: probe driver: 15b3:1013 librte_net_mlx5
+ PMD: librte_net_mlx5: PCI information matches, using device "mlx5_2" (VF: false)
+ PMD: librte_net_mlx5: 1 port(s) detected
+ PMD: librte_net_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fa
EAL: PCI device 0000:06:00.1 on NUMA socket 0
- EAL: probe driver: 15b3:1013 librte_pmd_mlx5
- PMD: librte_pmd_mlx5: PCI information matches, using device "mlx5_3" (VF: false)
- PMD: librte_pmd_mlx5: 1 port(s) detected
- PMD: librte_pmd_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fb
+ EAL: probe driver: 15b3:1013 librte_net_mlx5
+ PMD: librte_net_mlx5: PCI information matches, using device "mlx5_3" (VF: false)
+ PMD: librte_net_mlx5: 1 port(s) detected
+ PMD: librte_net_mlx5: port 1 MAC address is e4:1d:2d:e7:0c:fb
Interactive-mode selected
Configuring Port 0 (socket 0)
- PMD: librte_pmd_mlx5: 0x8cba80: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx5: 0x8cba80: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8cba80: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8cba80: RX queues number update: 0 -> 2
Port 0: E4:1D:2D:E7:0C:FE
Configuring Port 1 (socket 0)
- PMD: librte_pmd_mlx5: 0x8ccac8: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx5: 0x8ccac8: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8ccac8: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8ccac8: RX queues number update: 0 -> 2
Port 1: E4:1D:2D:E7:0C:FF
Configuring Port 2 (socket 0)
- PMD: librte_pmd_mlx5: 0x8cdb10: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx5: 0x8cdb10: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8cdb10: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8cdb10: RX queues number update: 0 -> 2
Port 2: E4:1D:2D:E7:0C:FA
Configuring Port 3 (socket 0)
- PMD: librte_pmd_mlx5: 0x8ceb58: TX queues number update: 0 -> 2
- PMD: librte_pmd_mlx5: 0x8ceb58: RX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8ceb58: TX queues number update: 0 -> 2
+ PMD: librte_net_mlx5: 0x8ceb58: RX queues number update: 0 -> 2
Port 3: E4:1D:2D:E7:0C:FB
Checking link statuses...
Port 0 Link Up - speed 40000 Mbps - full-duplex
MVNETA Poll Mode Driver
=======================
-The MVNETA PMD (librte_pmd_mvneta) provides poll mode driver support
+The MVNETA PMD (**librte_net_mvneta**) provides poll mode driver support
for the Marvell NETA 1/2.5 Gbps adapter.
Detailed information about SoCs that use PPv2 can be obtained here:
MVPP2 Poll Mode Driver
======================
-The MVPP2 PMD (librte_pmd_mvpp2) provides poll mode driver support
+The MVPP2 PMD (**librte_net_mvpp2**) provides poll mode driver support
for the Marvell PPv2 (Packet Processor v2) 1/10 Gbps adapter.
Detailed information about SoCs that use PPv2 can be obtained here:
OCTEON TX Poll Mode driver
==========================
-The OCTEON TX ETHDEV PMD (**librte_pmd_octeontx**) provides poll mode ethdev
+The OCTEON TX ETHDEV PMD (**librte_net_octeontx**) provides poll mode ethdev
driver support for the inbuilt network device found in the **Cavium OCTEON TX**
SoC family as well as their virtual functions (VF) in SR-IOV context.
OCTEON TX2 Poll Mode driver
===========================
-The OCTEON TX2 ETHDEV PMD (**librte_pmd_octeontx2**) provides poll mode ethdev
+The OCTEON TX2 ETHDEV PMD (**librte_net_octeontx2**) provides poll mode ethdev
driver support for the inbuilt network device found in **Marvell OCTEON TX2**
SoC family as well as for their virtual functions (VF) in SR-IOV context.
In addition to Poll Mode Drivers (PMDs) for physical and virtual hardware,
the DPDK also includes pure-software PMDs, two of these drivers are:
-* A libpcap -based PMD (librte_pmd_pcap) that reads and writes packets using libpcap,
+* A libpcap -based PMD (**librte_net_pcap**) that reads and writes packets using libpcap,
- both from files on disk, as well as from physical NIC devices using standard Linux kernel drivers.
-* A ring-based PMD (librte_pmd_ring) that allows a set of software FIFOs (that is, rte_ring)
+* A ring-based PMD (**librte_net_ring**) that allows a set of software FIFOs (that is, rte_ring)
to be accessed using the PMD APIs, as though they were physical NICs.
.. note::
PFE Poll Mode Driver
======================
-The PFE NIC PMD (**librte_pmd_pfe**) provides poll mode driver
+The PFE NIC PMD (**librte_net_pfe**) provides poll mode driver
support for the inbuilt NIC found in the **NXP LS1012** SoC.
More information can be found at `NXP Official Website
QEDE Poll Mode Driver
======================
-The QEDE poll mode driver library (**librte_pmd_qede**) implements support
+The QEDE poll mode driver library (**librte_net_qede**) implements support
for **QLogic FastLinQ QL4xxxx 10G/25G/40G/50G/100G Intelligent Ethernet Adapters (IEA) and Converged Network Adapters (CNA)** family of adapters as well as SR-IOV virtual functions (VF). It is supported on
several standard Linux distros like RHEL, SLES, Ubuntu etc.
It is compile-tested under FreeBSD OS.
This section provides instructions to configure SR-IOV with Linux OS.
-**Note**: librte_pmd_qede will be used to bind to SR-IOV VF device and Linux native kernel driver (qede) will function as SR-IOV PF driver. Requires PF driver to be 8.20.x.x or higher.
+**Note**: librte_net_qede will be used to bind to SR-IOV VF device and Linux native kernel driver (qede) will function as SR-IOV PF driver. Requires PF driver to be 8.20.x.x or higher.
#. Verify SR-IOV and ARI capability is enabled on the adapter using ``lspci``:
Solarflare libefx-based Poll Mode Driver
========================================
-The SFC EFX PMD (**librte_pmd_sfc_efx**) provides poll mode driver support
+The SFC EFX PMD (**librte_net_sfc_efx**) provides poll mode driver support
for **Solarflare SFN7xxx and SFN8xxx** family of 10/40 Gbps adapters,
**Solarflare XtremeScale X2xxx** family of 10/25/40/50/100 Gbps adapters and
**Alveo SN1000 SmartNICs** family of 10/25/40/50/100 Gbps adapters.
ThunderX NICVF Poll Mode Driver
===============================
-The ThunderX NICVF PMD (**librte_pmd_thunderx_nicvf**) provides poll mode driver
+The ThunderX NICVF PMD (**librte_net_thunderx**) provides poll mode driver
support for the inbuilt NIC found in the **Cavium ThunderX** SoC family
as well as their virtual functions (VF) in SR-IOV context.
...
- PMD: rte_nicvf_pmd_init(): librte_pmd_thunderx nicvf version 1.0
+ PMD: rte_nicvf_pmd_init(): librte_net_thunderx nicvf version 1.0
...
EAL: probe driver: 177d:11 rte_nicvf_pmd
VDEV_NETVSC driver
==================
-The VDEV_NETVSC driver (librte_pmd_vdev_netvsc) provides support for NetVSC
+The VDEV_NETVSC driver (**librte_net_vdev_netvsc**) provides support for NetVSC
interfaces and associated SR-IOV virtual function (VF) devices found in
Linux virtual machines running on Microsoft Hyper-V_ (including Azure)
platforms.
Bonded PMDs
-The Link Bonding PMD library(librte_pmd_bond) supports bonding of groups of
+The Link Bonding PMD library(librte_net_bond) supports bonding of groups of
``rte_eth_dev`` ports of the same speed and duplex to provide similar
capabilities to that found in Linux bonding driver to allow the aggregation
of multiple (slave) NICs into a single logical interface between a server
the mode of operation specified to provide support for features such as
redundant links, fault tolerance and/or load balancing.
-The librte_pmd_bond library exports a C API which provides an API for the
+The librte_net_bond library exports a C API which provides an API for the
creation of bonded devices as well as the configuration and management of the
bonded device and its slave devices.
Implementation Details
----------------------
-The librte_pmd_bond bonded device are compatible with the Ethernet device API
+The librte_net_bond bonded device are compatible with the Ethernet device API
exported by the Ethernet PMDs described in the *DPDK API Reference*.
The Link Bonding Library supports the creation of bonded devices at application
Using Link Bonding Devices
--------------------------
-The librte_pmd_bond library supports two modes of device creation, the libraries
+The librte_net_bond library supports two modes of device creation, the libraries
export full C API or using the EAL command line to statically configure link
bonding devices at application startup. Using the EAL option it is possible to
use link bonding functionality transparently without specific knowledge of the
Using the Poll Mode Driver from an Application
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Using the librte_pmd_bond libraries API it is possible to dynamically create
+Using the librte_net_bond libraries API it is possible to dynamically create
and manage link bonding device from within any application. Link bonding
devices are created using the ``rte_eth_bond_create`` API which requires a
unique device name, the link bonding mode to initial the device in and finally
Drivers are special libraries which provide poll-mode driver implementations for
devices: either hardware devices or pseudo/virtual devices. They are contained
in the *drivers* subdirectory, classified by type, and each compiles to a
-library with the format ``librte_pmd_X.a`` where ``X`` is the driver name.
+library with the format ``librte_X_Y.a`` where ``X`` is the device class
+name and ``Y`` is the driver name.
.. note::
=================
The MLX5 RegEx (Regular Expression) driver library
-(**librte_pmd_mlx5_regex**) provides support for **Mellanox BlueField 2**
+(**librte_regex_mlx5**) provides support for **Mellanox BlueField 2**
families of 25/50/100/200 Gb/s adapters.
Design
- Direct Verbs is a device-specific API
- DevX allows to access firmware objects
-Enabling librte_pmd_mlx5_regex causes DPDK applications to be linked against
+Enabling librte_regex_mlx5 causes DPDK applications to be linked against
libibverbs.
Mellanox mlx5 pci device can be probed by number of different pci devices,
OCTEON TX2 REE Regexdev Driver
==============================
-The OCTEON TX2 REE PMD (**librte_pmd_octeontx2_regex**) provides poll mode
+The OCTEON TX2 REE PMD (**librte_regex_octeontx2**) provides poll mode
regexdev driver support for the inbuilt regex device found in the **Marvell OCTEON TX2**
SoC family.
================
The MLX5 vDPA (vhost data path acceleration) driver library
-(**librte_pmd_mlx5_vdpa**) provides support for **Mellanox ConnectX-6**,
+(**librte_vdpa_mlx5**) provides support for **Mellanox ConnectX-6**,
**Mellanox ConnectX-6 Dx** and **Mellanox BlueField** families of
10/25/40/50/100/200 Gb/s adapters as well as their virtual functions (VF) in
SR-IOV context.
- DevX allows to access firmware objects
- Direct Rules manages flow steering at low-level hardware layer
-Enabling librte_pmd_mlx5_vdpa causes DPDK applications to be linked against
+Enabling librte_vdpa_mlx5 causes DPDK applications to be linked against
libibverbs.
A Mellanox mlx5 PCI device can be probed by either net/mlx5 driver or vdpa/mlx5