Difference between revisions of "Projects/vpp/Release Plans/Release Plan 17.07"

From fd.io
Jump to: navigation, search
 
(35 intermediate revisions by 6 users not shown)
Line 10: Line 10:
 
== Release Deliverables ==
 
== Release Deliverables ==
  
<tr>
+
{|class="wikitable"
<td>
+
! Name
Name Description
+
! Description
</td>
+
|-
</tr>
+
|Infra
IP multicast
+
|DPDK 17.05 integration
Infra DPDK 17.03
+
DPDK in a separate shared library
+
  
Retirement of VPP_Lite
+
Lazy Polling Mode
  
Lazy Polling mode
+
native cuckoo hash implementation
  
Test infrastructure - multi-thread support
+
"make test" improvements - multi thread
  
Host stack VPP TCP stack
+
Muti threaded buffer manager for vpp lite
DHCPv4 relay multi-destination
+
  
DHCPv4 option 82
+
ABI versioning / consolidation of client libraries
  
DHCPv6 relay multi-destination
+
RPM  Debian packaging
  
DHPCv6 relay remote-id
+
DPDK Interrupt mode
  
ND Proxy
+
Common interface placement infra
  
SNAT CGN: Configurable port allocation
+
MEMIF – enhancements (multi-que, jump frame support, external libraries)
CGN: Configurable Address pooling
+
  
CPE: External interface DHCP support
+
Migrate vhost to use device infra for interface/queue to thread placement
  
NAT64, LW46
+
P2P Ethernet
 +
|-
 +
|VNET
  
Security Groups Routed interface support
+
|IPSec rework - utilize new FIB
L4 filters with IPv6 Extension Headers
+
  
API Move to CFFI for Python binding
+
BFD integration with FIB
Python Packaging improvements
+
 
 +
Multicast MPLS FIB
 +
 
 +
GRE over IPv6
 +
 
 +
PTYPE support for VXLAN
 +
 
 +
|-
 +
|ACL / Security Groups
 +
|Performance and maintenance / Testing of scale
 +
 
 +
Multi-thread
 +
 
 +
CLI
 +
 
 +
|-
 +
|NAT/SNAT
 +
|Stateful NAT 64
 +
 
 +
Syslog based SNAT logging
 +
 
 +
Performance improvements
 +
 
 +
Rename SNAT to NAT
 +
 
 +
|-
 +
|API
 +
|C/C++ language binding
  
 
CLI over API
 
CLI over API
  
C/C++ language binding
+
|-
 +
|Host stack
 +
|VPP TCP stack - scale / congestion
  
SRv6
+
|-
(Segment routing for IPv6)
+
|SR
 +
|SR-MPLS (SR Policies and Spray)
  
SR policies with weighted SID lists
+
CSIT for SRv6
Binding SID
+
  
SR steering policies
+
|-
 +
|ONE-LISP
 +
|Support DHCP resolution in the overlay.
  
SR LocalSIDs
+
Bundle VPP Map-Registers to ODL by using one auth-key 
  
Framework to expand SR localSIDs with VPP plugins
+
ARP resolution via LISP CP for L2 overlays
  
IOAM
+
NSH-GPE control plane support
(Inband OAM)
+
  
UDP Pinger with iOAM for path fault isolation
+
|-
IOAM data as type 2 metadata in NSH over VXLAN-GPE
+
|GTP-U
 +
|IPv4 and IPv6 support
  
IOAM raw IPFIX records collector and analyzer
+
Basic GTP-U decapsulation
  
Anycast active server selection
+
Basic GTP-U encapsulation
  
Netflow / IPFIX Collect IPv6 information
+
GTP-U tunnel multicast
Per flow state
+
  
BFD
+
GTP-U bypass mode
LISP
+
Mappings statistics
+
  
Generalize encap for overlay transport
+
|-
 +
|VxLAN-GPE
 +
|VxLAN-GPE tunnel multicast
  
Improve data plane speed
+
VxLAN-GPE bypass mode
  
Release Milestones[edit]
+
Performance improvement
Milestone Date Deliverables
+
F0 2017-03-08 APIs frozen. Only low-risk changes accepted on main branch.
+
RC1 2017-03-22 (F0+14) Code complete, pull first release throttle branch, only bug fixes accepted on throttle train. After pull: main branch reopens for new feature / risky commits. First artifacts posted.
+
RC2 2017-04-05 (RC1+14) Second artifacts posted.
+
Formal Release 2017-04-19 (RC2+14) 17.04 artifacts available
+
NOTE: Dates chosen based on:
+
  
mid-month release
+
|}
milestone + days
+
 
day after VPP community meeting, for discussion, go/no-go
+
== Release Milestones ==
Once we've pulled the 17.04 release throttle[edit]
+
 
 +
