FD.io VPP  v19.01.1-17-ge106252
Vector Packet Processing
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Release notes for VPP 19.01

More than 649 commits since the 18.10 release.

Features

Infrastructure

  • NUMA-aware, growable physical memory allocator (pmalloc)
  • FIB: sticky load-balance
  • C11 safe string handling: provide and use "safe" C string handling functions
  • vlib: allocate buffers on local numa, not on numa 1
  • vppinfra: autodetect default hugepage size
  • Move RPC traffic off the shared-memory API queue
  • IPv6: Make link-local configurable per-interface
  • IGMP: improve CLI debug output
  • IPSec: split ipsec nodes into ip4/ip6 nodes
  • IPSec: infra for selecting backends
  • vhost-user: cleanup and performance optimizations
  • ethernet-input, memif improvements and optimizations
  • DPDK: bump to DPDK 18.11
  • reassembly: harden reassembly code
  • stats: Deprecate old (event-based) stats framework
  • vlib: support Hyper-V/Azure VMBus
  • binary api clients: wait for vpp to start
  • graph dispatch trace: capture packet data and buffer metadata, output in pcap format
  • improve feature arc order constraint specification

VNET & Plugins

  • pktgen: correctly replay a mix of single and multi-buffer packets
  • add wireshark dissector to extras
  • avf: optimizations
  • acl-plugin: use L2 feature arc instead of L2 classifier
  • acl-plugin: performance enhancement
  • dpdk: allow interface name to be specified from startup.conf
  • dpdk: blacklist PCI devices by type
  • dpdk: switch to in-memory mode, deprecate use of socket-mem
  • vnet: store hw interface speed in kbps instead of using flags
  • vmxnet3: enable promiscuous mode & cli enhancements
  • gbp: Add support for flow hash profile & l3-out subnets
  • map: Add API support for setting parameters.
  • map: Convert from DPO to input feature
  • nat: improve expired sessions reuse in NAT44
  • nat: syslog - sessions logging
  • nsim: add packet loss simulation, docs
  • perfmon: x86_64 perf counter plugin
  • vnet: L2 feature arc infrastructure

Host stack

  • TCP congestion control improvements
  • TCP Cubic congestion control algorithm
  • TCP fast path optimizations
  • Transport tx connection pacer. TCP uses it by default
  • Basic support for session flushing and TCP PSH segments
  • TCP/session api support for configuring custom local src ip/port
  • VCL/LDP basic support for multi-process applications
  • Overall code hardening, cleanup and bugfixing for tcp, session, vcl and ldp

PAPI & Test framework

  • add specific API types for IP addresses, MAC address, interface index etc.
  • add timeout support for socket transport
  • add support for format/unformat functions
  • generic API types format/unformat support for VAT and custom dump
  • python3 test adjustments
  • make test: create virtualenv under /test/
  • make test: print TEST= values for failed tests
  • add human-friendly annotations to log messages

VOM

  • Add support for redirect contracts in gbp
  • deprecate TAP add ip-punt redirect dump
  • vxlan-gbp 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 Results
