FD.io VPP  v21.01
Vector Packet Processing
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 reffer to fd.io JIRA.

Issues fixed

For the full list of fixed issues please reffer to: