1. DPDK Release 26.07

1.1. New Features

  • Added option to change memory limits per page size.

    Added the EAL option --pagesz-mem to 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.

    • -A or --no-auto-probing disable the initial bus probing: no device is probed during rte_eal_init and the application is responsible for probing each device,

    • --auto-probing enables 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_cache was 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_HTS mode, 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_sw demonstrating 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_rx bit.

  • Added vhost support for dynamic memory regions.

    The feature VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS has 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 iface mode.

    • Added support for link state interrupt in iface mode.

    • Added nanosecond precision to timestamp support.

    • Added snaplen devarg to configure packet capture snapshot length.

    • Added eof devarg 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_register

    • rte_flow_dynf_metadata_offs

    • rte_flow_dynf_metadata_mask

    • rte_flow_dynf_metadata_avail

    • rte_flow_dynf_metadata_get

    • rte_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_register

    • rte_pmd_mlx5_driver_event_cb_unregister

    • rte_pmd_mlx5_enable_steering

    • rte_pmd_mlx5_disable_steering

1.4. ABI Changes

  • No ABI change that would break compatibility with 25.11.

1.5. Known Issues

1.6. Tested Platforms