acl_plugin_get_conn_table_max_entries only in image
acl_plugin_get_conn_table_max_entries_reply only in image
app_worker_add_del definition changed
app_worker_add_del_reply definition changed
application_attach_reply definition changed
bd_ip_mac_add_del definition changed
bd_ip_mac_details definition changed
bd_ip_mac_flush only in image
bd_ip_mac_flush_reply only in image
bond_create definition changed
cli_inband definition changed
cli_inband_reply definition changed
gbp_bridge_domain_add only in image
gbp_bridge_domain_add_reply only in image
gbp_bridge_domain_del only in image
gbp_bridge_domain_del_reply only in image
gbp_bridge_domain_details only in image
gbp_bridge_domain_dump only in image
gbp_bridge_domain_dump_reply only in image
gbp_endpoint_details definition changed
gbp_endpoint_group_add only in image
gbp_endpoint_group_add_del only in file
gbp_endpoint_group_add_del_reply only in file
gbp_endpoint_group_add_reply only in image
gbp_endpoint_group_del only in image
gbp_endpoint_group_del_reply only in image
gbp_endpoint_learn_set_inactive_threshold only in image
gbp_endpoint_learn_set_inactive_threshold_reply only in image
gbp_ext_itf_add_del only in image
gbp_ext_itf_add_del_reply only in image
gbp_ext_itf_details only in image
gbp_ext_itf_dump only in image
gbp_route_domain_add only in image
gbp_route_domain_add_reply only in image
gbp_route_domain_del only in image
gbp_route_domain_del_reply only in image
gbp_route_domain_details only in image
gbp_route_domain_dump only in image
gbp_route_domain_dump_reply only in image
gbp_vxlan_tunnel_add only in image
gbp_vxlan_tunnel_add_reply only in image
gbp_vxlan_tunnel_del only in image
gbp_vxlan_tunnel_del_reply only in image
gbp_vxlan_tunnel_details only in image
gbp_vxlan_tunnel_dump only in image
igmp_proxy_device_add_del only in image
igmp_proxy_device_add_del_interface only in image
igmp_proxy_device_add_del_interface_reply only in image
igmp_proxy_device_add_del_reply only in image
ip6_mfib_details definition changed
ip_container_proxy_details only in image
ip_container_proxy_dump only in image
ip_mfib_details definition changed
ip_punt_redirect definition changed
ip_punt_redirect_details only in image
ip_punt_redirect_dump only in image
ip_source_check_interface_add_del only in image
ip_source_check_interface_add_del_reply only in image
ipip_6rd_add_tunnel_reply definition changed
ipip_6rd_del_tunnel definition changed
ipip_add_tunnel_reply definition changed
ipip_del_tunnel definition changed
ipip_tunnel_details definition changed
ipip_tunnel_dump definition changed
ipsec_backend_details only in image
ipsec_backend_dump only in image
ipsec_sa_details definition changed
ipsec_select_backend only in image
ipsec_select_backend_reply only in image
ipsec_tunnel_if_add_del definition changed
map_add_del_rule definition changed
map_add_domain definition changed
map_another_segment definition changed
map_domain_details definition changed
map_if_enable_disable only in image
map_if_enable_disable_reply only in image
map_param_add_del_pre_resolve only in image
map_param_add_del_pre_resolve_reply only in image
map_param_get only in image
map_param_get_reply only in image
map_param_set_fragmentation only in image
map_param_set_fragmentation_reply only in image
map_param_set_icmp6 only in image
map_param_set_icmp6_reply only in image
map_param_set_icmp only in image
map_param_set_icmp_reply only in image
map_param_set_reassembly only in image
map_param_set_reassembly_reply only in image
map_param_set_security_check only in image
map_param_set_security_check_reply only in image
map_param_set_tcp only in image
map_param_set_tcp_reply only in image
map_param_set_traffic_class only in image
map_param_set_traffic_class_reply only in image
map_rule_details definition changed
memclnt_delete definition changed
nat44_add_del_lb_static_mapping definition changed
nat44_lb_static_mapping_add_del_local only in image
nat44_lb_static_mapping_add_del_local_reply only in image
nat44_lb_static_mapping_details definition changed
nsim_configure definition changed
punt only in file
punt_details only in image
punt_dump only in image
punt_reply only in file
punt_socket_deregister definition changed
punt_socket_details only in image
punt_socket_dump only in image
punt_socket_register definition changed
set_ip_flow_hash definition changed
set_punt only in image
set_punt_reply only in image
show_version_reply definition changed
stats_get_poller_delay only in file
stats_get_poller_delay_reply only in file
sw_interface_bond_details definition changed
sw_interface_details definition changed
sw_interface_ip6_set_link_local_address only in file
sw_interface_ip6_set_link_local_address_reply only in file
sw_interface_tap_v2_details definition changed
syslog_get_filter only in image
syslog_get_filter_reply only in image
syslog_get_sender only in image
syslog_get_sender_reply only in image
syslog_set_filter only in image
syslog_set_filter_reply only in image
syslog_set_sender only in image
syslog_set_sender_reply only in image
tap_create_v2 definition changed
unmap_segment definition changed
vnet_bier_neighbor_counters only in file
vnet_get_summary_stats only in file
vnet_get_summary_stats_reply only in file
vnet_interface_combined_counters only in file
vnet_interface_simple_counters only in file
vnet_ip4_fib_counters only in file
vnet_ip4_mfib_counters only in file
vnet_ip4_nbr_counters only in file
vnet_ip6_fib_counters only in file
vnet_ip6_mfib_counters only in file
vnet_ip6_nbr_counters only in file
vnet_per_interface_combined_counters only in file
vnet_per_interface_simple_counters only in file
vnet_udp_encap_counters only in file
want_bier_neighbor_stats only in file
want_bier_neighbor_stats_reply only in file
want_interface_combined_stats only in file
want_interface_combined_stats_reply only in file
want_interface_simple_stats only in file
want_interface_simple_stats_reply only in file
want_ip4_fib_stats only in file
want_ip4_fib_stats_reply only in file
want_ip4_mfib_stats only in file
want_ip4_mfib_stats_reply only in file
want_ip4_nbr_stats only in file
want_ip4_nbr_stats_reply only in file
want_ip6_fib_stats only in file
want_ip6_fib_stats_reply only in file
want_ip6_mfib_stats only in file
want_ip6_mfib_stats_reply only in file
want_ip6_nbr_stats only in file
want_ip6_nbr_stats_reply only in file
want_per_interface_combined_stats only in file
want_per_interface_combined_stats_reply only in file
want_per_interface_simple_stats only in file
want_per_interface_simple_stats_reply only in file
want_stats only in file
want_stats_reply only in file
want_udp_encap_stats only in file
want_udp_encap_stats_reply only in file

