FD.io VPP  v21.01
Vector Packet Processing
Release notes for VPP 17.10

More than 400 commits since the 1707 release.

Features

  • Infrastructure
    • DPDK 17.08
    • IP reassembly
    • Bounded-index extensible hash bucket-level LRU cache
    • Templated timer wheel improvements
  • API
    • C/C++ language binding
    • API stats
  • Host stack
    • VPP TCP stack scale/congestion improvements
    • VPP Comms Library (VCL)
    • Overall performance, scale and hardening
  • Network features
    • IPSec rework - utilize new FIB
    • VPLS and VPWS implementation
    • NAT
      • Renamed SNAT to NAT
      • Performance / Scale
      • Destination NAT44 with load-balancing
      • In2out translation as an output feature on the outside interface
      • Fullback to 3-tuple key for non TCP/UDP/ICMP sessions
    • Security Groups/ACLs
      • "Replace" semantics for adding a new MacIP acl
      • Test suite tests for MacIP ACLs
    • ONE-LISP
      • Map-server fallback support
      • Preemptive re-fetch of active mappings that are about to expire
      • ND termination
    • PPPoE
      • PPPoE Control Plane packet dispatch
      • PPPoE decapsulation
      • PPPoE encapsulation

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

Message Name Result
bridge_domain_add_del definition changed
bridge_domain_details definition changed
connect_session definition changed
connect_sock definition changed
connect_sock_reply definition changed
connect_uri_reply definition changed
create_vhost_user_if definition changed
dhcp_client_config definition changed
ip4_arp_event definition changed
ip6_fib_details definition changed
ip6_nd_event definition changed
ip_add_del_route definition changed
ip_fib_details definition changed
ip_table_add_del definition changed
l2_macs_event only in image
macip_acl_add_replace definition changed
macip_acl_interface_list_details only in image
macip_acl_interface_list_dump only in image
modify_vhost_user_if definition changed
mpls_fib_details definition changed
mpls_route_add_del definition changed
mpls_table_add_del definition changed
mpls_tunnel_add_del definition changed
nat44_add_del_address_range definition changed
nat44_add_del_interface_addr definition changed
nat44_add_del_lb_static_mapping definition changed
nat44_add_del_static_mapping definition changed
nat44_address_details only in image
nat44_address_dump only in image
nat44_interface_add_del_feature definition changed
nat44_interface_add_del_output_feature definition changed
nat44_interface_addr_details only in image
nat44_interface_addr_dump only in image
nat44_interface_details only in image
nat44_interface_dump only in image
nat44_interface_output_feature_details only in image
nat44_interface_output_feature_dump only in image
nat44_lb_static_mapping_details only in image
nat44_lb_static_mapping_dump only in image
nat44_static_mapping_details only in image
nat44_static_mapping_dump only in image
nat44_user_details only in image
nat44_user_dump only in image
nat44_user_session_details only in image
nat44_user_session_dump only in image
nat_control_ping definition changed
nat_det_add_del_map definition changed
nat_det_close_session_in definition changed
nat_det_close_session_out definition changed
nat_det_forward definition changed
nat_det_get_timeouts definition changed
nat_det_map_details only in image
nat_det_map_dump only in image
nat_det_reverse definition changed
nat_det_session_details only in image
nat_det_session_dump only in image
nat_det_set_timeouts definition changed
nat_ipfix_enable_disable definition changed
nat_set_workers definition changed
nat_show_config definition changed
nat_worker_details only in image
nat_worker_dump only in image
one_add_del_ndp_entry definition changed
one_enable_disable_petr_mode definition changed
one_enable_disable_pitr_mode definition changed
one_enable_disable_xtr_mode definition changed
one_get_transport_protocol definition changed
one_map_register_fallback_threshold definition changed
one_map_register_set_ttl definition changed
one_ndp_bd_get definition changed
one_ndp_entries_get definition changed
one_set_transport_protocol definition changed
one_show_petr_mode definition changed
one_show_pitr_mode definition changed
one_show_xtr_mode definition changed
p2p_ethernet_add definition changed
pppoe_add_del_session definition changed
pppoe_session_details only in image
pppoe_session_dump only in image
punt_socket_deregister definition changed
punt_socket_register definition changed
show_one_map_register_fallback_threshold definition changed
show_one_map_register_ttl definition changed
snat_interface_add_del_output_feature definition changed
snat_interface_output_feature_details only in image
snat_interface_output_feature_dump only in image
sw_interface_event only in image
sw_interface_set_flags definition changed
sw_interface_span_dump definition changed
sw_interface_span_enable_disable definition changed
sw_interface_vhost_user_details definition changed
tcp_configure_src_addresses definition changed
vnet_per_interface_combined_counters only in image
vnet_per_interface_simple_counters only in image
want_interface_combined_stats definition changed
want_interface_simple_stats definition changed
want_ip4_fib_stats definition changed
want_ip4_nbr_stats definition changed
want_ip6_fib_stats definition changed
want_ip6_nbr_stats definition changed
want_l2_macs_events definition changed
want_per_interface_combined_stats definition changed
want_per_interface_simple_stats definition changed

