FD.io VPP  v19.04-6-g6f05f72
Vector Packet Processing
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Release notes for VPP 19.04

More than 700 commits since the 19.01 release.

Features

Infrastructure

  • DPDK 19.02 integration
  • Buffer manager rework and improvements
  • Python3 migration (work in progress)
    • vppapigen
    • Python API wrappers
    • Docs generation
    • vpp_config
    • "make test" python3 readiness and refactoring
  • Add "make test-gcov" target to main Makefile
  • Refactor multiarch code
  • vfctl script: bind VF to vfio-pci after VF is created
  • cmake cross-compilation support
  • CLI control of graph dispatch elogs
  • AppImage packaging (disabled by default)
  • Complete upstreaming of wireshark dissector
  • Remove JVPP which is now an FD.io project
  • Punt infra: manage dispatch of exception packets

VNET & Plugins

  • BVI Interface
  • Deprecate TAP cli
  • Experimental TAP interface TCP segmentation offload
  • Vmxnet3 driver plugin
  • LACP passive mode
  • ACL plugin refactoring
  • RDMA (ibverb) driver plugin - MLX5 with multiqueue
  • IPSEC
    • Intel IPSEC-MB engine plugin
    • Tunnel fragmentation
    • CLI improvements
    • Performance improvements
    • API modernisation and improvements
    • New Tests and test refactoring
  • Crypto
    • Introduce crypto infra
    • crypto_ia32 plugin
    • Add support for AEAD and AES-GCM
    • Implement rfc4231 test cases
    • Implement crypto tests per RFC2202
  • Perfmon improvements
    • Python to C parser for intel CPUs
    • 2-way parallel stat collection
    • Collect data on selected thread(s)

Host stack

  • Improve ldp/vls/vcl support for multi-process and multi-threaded applications
  • Major refactor/cleanup of session layer
  • Refactor cut-through sessions to use a custom transport
  • Baseline QUIC transport support

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:

API changes

Description of results:

  • Definition changed: indicates that the API file was modified between releases.
  • Only in image: indicates the API is new for this release.
  • Only in file: indicates the API has been removed in this release.
Message Name Result
accept_session only in file
accept_session_reply only in file
bind_sock_reply definition changed
bind_uri_reply definition changed
bvi_create only in image
bvi_create_reply only in image
bvi_delete only in image
bvi_delete_reply only in image
connect_session only in file
connect_session_reply only in file
ct6_enable only in image
ct6_enable_disable only in image
gbp_contract_add_del_reply definition changed
gbp_endpoint_group_del definition changed
gbp_endpoint_learn_set_inactive_threshold only in file
gbp_endpoint_learn_set_inactive_threshold_reply only in file
ikev2_plugin_get_version only in image
ikev2_plugin_get_version_reply only in image
ip4_arp_event definition changed
ip6_nd_event definition changed
ip6_ra_event definition changed
ip6nd_proxy_add_del definition changed
ip6nd_proxy_details definition changed
ip_container_proxy_add_del definition changed
ip_neighbor_add_del definition changed
ip_neighbor_details definition changed
ip_probe_neighbor definition changed
ip_source_and_port_range_check_add_del definition changed
ipsec_backend_details definition changed
ipsec_gre_add_del_tunnel only in file
ipsec_gre_add_del_tunnel_reply only in file
ipsec_gre_tunnel_add_del only in image
ipsec_gre_tunnel_add_del_reply only in image
ipsec_gre_tunnel_details definition changed
ipsec_sa_details definition changed
ipsec_sa_set_key definition changed
ipsec_sad_add_del_entry only in file
ipsec_sad_add_del_entry_reply only in file
ipsec_sad_entry_add_del only in image
ipsec_sad_entry_add_del_reply only in image
ipsec_select_backend definition changed
ipsec_spd_add_del_entry only in file
ipsec_spd_add_del_entry_reply only in file
ipsec_spd_details definition changed
ipsec_spd_entry_add_del only in image
ipsec_spd_entry_add_del_reply only in image
ipsec_tunnel_if_add_del definition changed
lb_conf definition changed
map_add_domain definition changed
map_domain_details definition changed
nat_ha_flush only in image
nat_ha_flush_reply only in image
nat_ha_get_failover only in image
nat_ha_get_failover_reply only in image
nat_ha_get_listener only in image
nat_ha_get_listener_reply only in image
nat_ha_resync only in image
nat_ha_resync_completed_event only in image
nat_ha_resync_reply only in image
nat_ha_set_failover only in image
nat_ha_set_failover_reply only in image
nat_ha_set_listener only in image
nat_ha_set_listener_reply only in image
reset_session only in file
reset_session_reply only in file
sw_interface_ip6nd_ra_prefix definition changed
sw_interface_set_dpdk_hqos_pipe only in file
sw_interface_set_dpdk_hqos_pipe_reply only in file
sw_interface_set_dpdk_hqos_subport only in file
sw_interface_set_dpdk_hqos_subport_reply only in file
sw_interface_set_dpdk_hqos_tctbl only in file
sw_interface_set_dpdk_hqos_tctbl_reply only in file
sw_interface_tap_details only in file
sw_interface_tap_dump only in file
sw_interface_virtio_pci_details only in image
sw_interface_virtio_pci_dump only in image
tap_connect only in file
tap_connect_reply only in file
tap_delete only in file
tap_delete_reply only in file
tap_modify only in file
tap_modify_reply only in file
virtio_pci_create only in image
virtio_pci_create_reply only in image
virtio_pci_delete only in image
virtio_pci_delete_reply only in image
vmxnet3_create definition changed
vmxnet3_details definition changed
want_ip4_arp_events definition changed
want_ip6_nd_events definition changed

