Release notes for VPP 17.04

More than 500 commits since the 1701 release.

Features

  • Infrastructure

    • make test improvements

    • vnet: add device-input threadplacement infra

    • 64 bit per-thread counters

    • process restart cli

    • High performance timer wheels

    • Plugin infrastructure improvements

      • Support for .default_disabled, .version_required

    • Added MAINTAINERS file

  • Host stack

    • TCP stack (experimental)

    • DHCPv4 / DHCPv6 relay multi-destination

    • DHCPv4 option 82

    • ND proxy

    • Attached hosts

    • Consolidated DHCPv4 and DHCPv6 implementation

  • Interfaces

    • DPDK 17.02 (retire support for DPDK 16.07)

    • Add memif - packet memory interface for intra-host communication

    • vhost: support interrupt mode

    • DPDK as plugin (retired vpp_lite)

    • DPDPK input optimizations

    • Loopback interface allocation scheme

  • Network features

    • IP Multicast FIB

    • Bridging

      • Learning on local interfaces

      • Flushing of MACs from the L2 FIB

    • SNAT

      • CGN (Deterministic and dynamic)

      • CGN configurable port allocation algorithm

      • ICMP support

      • Tentant VRF id for SNAT outside addresses

      • Session dump / User dump

      • Port allocation per protocol

    • Security groups

      • Routed interface support

      • L2+L3 unified processing node

      • Improve fragment handling

    • Segement routing v6

      • SR policies with weighted SID lists

      • Binding SID

      • SR steering policies

      • SR Local SIDs

      • Framework to expand local SIDs w/plugins

      • Documentation

    • IOAM

      • UDP Pinger w/path fault isolation

      • IOAM as type 2 metadata in NSH

      • IAOM raw IPFIX collector and analyzer

      • Anycast active server selection

      • Documentation

      • SRv6 Local SID

      • IP6 HBH header and SR header co-existence

      • Active probe

    • LISP

      • Statistics collection

      • Generalize encap for overlay transport (vxlan-gpe support)

      • Improve data plane speed

    • GPE

      • CLI

      • NSH added to encap/decap path

      • Renamed LISP GPE API to GPE

    • MPLS

      • Performance improvements (quad loop)

    • BFD

      • Command line interface

      • Echo function

      • Remote demand mode

      • SHA1 authentication

    • IPsec

      • IKEv2 initiator features

    • VXLAN

      • unify IP4/IP6 control plane handling

API changes

  • Python API: To avoid conflicts between VPP API messages names and the Python API binding function names, VPP API methods are put in a separate proxy object. https://gerrit.fd.io/r/#/c/5570/ The api methods are now referenced as: vpp_handle = VPP(jsonfiles) vpp_handle.connect(…) vpp = vpp_handle.api vpp.show_version() vpp_handle.disconnect()

    For backwards compatibility VPP API methods are left in the main name space (VPP), but will be removed from 17.07.

    • Python API: Change from cPython to CFFI.

  • create_loopback message to be replaced with create_loopback_instance create_loopback will be removed from 17.07. https://gerrit.fd.io/r/#/c/5572/

Known issues

For the full list of issues please refer to fd.io JIRA.

Issues fixed

For the full list of fixed issues please refer to: