FD.io VPP  v18.07-34-g55fbdb9
Vector Packet Processing
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Release notes for VPP 18.07

More than 533 commits since the 18.04 release.

Features

Infrastructure

  • DPDK 18.05
    • Complete rework of the dpdk-input node
    • Display rx/tx burst function name in "show hardware detail"
    • Improve buffer alloc perfomance
      • This is ~50% improvement in buffer alloc performance. For a 256 buffer allocation, it was ~10 clocks/buffer, now is < 5 clocks.
    • Add per-numa page allocation info to 'show memory'
    • Vectorized bihash_{48,40,24,16}_8 key compare
      • bihash_48_8 case:
        • Scalar code: 6 clocks
        • SSE4.2 code: 3 clocks
        • AVX2 code: 2.27 clocks
        • AVX512 code: 1.5 clocks
    • Pollable Stats
      • Stats are now available to a client in a shared memory segment and in the form of a directory, allowing very high performance polling of stats without directly querying VPP.

VNET & Plugins

  • IGMP improvements
    • Enable/Disable an interface for IGMP
    • improve logging
    • refactor common code
    • no orphaned timers
    • IGMP state changes in main thread only
    • Large groups split over multiple state-change reports
    • SSM range configuration API.
    • more tests
  • IP: vectorized IP checksum
  • VXLAN : HW offload RX flow
  • Rework kube-proxy into LB plugin and add NATA66
  • NAT:
    • Code refactor
    • Syslog
    • Multiple outside interfaces
    • Endpoint dependent filtering and mapping
  • ACL:
    • Tuple Merge algorithm cleanup and integration
    • Processing pipeline optimizations
    • Refactoring
  • Experimental AVF driver

Host stack

  • Session: performance improvements, add support for connectionless transports, datagram reception and transmission
  • TCP: congestion control improvements and overall fixes
  • UDP: datagram mode
  • TLS async 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
    
    abf_itf_attach_add_del definition changed abf_itf_attach_details only in image abf_itf_attach_dump only in image abf_plugin_get_version definition changed abf_policy_add_del definition changed abf_policy_details only in image abf_policy_dump only in image af_packet_details only in image af_packet_dump only in image avf_create definition changed avf_delete definition changed bind_sock_reply definition changed bind_uri_reply definition changed dhcp6_client_enable_disable definition changed dhcp6_clients_enable_disable definition changed dhcp6_duid_ll_set definition changed dhcp6_pd_client_enable_disable definition changed dhcp6_pd_reply_event only in image dhcp6_pd_send_client_message definition changed dhcp6_reply_event only in image dhcp6_send_client_message definition changed dhcp_client_config definition changed dhcp_client_details only in image dhcp_client_dump only in image dhcp_compl_event definition changed dslite_address_details only in image dslite_address_dump only in image gbp_endpoint_group_add_del definition changed gbp_endpoint_group_details only in image gbp_endpoint_group_dump only in image gbp_recirc_add_del definition changed gbp_recirc_details only in image gbp_recirc_dump only in image gbp_subnet_add_del definition changed gbp_subnet_details only in image gbp_subnet_dump only in image hw_interface_set_mtu definition changed igmp_details definition changed igmp_dump definition changed igmp_enable_disable definition changed igmp_event definition changed igmp_group_prefix_details only in image igmp_group_prefix_dump only in image igmp_group_prefix_set definition changed igmp_listen definition changed ikev2_profile_set_auth definition changed ikev2_profile_set_id definition changed ip6_add_del_address_using_prefix definition changed ip_mroute_add_del definition changed ip_probe_neighbor definition changed ip_scan_neighbor_enable_disable definition changed ip_unnumbered_details only in image ip_unnumbered_dump only in image ipip_6rd_add_tunnel definition changed ipip_add_tunnel definition changed ipip_tunnel_details definition changed ipsec_sa_details definition changed ipsec_sad_add_del_entry definition changed ipsec_tunnel_if_add_del definition changed kp_add_del_pod definition changed kp_add_del_vip definition changed kp_conf definition changed lb_add_del_vip definition changed mactime_add_del definition changed mactime_enable definition changed memclnt_create definition changed memclnt_create_reply definition changed memfd_segment_create definition changed nat44_add_del_lb_static_mapping definition changed nat44_add_del_static_mapping definition changed nat44_del_session definition changed nat44_lb_static_mapping_details definition changed nat44_static_mapping_details definition changed nat44_user_session_details definition changed pipe_create definition changed pipe_delete definition changed pipe_details only in image pipe_dump only in image pot_profile_activate definition changed pot_profile_add definition changed pot_profile_del definition changed proxy_arp_add_del definition changed proxy_arp_details only in image proxy_arp_dump only in image proxy_arp_intfc_details only in image proxy_arp_intfc_dump only in image sock_init_shm_reply definition changed sockclnt_create definition changed sockclnt_create_reply definition changed sr_localsid_add_del definition changed sr_localsids_details definition changed sr_policies_details only in image sr_policies_dump only in image sr_policy_add definition changed sr_policy_del definition changed sr_policy_mod definition changed sr_steering_pol_details only in image sr_steering_pol_dump only in image sw_interface_details definition changed sw_interface_set_mtu definition changed tap_create_v2 definition changed vnet_bier_neighbor_counters only in image vnet_get_summary_stats_reply definition changed vxlan_offload_rx definition changed want_bier_neighbor_stats definition changed want_dhcp6_pd_reply_events definition changed want_dhcp6_reply_events definition changed Found 107 api message signature differences

