1. DPDK Release 26.07
1.1. New Features
Added option to change memory limits per page size.
Added the EAL option
--pagesz-memto override the default per-page-size memory limits. Each maximum can be configured with a pair<pagesz>:<limit>.Added option to disable auto probing.
Added EAL options affecting the initial bus probing.
-Aor--no-auto-probingdisable the initial bus probing: no device is probed duringrte_eal_initand the application is responsible for probing each device,--auto-probingenables the initial bus probing, which is the current default behavior.
Changed mempool cache behaviour.
The mempool cache flush/refill algorithm was improved, to reduce the mempool cache miss rate for most application types. Applications where each lcore only puts or gets to a mempool, e.g. pipelined applications where ethdev Rx and Tx run on separate lcores, should adapt to the new algorithm by doubling their configured mempool cache size, to avoid doubling their mempool cache miss rate.
The effective size of a mempool cache was changed to match the specified size at mempool creation; the effective size was previously 50 % larger than requested.
The size of the
struct rte_mempool_cachewas kept for API/ABI compatibility purposes.
Added RISC-V vector paths.
Increased the default SIMD bitwidth to allow using the vector extension.
Added vectorized ACL which can process up to 8 flows in parallel.
Added vectorized IPv4 LPM lookup for the node library.
Added peek style API for staged-ordered ring (``rte_soring``).
For sorings with producer/consumer in
RTE_RING_SYNC_ST,RTE_RING_SYNC_MT_HTSmode, provide the ability to split enqueue/dequeue operation into two phases (enqueue/dequeue start and enqueue/dequeue finish). This allows the user to inspect objects in the ring without removing them (aka MT safe peek).Added PTP protocol definitions.
Added IEEE 1588 Precision Time Protocol header structures, constants, and inline helpers to
lib/net/rte_ptp.h. Provides wire-format structures with endian-annotated types and correction field manipulation for transparent clock implementations.Added PTP software relay example application.
Added a new example application
ptp_tap_relay_swdemonstrating a software PTP transparent clock relay between a DPDK port and a kernel TAP interface.Added no-IOMMU mode to UACCE bus.
Added no-IOMMU mode for devices without or not enabling IOMMU/SVA.
Added selective Rx in ethdev API.
Some parts of packets may be discarded in Rx by configuring a split of packets received in a queue, and assigning no mempool to some configuration segments. This is a driver capability advertised in the
selective_rxbit.Added vhost support for dynamic memory regions.
The feature
VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTShas been implemented to support adding and removing memory regions without resetting the whole guest memory map.Added LinkData sxe2 ethernet driver.
Added network driver for the LinkData network adapters.
Updated Intel iavf driver.
Added support for transmitting LLDP packets based on mbuf packet type.
Implemented AVX2 context descriptor transmit paths.
Updated NVIDIA mlx5 ethernet driver.
Added support for selective Rx in scalar SPRQ Rx path.
Updated PCAP ethernet driver.
Added support for VLAN insertion and stripping.
Added support for reporting link state in
ifacemode.Added support for link state interrupt in
ifacemode.Added nanosecond precision to timestamp support.
Added
snaplendevarg to configure packet capture snapshot length.Added
eofdevarg to use link state to signal end of receive file input.Added unit test suite.
Added AI review helpers.
Added AGENTS.md file for AI review and supporting scripts to review patches and documentation.
1.2. Removed Items
1.3. API Changes
ethdev: promoted flow metadata API from experimental to stable.
The following ethdev symbols are no longer marked experimental:
rte_flow_dynf_metadata_registerrte_flow_dynf_metadata_offsrte_flow_dynf_metadata_maskrte_flow_dynf_metadata_availrte_flow_dynf_metadata_getrte_flow_dynf_metadata_set
mlx5: promoted driver event and steering management APIs from experimental to stable.
The following mlx5 functions are no longer marked experimental:
rte_pmd_mlx5_driver_event_cb_registerrte_pmd_mlx5_driver_event_cb_unregisterrte_pmd_mlx5_enable_steeringrte_pmd_mlx5_disable_steering
1.4. ABI Changes
No ABI change that would break compatibility with 25.11.