Roadmap
Major known features and milestones may be noted here. This is not a commitment but plan of work. This list is obviously neither complete nor guaranteed.
Version 24.03 (2024 March)
- argparse library
- AMD uncore power
- non-temporal memory copy
- mempool cache zero-copy get/put bulk
- memarea library
- pointer compression
- ring generic implementation removal and C11 improvement
- PMU counter for self monitoring/profiling
- VFIO cdev/iommufd
- UACCE bus
- hash bulk key lookup with SVE
- dmadev trace points in data path
- ethdev number of free Tx descriptors available
- flow matching on field comparison
- flow matching on random value
- flow action for NAT64
- flow template table resize
- flow template API performance tuning
- ntnic driver from Napatech
- rnp driver from Mucse
- axgbe TSO
- bnxt support for 5760X device family
- cnxk mirroring
- cnxk port representor
- cpfl flow offload with P4
- ena on uio_pci_generic
- ena wide LLQ recommendation
- ena sub-optimal configuration notifications
- ena rx_overruns statistics
- ena Tx queue depth negotiation
- ena new link speeds
- hns3 monitor address
- i40e/ice/iavf MDD debug
- i40e/ice FEC
- iavf LLDP Tx
- idpf AVX2
- ionic net vdev driver
- ionic crypto driver
- mlx5 flow actions for Geneve
- mlx5 flow matching on VXLAN-GPE in template API
- virtio hash reporting
- virtio-user RSS
- virtio-user notification area mapping
- testpmd attach/detach on primary and secondary
- cryptodev EdDSA asymmetric algorithm
- cryptodev EC refactoring
- PDCP control PDU
- ipsec-mb unified API
- cnxk security Rx inject
- cnxk TLS 1.2, 1.3, and DTLS 1.2
- TLS tests
- mldev support of mbuf
- mldev types int64/uint64
- eventdev power optimization
- eventdev adapter for mldev
- eventdev test for DMA adapter
- control adapter and RX adapter enhancements in DLB driver
- DTS scatter test suite
- DTS packet filtering capabilities when capturing packets
- DTS automated documentation
- DTS Docker file
Version 24.07 (2024 July)
- vhost small copy with CPU in DSA-accelerated vhost
- vhost port mirroring with DMAdev
- sssnic driver from 3SNIC
- DTS ethdev test suites
Nice to have - Future
- lock-free l3fwd algorithms
- multi-process rework
- automatic UIO/VFIO binding
- infiniband driver class (ibdev)
- default configuration from files
- generic allow/blocklisting
- libedit integration
- UBSan in build
- regex driver based on libpcre
- IF proxy
- performance test for IP reassembly
- IPv6 in lookaside IPsec example
- anti-replay in inline IPsec example
Cycle model
A typical release should be done after 4 months.
It is designed to allow DPDK to keep evolving at a rapid pace while giving enough opportunity to review, discuss and improve the contributions.
The merge window will open once the previous release is complete. First version of a new feature must be submitted before the proposal deadline. Features that miss this first period will be deferred until the next release.
Updated versions of patches (v2, v3, etc.) will be submitted to address comments. The new features must be properly reviewed, tested and accepted before the integration deadline. Otherwise, they will be postponed to the next releases.
At the end of the merge windows, the first release candidates are out.
The last period is approximately 1 month long and is dedicated to bug fixing.
Scheduling
24.03
- Proposal deadline (RFC/v1 patches): 29 December 2023
- API freeze (-rc1): 21 February 2024
- PMD features freeze (-rc2): 4 March 2024
- Builtin applications features freeze (-rc3): 11 March 2024
- Release: 20 March 2024
24.07
- Release: 10 July 2024
24.11
- Release: 20 November 2024
Stable Releases
There is a documentation page describing the guidelines of the stable releases.
Stable point releases follow mainline releases.
After each -rc tag and after the final version, relevant bug fixes get backported by the stable maintainers into the respective branches in “bursts”.
Developers can provide stable-specific patches by sending them to stable@dpdk.org only (avoiding dev@dpdk.org). Further information on subject prefixes for this case is documented here.
After all the relevant bugfixes have been backported, regression tests are run, and if clear, the stable release is announced.
Typically a new stable release version follows a mainline release by 3-6 weeks, depending on the test results.
Current version | Next version | Next version Date | End of life | Maintainers |
---|---|---|---|---|
18.11.11 | - | - | December 2020 (EOL) | - |
19.11.14 | - | - | December 2022 (EOL) | Christian Ehrhardt |
20.11.10 | - | - | December 2023 (EOL) | Luca Boccassi |
21.11.6 | 21.11.7 | April 2024 | December 2024 (LTS) | Kevin Traynor |
22.11.4 | 22.11.5 | April 2024 | December 2024 (LTS) | Xueming Li |