Release Notes Release 19.11.10
Total Page:16
File Type:pdf, Size:1020Kb
Release Notes Release 19.11.10 Sep 06, 2021 CONTENTS 1 DPDK Release 19.111 2 DPDK Release 19.08 97 3 DPDK Release 19.05 108 4 DPDK Release 19.02 120 5 DPDK Release 18.11 131 6 DPDK Release 18.08 145 7 DPDK Release 18.05 154 8 DPDK Release 18.02 170 9 DPDK Release 17.11 180 10 DPDK Release 17.08 193 11 DPDK Release 17.05 203 12 DPDK Release 17.02 216 13 DPDK Release 16.11 227 14 DPDK Release 16.07 236 15 DPDK Release 16.04 245 16 DPDK Release 2.2 256 17 DPDK Release 2.1 266 18 DPDK Release 2.0 280 19 DPDK Release 1.8 282 20 Known Issues and Limitations in Legacy Releases 283 21 ABI and API Deprecation 295 i CHAPTER ONE DPDK RELEASE 19.11 1.1 New Features • 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. – Tx metadata can also be set by SET_META action of rte_flow. – Rx metadata is delivered to the host via a dynamic field of rte_mbuf with PKT_RX_DYNF_METADATA. • Added ethdev API to set supported packet types. – Added new API rte_eth_dev_set_ptypes which allows an application to inform a PMD about a reduced range of packet types to handle. 1 Release Notes, Release 19.11.10 – This scheme will allow PMDs to avoid lookup of internal ptype table on Rx and thereby improve Rx performance if the application wishes to do so. • Added Rx offload flag to enable or disable RSS update. – Added new Rx offload flag DEV_RX_OFFLOAD_RSS_HASH which can be used to en- able/disable PMDs write to rte_mbuf::hash::rss. – PMDs notify the validity of rte_mbuf::hash:rss to the application by enabling PKT_RX_RSS_HASH flag in rte_mbuf::ol_flags. • 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 infor- mation 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 ../nics/hns3 guide for more details on this new driver. • Added NXP PFE PMD. Added the new PFE driver for the NXP LS1012A platform. See the ../nics/pfe NIC driver guide for more details on this new driver. • Updated Broadcom bnxt driver. Updated Broadcom bnxt driver with new features and improvements, including: – Added support for hot firmware upgrade. – Added support for error recovery. – Added support for querying and using COS classification in hardware. – Added LRO support Thor devices. – Update HWRM API to version 1.10.1.6 • Updated the enic driver. – Added support for Geneve with options offload. – Added flow API implementation based on VIC Flow Manager API. • 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. 1.1. New Features 2 Release Notes, Release 19.11.10 • 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: – Added support for device-specific DDP package loading. – Added support for handling Receive Flex Descriptor. – Added support for protocol extraction on per Rx queue. – Added support for Flow Director filter based on generic filter framework. – Added support for the RTE_ETH_DEV_CLOSE_REMOVE flag. – Generic filter enhancement - Supported pipeline mode. - Supported new packet type like PPPoE for switch filter. – Supported input set change and symmetric hash by rte_flow RSS action. – Added support for GTP Tx checksum offload. – Added new device IDs to support E810_XXV devices. • Updated the Huawei hinic driver. Updated the Huawei hinic driver with new features and improvements, including: – Enabled SR-IOV - Partially supported at this point, VFIO only. – Supported VLAN filter and VLAN offload. – Supported Unicast MAC filter and Multicast MAC filter. – Supported Flow API for LACP, VRRP, BGP and so on. – Supported FW version get. • Updated Mellanox mlx5 driver. Updated Mellanox mlx5 driver with new features and improvements, including: – Added support for VLAN pop flow offload command. – Added support for VLAN push flow offload command. – Added support for VLAN set PCP offload command. – Added support for VLAN set VID offload command. – Added support for matching on packets withe Geneve tunnel header. – Added hairpin support. – Added ConnectX-6 Dx support. – Flow engine selected based on RDMA Core library version. DV flow engine selected if version is rdma-core-24.0 or higher. Verbs flow engine selected otherwise. • Updated the AF_XDP PMD. Updated the AF_XDP PMD. The new features include: 1.1. New Features 3 Release Notes, Release 19.11.10 – Enabled zero copy between application mempools and UMEM by enabling the XDP_UMEM_UNALIGNED_CHUNKS UMEM flag. • 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 ../cryp- todevs/nitrox 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 ../cryptodevs/octeontx2 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. Sup- port 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. – Added support for intel-ipsec-mb version 0.53. • Updated the AESNI-GCM PMD. – Added support for intel-ipsec-mb version 0.53. – Added support for in-place chained mbufs with AES-GCM algorithm. • 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. – Added support for asymmetric session-less operations. – Added support for RSA algorithm with pair (n,d) private key representation. – Added support for RSA algorithm with quintuple private key representation. • 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. 1.1. New Features 4 Release Notes, Release 19.11.10 – Added Security Associations (SA) Database API to librte_ipsec. A new test-sad appli- cation has also been introduced to evaluate and perform custom functional and performance tests for an IPsec SAD implementation. – Support fragmented packets in inline crypto processing mode with fallback lookaside-none session. Corresponding changes are also added in the IPsec Security Gateway application. • 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 a console command to testpmd app, show port (port_id) ptypes which gives ability to print port supported ptypes in different protocol layers. – Packet type detection disabled by default for the supported PMDs. • 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.