Found 103 api message signature differences

Patches that updated the API files:

./src/plugins/pppoe/pppoe.api 62f9cdd8 Add PPPoE Plugin

./src/plugins/acl/acl.api c29940c5 ACL-plugin add "replace" semantics for adding a new MacIP acl de9fbf43 MAC IP ACL interface list dump (as an alternative to the get/reply)

./src/plugins/nat/nat.api 704018cf NAT: Destination NAT44 with load-balancing (VPP-954) 2ba92e32 NAT: Rename snat plugin to nat (VPP-955)

./src/vnet/interface.api 831fb59f Stats refactor d292ab1e No context in SW interface event a07bd708 Dedicated SW Interface Event

./src/vnet/dhcp/dhcp.api 51822bf0 DHCP client option 61 "client_id" 4729b1ec DHCP complete event sends mask length

./src/vnet/lldp/lldp.api 99a0e60e Add API support for LLDP config/interface set

./src/vnet/lisp-cp/one.api d630713d LISP: add neighbor discovery and CP protocol separation APIs 111a5cea LISP: Add APIs for enable/disable xTR/P-ITR/P-ETR modes 7048ff1e LISP: Map-server fallback feature 1e553a00 LISP: make TTL for map register messages configurable

./src/vnet/ethernet/p2p_ethernet.api 15ac81c1 P2P Ethernet

./src/vnet/mpls/mpls.api 2297af01 Add a name to the creation of an IP and MPLS table 28ab9cc1 FIB table add/delete API only da78f957 L2 over MPLS a0a908f1 FIB path weight incorrect in dump (VPP-922) 57b5860f FIB path preference

./src/vnet/session/session.api 33e002b1 Fix session connect api message handling.

./src/vnet/span/span.api 5b311202 SPAN/API:enable L2 dump 001fd406 SPAN:add l2 mirror

./src/vnet/devices/virtio/vhost_user.api 4ba75f54 vhost: Remove operation mode in the API

./src/vnet/vxlan-gpe/vxlan_gpe.api 04ffd0ad VPP crash on creating vxlan gpe interface. VPP-875

./src/vnet/tcp/tcp.api 3bbcfab1 TCP source address automation

./src/vnet/ip/ip.api 2297af01 Add a name to the creation of an IP and MPLS table 28ab9cc1 FIB table add/delete API only 57b5860f FIB path preference

./src/vnet/lisp-gpe/lisp_gpe.api af3d9771 Remove unused retval from gpe_native_fwd_rpath type definition

./src/vnet/l2/l2.api 50570ece Update of free text tag patch for BD 48304141 Support for bridge domain free text tag e531f4cb Increase default MAC learn limit and check it in learn-update path 8d00fff8 Add support for API client to receive L2 MAC events

./src/vpp/api/vpe.api 8a19f12a Allow individual stats API and introduce stats.api 4802632d Punt socket: Fix coverity error for pathname length mismatch between API and sun_path. f7a55ad7 PUNT socket: External control plane processes connected via UNIX domain sockets. 75e2f2ac API:fix arp/ND event messages - remove context 99a0e60e Add API support for LLDP config/interface set

./src/vpp/stats/stats.api 831fb59f Stats refactor 8a19f12a Allow individual stats API and introduce stats.api