1. DPDK Release 24.07

1.1. New Features

  • Introduced pointer compression library.

    Library provides functions to compress and decompress arrays of pointers which can improve application performance under certain conditions. Performance test was added to help users evaluate performance on their setup.

  • Added API to retrieve memory locations of objects in a mempool.

    Added mempool API rte_mempool_get_mem_range and rte_mempool_get_obj_alignment to retrieve information about the memory range and the alignment of objects stored in a mempool.

  • Updated AF_XDP driver.

    • Enabled multi-interface (UDS) support with AF_XDP Device Plugin.

      The argument use_cni was limiting a pod to a single netdev/interface. The new dp_path parameter removed this limitation and maintains backward compatibility for applications using the use_cni vdev argument with the AF_XDP Device Plugin.

    • Integrated AF_XDP Device Plugin eBPF map pinning support.

      The argument use_map_pinning was added to allow Kubernetes Pods to use AF_XDP with DPDK, and run with limited privileges, without having to do a full handshake over a Unix Domain Socket with the Device Plugin.

  • Updated Intel ixgbe driver.

    • Updated base code with E610 device family support.
  • Updated Marvell cnxk net driver.

    • Added support disabling custom meta aura and separately use custom SA action support.
  • Updated NVIDIA mlx5 driver.

    • Added match with Tx queue.
    • Added match with external Tx queue.
    • Added match with E-Switch manager.
  • Updated TAP driver.

    • Updated to support up to 8 queues when used by secondary process.
    • Fixed support of RSS flow action to work with current Linux kernels and BPF tooling. Will only be enabled if clang, libbpf 1.0 and bpftool are available.
  • Updated Wangxun ngbe driver.

    • Added SSE/NEON vector datapath.
  • Updated Wangxun txgbe driver.

    • Added SSE/NEON vector datapath.
  • Added AMD Pensando ionic crypto driver.

    Added a new crypto driver for AMD Pensando hardware accelerators.

  • Added UADK compress driver.

    Added a new compress driver for the UADK library. See the UADK Compression Poll Mode Driver guide for more details on this new driver.

  • Updated Marvell CNXK DMA driver.

    • Updated DMA driver internal pool to use higher chunk size, effectively reducing the number of mempool allocs needed, thereby increasing DMA performance.
  • Added Marvell Odyssey ODM DMA driver.

    • Added Marvell Odyssey ODM DMA device PMD.
  • Updated the DSW event device.

    • Added support for RTE_EVENT_DEV_CAP_IMPLICIT_RELEASE_DISABLE, allowing applications to take on new tasks without having completed (released) the previous event batch. This in turn facilities DSW use alongside high-latency look-aside hardware accelerators.
  • Added defer queue reclamation in the hash library.

    Added an API that allows the user to reclaim the defer queue with RCU.

1.2. Removed Items

  • Disabled the BPF library and net/af_xdp for 32-bit x86.

    BPF is not supported and the librte-bpf test fails on 32-bit x86 kernels. So disable the library and the pmd.

1.3. API Changes

  • mbuf: RTE_MARKER fields cacheline0 and cacheline1 have been removed from struct rte_mbuf.

1.4. ABI Changes

  • No ABI change that would break compatibility with 23.11.
  • eventdev/dma: Reorganize the experimental fastpath structure rte_event_dma_adapter_op to optimize the memory layout and improve performance.

1.5. Known Issues

1.6. Tested Platforms