Added support for –base-virtaddr EAL option to FreeBSD.
The FreeBSD version of DPDK now also supports setting base virtual address for mapping pages and resources into its address space.
Added Lock-free Stack for aarch64.
Enabled the lock-free stack implementation for aarch64 platforms.
Extended pktmbuf mempool private structure.
rte_pktmbuf_pool_private structure was extended to include flags field for future compatibility. As per 19.11 release this field is reserved and should be set to 0 by the user.
+* Changed mempool allocation behavior.
Changed the mempool allocation behaviour so that objects no longer cross pages by default. Note, this may consume more memory when using small memory pages.
Added support for dynamic fields and flags in mbuf.
This new feature adds the ability to dynamically register some room for a field or a flag in the mbuf structure. This is typically used for specific offload features, where adding a static field or flag in the mbuf is not justified.
Added support for hairpin queues.
On supported NICs, we can now setup hairpin queues which will offload packets from the wire, back to the wire.
Added flow tag in rte_flow.
The SET_TAG action and TAG item have been added to support transient flow tag.
Extended metadata support in rte_flow.
Flow metadata has been extended to both Rx and Tx.
Added ethdev API to set supported packet types.
Added Rx offload flag to enable or disable RSS update.
Added Rx/Tx packet burst mode “get” API.
Added two new functions rte_eth_rx_burst_mode_get and rte_eth_tx_burst_mode_get that allow an application to retrieve the mode information about Rx/Tx packet burst such as Scalar or Vector, and Vector technology like AVX2.
Added Hisilicon hns3 PMD.
Added the new hns3 net driver for the inbuilt Hisilicon Network Subsystem 3 (HNS3) network engine found in the Hisilicon Kunpeng 920 SoC. See the HNS3 Poll Mode Driver guide for more details on this new driver.
Added NXP PFE PMD.
Added the new PFE driver for the NXP LS1012A platform. See the PFE Poll Mode Driver NIC driver guide for more details on this new driver.
Updated Broadcom bnxt driver.
Updated Broadcom bnxt driver with new features and improvements, including:
Updated the enic driver.
Updated iavf PMD.
Enable AVX2 data path for iavf PMD.
Updated the Intel e1000 driver.
Added support for the RTE_ETH_DEV_CLOSE_REMOVE flag.
Updated the Intel ixgbe driver.
Added support for the RTE_ETH_DEV_CLOSE_REMOVE flag.
Updated the Intel i40e driver.
Added support for the RTE_ETH_DEV_CLOSE_REMOVE flag.
Updated the Intel fm10k driver.
Added support for the RTE_ETH_DEV_CLOSE_REMOVE flag.
Updated the Intel ice driver.
Updated the Intel ice driver with new features and improvements, including:
Updated the Huawei hinic driver.
Updated the Huawei hinic driver with new features and improvements, including:
Updated Mellanox mlx5 driver.
Updated Mellanox mlx5 driver with new features and improvements, including:
Updated the AF_XDP PMD.
Updated the AF_XDP PMD. The new features include:
Added cryptodev asymmetric session-less operation.
Added a session-less option to the cryptodev asymmetric structure. It works the same way as symmetric crypto, and the corresponding transform is used directly by the crypto operation.
Added Marvell NITROX symmetric crypto PMD.
Added a symmetric crypto PMD for Marvell NITROX V security processor. See the Marvell NITROX Crypto Poll Mode Driver guide for more details on this new PMD.
Added asymmetric support to Marvell OCTEON TX crypto PMD.
Added support for asymmetric operations to Marvell OCTEON TX crypto PMD. Supports RSA and modexp operations.
Added Marvell OCTEON TX2 crypto PMD.
Added a new PMD driver for hardware crypto offload block on OCTEON TX2 SoC.
See Marvell OCTEON TX2 Crypto Poll Mode Driver for more details
Updated NXP crypto PMDs for PDCP support.
Added PDCP support to the DPAA_SEC and DPAA2_SEC PMDs using rte_security APIs. Support has been added for all sequence number sizes for control and user plane. Test and test-crypto-perf applications have been updated for unit testing.
Updated the AESNI-MB PMD.
Updated the AESNI-GCM PMD.
Enabled Single Pass GCM acceleration on QAT GEN3.
Added support for Single Pass GCM, available on QAT GEN3 only (Intel QuickAssist Technology C4xxx). It is automatically chosen instead of the classic 2-pass mode when running on QAT GEN3, significantly improving the performance of AES GCM operations.
Updated the Intel QuickAssist Technology (QAT) asymmetric crypto PMD.
Updated the Intel QuickAssist Technology (QAT) compression PMD.
Added stateful decompression support in the Intel QuickAssist Technology PMD. Please note that stateful compression is not supported.
Added external buffers support for dpdk-test-compress-perf tool.
Added a command line option to the dpdk-test-compress-perf tool to allocate and use memory zones as external buffers instead of keeping the data directly in mbuf areas.
Updated the IPSec library.
Introduced FIFO for NTB PMD.
Introduced FIFO for NTB (Non-transparent Bridge) PMD to support packet based processing.
Added eBPF JIT support for arm64.
Added eBPF JIT support for arm64 architecture to improve the eBPF program performance.
Added RIB and FIB (Routing/Forwarding Information Base) libraries.
Added Routing and Forwarding Information Base (RIB/FIB) libraries. RIB and FIB can replace the LPM (Longest Prefix Match) library with better control plane (RIB) performance. The data plane (FIB) can be extended with new algorithms.
Updated testpmd with a command for ptypes.
Added new l2fwd-event sample application.
Added an example application l2fwd-event that adds event device support to the traditional l2fwd example. It demonstrates usage of poll and event mode IO mechanism under a single application.
Added build support for Link Time Optimization.
LTO is an optimization technique used by the compiler to perform whole program analysis and optimization at link time. In order to do that compilers store their internal representation of the source code that the linker uses at the final stage of the compilation process.
See Link Time Optimization for more information:
Added IOVA as VA support for KNI.
Removed library-level ABI versions. These have been replaced with a single project-level ABI version for non-experimental libraries and an ABI version of 0 for experimental libraries. Review the ABI Policy and ABI Versioning guides for more information.
Removed duplicated set of commands for Rx offload configuration from testpmd:
port config all crc-strip|scatter|rx-cksum|rx-timestamp|
hw-vlan|hw-vlan-filter|hw-vlan-strip|hw-vlan-extend on|off
The testpmd command set that can be used instead in order to enable or disable Rx offloading on all Rx queues of a port is:
port config <port_id> rx_offload crc_strip|scatter|
ipv4_cksum|udp_cksum|tcp_cksum|timestamp|
vlan_strip|vlan_filter|vlan_extend on|off
Removed AF_XDP pmd_zero copy vdev argument. Support is now auto-detected.
The following sample applications have been removed in this release:
Removed arm64-dpaa2-* build config. arm64-dpaa-* can now build for both dpaa and dpaa2 platforms.
Red Hat(R) Testing
Platform
- RHEL 8
- Kernel 4.18
- Qemu 4.2
- X540-AT2 NIC(ixgbe, 10G)
Functionality
- Guest with device assignment(PF) throughput testing(1G hugepage size)
- Guest with device assignment(PF) throughput testing(2M hugepage size)
- Guest with device assignment(VF) throughput testing
- PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
- PVP vhost-user 2Q throughput testing
- PVP vhost-user 1Q - cross numa node throughput testing
- Guest with vhost-user 2 queues throughput testing
- vhost-user reconnect with dpdk-client, qemu-server: qemu reconnect
- PVP 1Q live migration testing
- PVP 1Q cross numa node live migration testing
- Guest with ovs+dpdk+vhost-user 1Q live migration testing
- Guest with ovs+dpdk+vhost-user 1Q live migration testing (2M)
- Guest with ovs+dpdk+vhost-user 2Q live migration testing
Intel(R) Testing
- Basic Intel(R) NIC(ixgbe, i40e and ice) testing
- PF (i40e)
- PF (ixgbe)
- PF (ice)
- VF
- Compile Testing
- Intel NIC single core/NIC performance
Basic cryptodev and virtio testing
- cryptodev
- vhost/virtio basic loopback, PVP and performance test
Mellanox(R) Testing
Basic functionality with testpmd
- Tx/Rx
- xstats
- Timestamps
- Link status
- RTE flow and flow_director
- RSS
- VLAN stripping and insertion
- Checksum/TSO
- ptype
- l3fwd-power example application
- Multi-process example applications
ConnectX-5
- RHEL 7.4
- Kernel 3.10.0-693.el7.x86_64
- Driver MLNX_OFED_LINUX-5.0-1.0.0.0
- fw 16.27.1016
ConnectX-4 Lx
- RHEL 7.4
- Kernel 3.10.0-693.el7.x86_64
- Driver MLNX_OFED_LINUX-5.0-1.0.0.0
- fw 14.27.1016
Broadcom(R) Testing
Functionality
- Tx/Rx
- Link status
- RSS
- Checksum/TSO
- VLAN filtering
- statistics
- MTU
Platform
- BCM57414 NetXtreme-E 10Gb/25Gb Ethernet Controller, Firmware: 216.1.169.0
- BCM57508 NetXtreme-E 10Gb/25Gb/40Gb/50Gb/100Gb/200Gb Ethernet, Firmware : 216.0.314.0
IBM(R) Testing
Functionality
- Basic PF on Mellanox
- Single port stability test using l3fwd (16 cpus) and TRex, tested 64 and 1500 byte packets at a 0.0% drop rate for 4 hours each
- Performance: no degradation compared to 19.11.0
Platform
- Ubuntu 18.04.4 LTS
- Kernel 4.15.0-88-generic
- IBM Power9 Model 8335-101 CPU: 2.3 (pvr 004e 1203)
- Mellanox Technologies MT28800 Family [ConnectX-5 Ex], firmware version: 16.26.4012, MLNX_OFED_LINUX-4.7-3.2.9.1