<!-- It is not uncommon for a project as part of its release process to have Milestones (M0, M1, M2, RC0, RC1) with corresponding events which occur at various milestones (API Freeze, Code Freeze, etc).  This is the place to list Milestones, their expected dates, and their expected events (whether process events, API Freeze, or noting a deliverable is coming in at a particular event. -->
 +
 
 +
{| class="wikitable"
 +
! Milestone
 +
! Date
 +
! Deliverables
 +
|-
 +
| F0
 +
| 2017-06-08
 +
| APIs frozen. Only low-risk changes accepted on main branch.
 +
|-
 +
| RC1
 +
| 2017-06-22 (F0+17)
 +
| Code complete, pull first release throttle branch, only bug fixes accepted on throttle train. After pull: main branch reopens for new feature / risky commits. First artifacts posted.
 +
|-
 +
| RC2
 +
| 2017-07-05 (RC1+17)
 +
| Second artifacts posted.
 +
|-
 +
| Formal Release
 +
| 2017-07-19 (RC2+17)
 +
| 17.07 artifacts available
 +
|}
 +
 
 +
<span style="color:#ff0000; font-size:75%">''NOTE: Dates chosen based on:''</span>
 +
* <span style="color:#ff0000; font-size:75%">''mid-month release''</span>
 +
* <span style="color:#ff0000; font-size:75%">''milestone + days''</span>
 +
* <span style="color:#ff0000; font-size:75%">''day after VPP community meeting, for discussion, go/no-go''</span>
 +
 
 +
== Once we've pulled the 17.07 release throttle ==
 
We need to be disciplined with respect to bugfix commits. Here are a few common-sense suggestions:
 
We need to be disciplined with respect to bugfix commits. Here are a few common-sense suggestions:
  
All bug fixes must be double-committed to the release throttle as well as to the master branch
+
* All bug fixes must be double-committed to the release throttle as well as to the master branch
Commit first to the release throttle, then "git cherry-pick" into master
+
** Commit first to the release throttle, then "git cherry-pick" into master
Manual merges may be required, depending on the degree of divergence between throttle and master
+
** Manual merges may be required, depending on the degree of divergence between throttle and master
All bug fixes need to have a Jira ticket
+
* All bug fixes need to have a Jira ticket  
Please put Jira IDs into the commit messages.
+
** Please put Jira IDs into the commit messages.
Please use the same Jira ID
+
** Please use the same Jira ID
 +
 
 +
 
 +
=== Features to be added in 17.10 ===
 +
 
  
Features to be added in 17.07[edit]
+
<span style="color:#ff0000; font-size:100%"><div style="text-align:center">NEED JIRA/CONFLUENCE IMPORT HERE</div></span>
This list considered from JIRA:vpp dashboard
+
  
NEED JIRA/CONFLUENCE IMPORT HERE
+
== Expected Dependencies on Other Projects ==
Expected Dependencies on Other Projects[edit]
+

Latest revision as of 03:43, 27 May 2017


Introduction

This page tracks release information for 17.07.


Release Deliverables

Name Description
Infra DPDK 17.05 integration

Lazy Polling Mode

native cuckoo hash implementation

"make test" improvements - multi thread

Muti threaded buffer manager for vpp lite

ABI versioning / consolidation of client libraries

RPM Debian packaging

DPDK Interrupt mode

Common interface placement infra

MEMIF – enhancements (multi-que, jump frame support, external libraries)

Migrate vhost to use device infra for interface/queue to thread placement

P2P Ethernet

VNET IPSec rework - utilize new FIB

BFD integration with FIB

Multicast MPLS FIB

GRE over IPv6

PTYPE support for VXLAN

ACL / Security Groups Performance and maintenance / Testing of scale

Multi-thread

CLI

NAT/SNAT Stateful NAT 64

Syslog based SNAT logging

Performance improvements

Rename SNAT to NAT

API C/C++ language binding

CLI over API

Host stack VPP TCP stack - scale / congestion
SR SR-MPLS (SR Policies and Spray)

CSIT for SRv6

ONE-LISP Support DHCP resolution in the overlay.

Bundle VPP Map-Registers to ODL by using one auth-key 

ARP resolution via LISP CP for L2 overlays

NSH-GPE control plane support

GTP-U IPv4 and IPv6 support

Basic GTP-U decapsulation

Basic GTP-U encapsulation

GTP-U tunnel multicast

GTP-U bypass mode

VxLAN-GPE VxLAN-GPE tunnel multicast

VxLAN-GPE bypass mode

Performance improvement

Release Milestones

Milestone Date Deliverables
F0 2017-06-08 APIs frozen. Only low-risk changes accepted on main branch.
RC1 2017-06-22 (F0+17) Code complete, pull first release throttle branch, only bug fixes accepted on throttle train. After pull: main branch reopens for new feature / risky commits. First artifacts posted.
RC2 2017-07-05 (RC1+17) Second artifacts posted.
Formal Release 2017-07-19 (RC2+17) 17.07 artifacts available

NOTE: Dates chosen based on:

  • mid-month release
  • milestone + days
  • day after VPP community meeting, for discussion, go/no-go

Once we've pulled the 17.07 release throttle

We need to be disciplined with respect to bugfix commits. Here are a few common-sense suggestions:

  • All bug fixes must be double-committed to the release throttle as well as to the master branch
    • Commit first to the release throttle, then "git cherry-pick" into master
    • Manual merges may be required, depending on the degree of divergence between throttle and master
  • All bug fixes need to have a Jira ticket
    • Please put Jira IDs into the commit messages.
    • Please use the same Jira ID


Features to be added in 17.10

NEED JIRA/CONFLUENCE IMPORT HERE

Expected Dependencies on Other Projects