Projects/vpp/Release Plans/Release Plan 19.04

Jump to: navigation, search


This page tracks release information for 19.04

Release Deliverables

Name Description Status
Migrate to Python 3 for: API compiler (vppapigen) Done
Python API wrappers Done
Test framework In progress
Docs Generation Done
extras/vpp_config Done
Packaging In progress
Buffer Mgr Rework Major buffer management rework and improvements Done
API Cleanup Use explicit types for improved type checking & mapping on client side In Progress
vmxnet3 LRO/TSO, autobind interface, multiple TX and RX queues per interface Done
LACP Passive mode Done
TAP Experimental TCP segmentation offload support Done
ACL plugin Cleanups and refactoring Done
RDMA (ibverb) driver Initial support for MLX5 with multiqueue Done
Host Stack Improve ldp/vls/vcl support for multi-process and multi-threaded applications Done
Major refactor/cleanup of session layer. Done
Refactor cut-through sessions to use a custom transport Done
Global session scheduling/pacing In Progress
Initial QUIC transport support Done

Release Milestones

As agreed during the Jan 8 VPP project meeting, the milestones' time will be at 18:00 UTC on the day of the milestone.

Milestone Date Deliverables
F0 2019-04-03 APIs frozen. Only low-risk changes accepted on main branch.
RC1 2019-04-10 (F0 + 7) 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 2019-04-17 (RC1 + 7) Second artifacts posted.
Formal Release 2019-04-24 (RC2 + 7) 19.04 release artifacts available

NOTE: Dates chosen based on:

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

Once we've pulled the 19.04 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 for commits into the stable branch and master.

Expected Dependencies on Other Projects