Found 170 api message signature differences

Patches that changed API definitions

src/vnet/interface_types.api
53fffa1 API: Add support for type aliases
src/vnet/interface.api
f49ba0e stats: Deprecate old stats framework
53fffa1 API: Add support for type aliases
5100aa9 vnet: store hw interface speed in kbps instead of using flags
src/vnet/syslog/syslog.api
b4515b4 Add RFC5424 syslog protocol support (VPP-1139)
src/vnet/fib/fib_types.api
775f73c FIB: encode the label stack in the FIB path during table dump
src/vnet/ip/ip.api
7c03ed4 VOM: mroutes
3460b01 api: ip_source_check_interface_add_del api is added.
609e121 VPP-1507: Added binary api to dump configured ip_punt_redirect
2af0e3a flow-hash: Add symmetric flag for flow hashing
47527b2 IP-punt: add documentation to the API and fix IP address init
5bb1eca IPv6: Make link-local configurable per-interface (VPP-1446)
75b9f45 ip: add container proxy dump API (VPP-1364)
src/vnet/ip/ip_types.api
8c8acc0 API: Change ip4_address and ip6_address to use type alias.
ffba3c3 MAP: Use explicit address/prefix types in API
src/vnet/ip/punt.api
e88865d VPP-1506: dump local punts and registered punt sockets
src/vnet/ipsec/ipsec.api
4c422f9 Add IPSec interface FIB index for TX packet
b4a7a7d Add UDP encap flag
b4d3053 ipsec: infra for selecting backends
871bca9 VPP-1450: binary api call for dumping SPD to interface registration
src/vnet/l2/l2.api
e26c81f L2 BD API to flush all IP-MAC entries in the specified BD
8006c6a PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
93cc3ee GBP Endpoint Learning
4d5b917 BD ARP entry use common API types
src/vnet/vxlan-gbp/vxlan_gbp.api
93cc3ee GBP Endpoint Learning
src/vnet/ipip/ipip.api
53fffa1 API: Add support for type aliases
src/vnet/session/session.api
d85de68 vcl: wait for segments with segment handle
fa76a76 session: segment handle in accept/connect notifications
c1f5a43 session: cleanup use of api_client_index
c0d532d session: mark apis for deprecation
src/vnet/ethernet/ethernet_types.api
8006c6a PAPI: Add MACAddress object wrapper for vl_api_mac_address_t
src/vnet/bonding/bond.api
ad9d528 bonding: support custom interface IDs
src/vnet/devices/tap/tapv2.api
754f24b tapv2: add "tap_flags" field to the TAPv2 interface API
src/vlibmemory/memclnt.api
eaec2a6 bapi: add options to have vpp cleanup client registration
src/vpp/api/vpe.api
f49ba0e stats: Deprecate old stats framework
413f4a5 API: Use string type instead of u8.
src/plugins/acl/acl.api
bb5d22d New api in order to get max entries of connection table is added.
src/plugins/nsim/nsim.api
10c5ff1 nsim: add packet loss simulation, docs
src/plugins/gbp/gbp.api
1c17e2e GBP: add allowed ethertypes to contracts
b6a4795 GBP: l3-out subnets
33b81da vom: Add support for redirect contracts in gbp
13a08cc GBP: redirect contracts
c29c0af GBP: Endpoints with VLAN tags and birdges that don't learn
93cc3ee GBP Endpoint Learning
src/plugins/nat/nat.api
b686508 NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514)
src/plugins/map/map.api
fc7344f MAP: Convert from DPO to input feature.
f34597f MAP: Add API support for MAP input feature.
5a2e278 MAP: Add API support for setting parameters.
a173a7a MAP: Use bool type in map.api instead of u8.
ffba3c3 MAP: Use explicit address/prefix types in API
src/plugins/igmp/igmp.api
97748ca IGMP: proxy device