Found 90 api message signature differences

Patches that changed API definitions

src/vnet/interface.api
3b0d7e42f Revert "API: Cleanup APIs interface.api"
e63325e3c API: Cleanup APIs interface.api
bb2c7b580 Update documentation for src/vnet/interface.api sw_interface_dump
src/vnet/interface_types.api
3b0d7e42f Revert "API: Cleanup APIs interface.api"
e63325e3c API: Cleanup APIs interface.api
src/vnet/ip/ip.api
48ae19e90 API: Add python2.7 support for enum flags via aenum
37029305c Use IP and MAC API types for neighbors
src/vnet/session/session.api
6442401c2 session: remove deprecated binary apis
src/vnet/vxlan-gbp/vxlan_gbp.api
4dd4cf4f9 GBP: fixes for l3-out routing
src/vnet/ipsec/ipsec.api
1e3aa5e21 ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN
1ba5bc8d8 ipsec: add ipv6 support for ipsec tunnel interface
5d704aea5 updates now that flags are supported on the API
53f526b68 TEST: IPSEC NAT-T with UDP header
7c44d78ef IKEv2 to plugin
eba31eceb IPSEC: move SA counters into the stats segment
8d7c50200 IPSEC: no second lookup after tunnel encap
a09c1ff5b IPSEC: SPD counters in the stats sgement
17dcec0b9 IPSEC: API modernisation
src/vnet/ipsec-gre/ipsec_gre.api
e524d45ef IPSEC-GRE: fixes and API update to common types.
src/vnet/l2/l2.api
192b13f96 BVI Interface
5daf0c55c add default NONE flag for bd_flags
src/vnet/tcp/tcp.api
c5df8c71c host stack: update stale copyright
src/vnet/devices/virtio/virtio.api
d6c15af33 virtio: Native virtio driver
src/vnet/udp/udp.api
c5df8c71c host stack: update stale copyright
src/plugins/ct6/ct6.api
a55df1081 ipv6 connection tracking plugin
src/plugins/vmxnet3/vmxnet3.api
ee8ba6877 vmxnet3: auto bind support
854559d15 vmxnet3: RSS support
773291163 vmxnet3: multiple TX queues support
src/plugins/ikev2/ikev2.api
7c44d78ef IKEv2 to plugin
src/plugins/gbp/gbp.api
1aa35576e GBP: Counters per-contract
8ea109e40 gbp: Add bd flags
7bd343509 GBP: custom-dump functions
fa0ac2c56 GBP: contracts API fixed length of allowed ethertypes
5d704aea5 updates now that flags are supported on the API
4ba67723d GBP: use sclass in the DP for policy
8da9fc659 GBP: learn from ARP and L2 packets
32f6d8e0c GBP: per-group EP retention policy
879d11c25 GBP: Sclass to src-epg conversions
src/plugins/nat/nat.api
8feeaff56 Typos. A bunch of typos I've been collecting.
34931eb47 NAT44: active-passive HA (VPP-1571)
src/plugins/map/map.api
4dc5c7b90 MAP: Add optional user-supplied 'tag' field in MAPs.
src/plugins/lb/lb.api
f7f13347b tests: update test_lb.py to use api call lb_conf.
src/plugins/cdp/cdp.api
76ef6094c tests: cdp plugin. Replace cdp enable cli command with API call.
src/vpp/api/vpe.api
1aaf0e343 deprecate tapcli