summaryrefslogtreecommitdiff
path: root/content/roadmap/_index.md
blob: 914f62d779cb29f645d6b8862b2cb1791681dc0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
+++
title = "Roadmap"
weight = "3"
+++

{{% notice info %}}
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.
{{% /notice %}}

### Version 19.11 (2019 November) {#1911}

- configurability of Rx offloads
- rte_flow patterns for NSH, IGMP, AH
- rte_flow actions for mirroring and multicast
- Rx metadata in mbuf, with rte_flow API and mlx5 implementation
- hairpin forwarding offload, with mlx5 implementation
- VF configuration from host via representor port id
- Arm N1 platform config
- Arm optimizations in i40e and ixgbe
- ice support of DDP, multi-process and flexible descriptor
- ice rte_flow updates to support RSS, high/low priority flows, DDP profiles
- ice and iavf avx2 vector path
- ipn3ke graceful shutdown
- mlx5 HW support of VLAN id update and push/pop, VF LAG, flow metering and EEPROM module
- virtio packed ring performance optimizations
- use C11 atomic functions in memif
- Arm WFE/SEV instructions in spinlock and ring library
- integrate RCU library with LPM and hash libraries
- optimized algorithm for resizeable hash table
- lock-free stack mempool handler
- lock-free l3fwd algorithms
- ntb FIFO ring for Rx/Tx
- eventdev examples in l2fwd-event, l3fwd and ipsec-secgw
- cryptodev session-less asymmetric crypto
- Nitrox cryptodev
- OCTEON TX asymmetric crypto
- OCTEON TX2 cryptodev
- OCTEON TX2 inline IPsec using rte_security
- rte_security support of inline crypto statistics
- rte_security improved performance for IPsec with software crypto
- IPsec add security association database
- ipsec-secgw support of multiple sessions for the same SA
- QAT stateful decompression
- regexdev
- template based ring API
- sched library configuration more flexible
- eBPF arm64 JIT
- KNI IOVA as VA
- sample application for ioat
- UBSan in build

### Nice to have - Future {#future}
----
- multi-process rework
- automatic UIO/VFIO binding
- infiniband driver class (ibdev)
- default configuration from files
- generic white/blacklisting
- libedit integration

### Cycle model {#cycle}
----
A typical release should be done after 3 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 window, the first release candidate is out.

The last period is 1 month long and is dedicated to bug fixing.

### Scheduling {#dates}
----

#### 19.11

- Proposal deadline: September 6, 2019
- Integration deadline: October 23, 2019
- Release: November 22, 2019

### Stable Releases {#stable}
----
There is a documentation page describing the
[guidelines of the stable releases](//doc.dpdk.org/guides/contributing/stable.html).

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).

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 1-2 weeks, depending on the test results.

| Current version | Next version  | Next version Date | End of life | Maintainer     |
|----------|----------|-------------------|---------------------|--------------------|
| 17.11.7  | 17.11.8  | December 2019     | December 2019 (LTS) | Luca Boccassi      |
| 18.11.2  | 18.11.3  | September 2019    | November 2020 (LTS) | Kevin Traynor      |
| -        | 19.05.1  | September 2019    | September 2019      | ?                  |
| -        | 19.08.1  | December 2019     | December 2019       | ?                  |
| -        | 19.11.1  | March 2020        | November 2021 (LTS) | Luca Boccassi      |