Patches that changed API definitions

src/plugins/ioam/lib-pot/pot.api
e9fcf23 Fix some build warnings about "Old Style VLA"
src/plugins/gbp/gbp.api
25b0494 GBP V2
src/plugins/map/map.api
381e9a9 MAP: Move MAP-E/T to a plugin.
src/plugins/igmp/igmp.api
947ea62 IGMP improvements
src/plugins/lb/lb.api
d92a0b5 Rework kube-proxy into LB plugin
src/plugins/nat/nat.api
70a26ac NAT44: nat44_del_session and nat44_user_session_details API update (VPP-1271)
ebdf190 NAT44: TCP connection close detection (VPP-1266)
1e5c07d Add special Twice-NAT feature (VPP-1221)
16aa7f8 DSLite: Implement new API call DSLITE_ADDRESS_DUMP.
src/plugins/avf/avf.api
258a189 avf: api fix
6c9b964 avf: binary API and configurable RX/TX queue size
src/plugins/mactime/mactime.api
7055e26 Driver level time-based src mac filter
src/plugins/abf/abf.api
669d07d ACL based forwarding
src/vlibmemory/memclnt.api
dab732a VPP-1335 vapi crash when memclnt_keepalive received
7895872 Remove the historical memfd api segment bootstrap
src/vpp/stats/stats.api
a21a367 VPP-1324 SIGSEGV vl_msg_api_handler_with_vm_node()
586479a BIER neighbor stats
e906aac STATS: Separate socket for fd exchange.
048a4e5 export counters in a memfd segment
src/vnet/interface.api
d723161 MTU: Software interface / Per-protocol MTU support
fe7d4a2 Revert "MTU: Setting of MTU on software interface (instead of hardware interface)"
70083ee MTU: Setting of MTU on software interface (instead of hardware interface)
src/vnet/ipfix-export/ipfix_export.api
a9855ef Flow: Rename IPFIX exporter.
src/vnet/dhcp/dhcp6_pd_client_cp.api
81119e8 Implement DHCPv6 PD client (VPP-718, VPP-1050)
src/vnet/dhcp/dhcp.api
dd3b8f7 Implement DHCPv6 IA NA client (VPP-1094)
d9778c2 Update DHCPv6 DUID code and fix coverity warnings
81119e8 Implement DHCPv6 PD client (VPP-718, VPP-1050)
daff178 DHCP Client Dump
src/vnet/dhcp/dhcp6_ia_na_client_cp.api
dd3b8f7 Implement DHCPv6 IA NA client (VPP-1094)
src/vnet/ip/ip.api
947ea62 IGMP improvements
7eaaf74 proxy_arp: remove unused is_add
0053de6 ARP proxy dumps
9e2f915 IP unnumbered dump
7f358b3 Periodic scan and probe of IP neighbors to maintain neighbor pools
e821ab1 IP mcast: allow unicast address as a next-hop
c7b4304 Implement ip_probe_neighbor API
src/vnet/ip/ip_types.api
947ea62 IGMP improvements
2c2feab VPPAPIGEN: Add union and enum support and IP4/IP6 address type.
src/vnet/devices/af_packet/af_packet.api
04e0bb2 af_packet: Add support for dump interfaces
src/vnet/devices/tap/tapv2.api
d600ffe Update tapv2 documentation
0b06111 VPP-1305: Add support for tags
src/vnet/devices/pipe/pipe.api
ee8b973 VOM: support for pipes
17ff3c1 Pipes
src/vnet/ipip/ipip.api
d57f636 VPP-1277: IPIP - Copy TOS/TC from inner packet to outer.
src/vnet/session/session.api
7fb0fe1 udp/session: refactor to support dgram mode
src/vnet/ipsec/ipsec.api
4b089f2 ipsec: support UDP encap/decap for NAT traversal
e9fcf23 Fix some build warnings about "Old Style VLA"
8e1039a Allow an IPsec tunnel interface to be renumbered
src/vnet/vxlan/vxlan.api
af86a48 vxlan:offload RX flow
src/vnet/srv6/sr.api
3337bd2 Fixed bugs in SRv6 API
e9fcf23 Fix some build warnings about "Old Style VLA"