# Release Notes {#release_notes} * @subpage release_notes_1901 * @subpage release_notes_1810 * @subpage release_notes_1807 * @subpage release_notes_1804 * @subpage release_notes_18012 * @subpage release_notes_18011 * @subpage release_notes_1801 * @subpage release_notes_1710 * @subpage release_notes_1707 * @subpage release_notes_1704 * @subpage release_notes_17011 * @subpage release_notes_1701 * @subpage release_notes_1609 * @subpage release_notes_1606 @page release_notes_1901 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](https://jira.fd.io). ## Issues fixed For the full list of fixed issues please refer to: - fd.io [JIRA](https://jira.fd.io) - git [commit log](https://git.fd.io/vpp/log/?h=stable/1810) ## 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 | @c src/vnet/interface_types.api || | ------- | ------- | | [53fffa1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1) | API: Add support for type aliases | | @c src/vnet/interface.api || | ------- | ------- | | [f49ba0e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e) | stats: Deprecate old stats framework | | [53fffa1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1) | API: Add support for type aliases | | [5100aa9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5100aa9) | vnet: store hw interface speed in kbps instead of using flags | | @c src/vnet/syslog/syslog.api || | ------- | ------- | | [b4515b4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4515b4) | Add RFC5424 syslog protocol support (VPP-1139) | | @c src/vnet/fib/fib_types.api || | ------- | ------- | | [775f73c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=775f73c) | FIB: encode the label stack in the FIB path during table dump | | @c src/vnet/ip/ip.api || | ------- | ------- | | [7c03ed4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c03ed4) | VOM: mroutes | | [3460b01](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3460b01) | api: ip_source_check_interface_add_del api is added. | | [609e121](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=609e121) | VPP-1507: Added binary api to dump configured ip_punt_redirect | | [2af0e3a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2af0e3a) | flow-hash: Add symmetric flag for flow hashing | | [47527b2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47527b2) | IP-punt: add documentation to the API and fix IP address init | | [5bb1eca](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5bb1eca) | IPv6: Make link-local configurable per-interface (VPP-1446) | | [75b9f45](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75b9f45) | ip: add container proxy dump API (VPP-1364) | | @c src/vnet/ip/ip_types.api || | ------- | ------- | | [8c8acc0](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8c8acc0) | API: Change ip4_address and ip6_address to use type alias. | | [ffba3c3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c3) | MAP: Use explicit address/prefix types in API | | @c src/vnet/ip/punt.api || | ------- | ------- | | [e88865d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e88865d) | VPP-1506: dump local punts and registered punt sockets | | @c src/vnet/ipsec/ipsec.api || | ------- | ------- | | [4c422f9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c422f9) | Add IPSec interface FIB index for TX packet | | [b4a7a7d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4a7a7d) | Add UDP encap flag | | [b4d3053](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4d3053) | ipsec: infra for selecting backends | | [871bca9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=871bca9) | VPP-1450: binary api call for dumping SPD to interface registration | | @c src/vnet/l2/l2.api || | ------- | ------- | | [e26c81f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e26c81f) | L2 BD API to flush all IP-MAC entries in the specified BD | | [8006c6a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6a) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | | [93cc3ee](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee) | GBP Endpoint Learning | | [4d5b917](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d5b917) | BD ARP entry use common API types | | @c src/vnet/vxlan-gbp/vxlan_gbp.api || | ------- | ------- | | [93cc3ee](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee) | GBP Endpoint Learning | | @c src/vnet/ipip/ipip.api || | ------- | ------- | | [53fffa1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1) | API: Add support for type aliases | | @c src/vnet/session/session.api || | ------- | ------- | | [d85de68](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d85de68) | vcl: wait for segments with segment handle | | [fa76a76](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa76a76) | session: segment handle in accept/connect notifications | | [c1f5a43](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c1f5a43) | session: cleanup use of api_client_index | | [c0d532d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0d532d) | session: mark apis for deprecation | | @c src/vnet/ethernet/ethernet_types.api || | ------- | ------- | | [8006c6a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6a) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | | @c src/vnet/bonding/bond.api || | ------- | ------- | | [ad9d528](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad9d528) | bonding: support custom interface IDs | | @c src/vnet/devices/tap/tapv2.api || | ------- | ------- | | [754f24b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=754f24b) | tapv2: add "tap_flags" field to the TAPv2 interface API | | @c src/vlibmemory/memclnt.api || | ------- | ------- | | [eaec2a6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eaec2a6) | bapi: add options to have vpp cleanup client registration | | @c src/vpp/api/vpe.api || | ------- | ------- | | [f49ba0e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e) | stats: Deprecate old stats framework | | [413f4a5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=413f4a5) | API: Use string type instead of u8. | | @c src/plugins/acl/acl.api || | ------- | ------- | | [bb5d22d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb5d22d) | New api in order to get max entries of connection table is added. | | @c src/plugins/nsim/nsim.api || | ------- | ------- | | [10c5ff1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=10c5ff1) | nsim: add packet loss simulation, docs | | @c src/plugins/gbp/gbp.api || | ------- | ------- | | [1c17e2e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1c17e2e) | GBP: add allowed ethertypes to contracts | | [b6a4795](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b6a4795) | GBP: l3-out subnets | | [33b81da](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33b81da) | vom: Add support for redirect contracts in gbp | | [13a08cc](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=13a08cc) | GBP: redirect contracts | | [c29c0af](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c29c0af) | GBP: Endpoints with VLAN tags and birdges that don't learn | | [93cc3ee](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee) | GBP Endpoint Learning | | @c src/plugins/nat/nat.api || | ------- | ------- | | [b686508](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b686508) | NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514) | | @c src/plugins/map/map.api || | ------- | ------- | | [fc7344f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fc7344f) | MAP: Convert from DPO to input feature. | | [f34597f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f34597f) | MAP: Add API support for MAP input feature. | | [5a2e278](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5a2e278) | MAP: Add API support for setting parameters. | | [a173a7a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a173a7a) | MAP: Use bool type in map.api instead of u8. | | [ffba3c3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c3) | MAP: Use explicit address/prefix types in API | | @c src/plugins/igmp/igmp.api || | ------- | ------- | | [97748ca](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97748ca) | IGMP: proxy device | @page release_notes_1810 Release notes for VPP 18.10 More than 632 commits since the 18.07 release. ## Features ### Infrastructure - DPDK 18.08 integration - New Stats infrastructure (interface, error, node performance counters) - Add configurable "Doug Lea malloc" support ### VNET & Plugins - Load balancing: support per-port VIP and all-port VIP - Port NSH plugin to VPP - NAT - Configurable port range - Virtual Fragmentation Reassembly for endpoint-dependent mode - Client-IP based session affinity for load-balancing - TCP MSS clamping - Session timeout - Bug-fixing and performance optimizations ### Host stack - Support for applications with multiple workers - Support for binds from multiple app workers to same ip:port - Switched to a message queue for io and control event notifications - Support for eventfd based notifications as alternative to mutext-condvar pair - VCL refactor to support async event notifications and multiple workers - TLS async support in client for HW accleration - Performance optimizations and bug-fixing - A number of binary APIs will be deprecated in favor of using the event message queue. Details in the API section. ## Known issues For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io). ## Issues fixed For the full list of fixed issues please refer to: - fd.io [JIRA](https://jira.fd.io) - git [commit log](https://git.fd.io/vpp/log/?h=stable/1810) ## 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 api_versions_reply definition changed app_cut_through_registration_add definition changed app_worker_add_del definition changed application_attach_reply definition changed bd_ip_mac_details only in image bd_ip_mac_dump only in image bfd_udp_get_echo_source definition changed bier_imp_details definition changed bier_route_details definition changed bind_sock definition changed bridge_domain_details definition changed bridge_flags definition changed classify_add_del_session definition changed classify_add_del_table definition changed connect_sock definition changed create_vhost_user_if definition changed get_first_msg_id_reply definition changed gpe_add_del_fwd_entry_reply definition changed gpe_fwd_entry_path_details definition changed ip6_fib_details definition changed ip6nd_proxy_details definition changed ip_add_del_route_reply definition changed ip_address_details definition changed ip_details definition changed ip_fib_details definition changed ip_mfib_details definition changed ip_mroute_add_del_reply definition changed ip_neighbor_add_del_reply definition changed ip_neighbor_details definition changed ip_reassembly_get_reply definition changed ip_unnumbered_details definition changed ipip_6rd_add_tunnel definition changed ipip_add_tunnel definition changed ipsec_spds_details only in image ipsec_spds_dump only in image l2_interface_efp_filter definition changed lisp_eid_table_vni_details definition changed map_another_segment definition changed mfib_signal_details definition changed mpls_route_add_del_reply definition changed mpls_tunnel_add_del definition changed mpls_tunnel_add_del_reply definition changed mpls_tunnel_details definition changed mpls_tunnel_dump definition changed one_eid_table_vni_details definition changed qos_mark_enable_disable definition changed qos_record_enable_disable definition changed reset_session_reply definition changed rpc_call definition changed show_threads definition changed sockclnt_create_reply definition changed sockclnt_delete definition changed sockclnt_delete_reply definition changed sw_interface_rx_placement_details only in image sw_interface_rx_placement_dump only in image sw_interface_set_ip_directed_broadcast definition changed sw_interface_set_l2_bridge definition changed sw_interface_set_rx_placement definition changed sw_interface_set_vxlan_gbp_bypass definition changed udp_encap_add definition changed udp_encap_add_del_reply only in file udp_encap_add_reply only in image udp_encap_del definition changed udp_encap_details definition changed unbind_sock definition changed vxlan_gbp_tunnel_add_del definition changed vxlan_gbp_tunnel_details only in image vxlan_gbp_tunnel_dump only in image Found 68 api message signature differences ### Patches that changed API definitions | @c src/plugins/avf/avf.api || | ------- | ------- | | [149d0e28](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=149d0e28) | avf: RSS support | | [4e6014fc](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4e6014fc) | avf: api fix | | @c src/plugins/gbp/gbp.api || | ------- | ------- | | [c0a93143](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0a93143) | GBP Endpoint Updates | | [61b94c6b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b) | vxlan-gbp: Add support for vxlan gbp | | @c src/plugins/igmp/igmp.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | @c src/plugins/lb/lb.api || | ------- | ------- | | [6a4375e0](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a4375e0) | LB: fix flush flow table issue | | [49ca2601](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=49ca2601) | Add flush flag on del as command | | [219cc90c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=219cc90c) | Support lb on both vip and per-port-vip case | | @c src/plugins/nat/nat.api || | ------- | ------- | | [bb4e0225](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb4e0225) | NAT: TCP MSS clamping | | [5d28c7af](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d28c7af) | NAT: add support for configurable port range (VPP-1346) | | [ea5b5be4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ea5b5be4) | NAT44: client-IP based session affinity for load-balancing (VPP-1297) | | [878c646a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=878c646a) | NAT44: add support for session timeout (VPP-1272) | | [69ce30d6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=69ce30d6) | NAT: update nat_show_config_reply API (VPP-1403) | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | [c6c0d2a0](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c6c0d2a0) | NAT44: LB NAT - local backends in multiple VRFs (VPP-1345) | | @c src/plugins/vmxnet3/vmxnet3.api || | ------- | ------- | | [df7f8e8c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df7f8e8c) | vmxnet3 device driver | | @c src/plugins/nsh/nsh.api || | ------- | ------- | | [d313f9e6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d313f9e6) | Port NSH plugin to VPP | | @c src/plugins/nsim/nsim.api || | ------- | ------- | | [9e3252b5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9e3252b5) | Network delay simulator plugin | | @c src/plugins/svs/svs.api || | ------- | ------- | | [d1e68ab7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1e68ab7) | Source VRF Select | | @c src/vlibmemory/memclnt.api || | ------- | ------- | | [94495f2a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=94495f2a) | PAPI: Use UNIX domain sockets instead of shared memory | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | [75282457](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457) | Fix "Old Style VLA" build warnings | | @c src/vnet/interface.api || | ------- | ------- | | [f0b42f48](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0b42f48) | itf: dump interface rx-placement | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | [54f7c51f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=54f7c51f) | rx-placement: Add API call for interface rx-placement | | [1855b8e4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1855b8e4) | IP directed broadcast | | @c src/vnet/bfd/bfd.api || | ------- | ------- | | [2d3c7b9c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d3c7b9c) | BFD: add get echo source API (VPP-1367) | | @c src/vnet/bier/bier.api || | ------- | ------- | | [ef90ed08](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ef90ed08) | BIER API and load-balancing fixes | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | @c src/vnet/classify/classify.api || | ------- | ------- | | [34eb5d42](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34eb5d42) | classify_add_del_session API: Use more descriptive docstring (VPP-1385) | | [75282457](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75282457) | Fix "Old Style VLA" build warnings | | @c src/vnet/devices/pipe/pipe.api || | ------- | ------- | | [208c29aa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=208c29aa) | VOM: support for pipes | | @c src/vnet/devices/virtio/vhost_user.api || | ------- | ------- | | [ee2e58f6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee2e58f6) | vhost-user: Add disable feature support in api | | @c src/vnet/ethernet/ethernet_types.api || | ------- | ------- | | [de5b08fb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb) | Introduce a mac_address_t on the API and in VPP | | @c src/vnet/ip/ip_types.api || | ------- | ------- | | [d0df49f2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2) | Use IP address types on UDP encap API | | @c src/vnet/ip/ip.api || | ------- | ------- | | [412ecd32](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=412ecd32) | Improve ip_mroute_add_del documentation | | [14260393](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14260393) | Add adjacency counters to the stats segment | | [28c142e3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=28c142e3) | mroute routers in the stats segment | | [008dbe10](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10) | Route counters in the stats segment | | [de5b08fb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de5b08fb) | Introduce a mac_address_t on the API and in VPP | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | [b11f903a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a) | Fix context field position in API definition | | @c src/vnet/ipip/ipip.api || | ------- | ------- | | [61502115](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61502115) | IPIP and SIXRD tunnels create API needs table-IDs not fib-indexes | | @c src/vnet/ipsec/ipsec.api || | ------- | ------- | | [a9a0b2ce](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9a0b2ce) | IPsec: add API for SPDs dump (VPP-1363) | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | @c src/vnet/l2/l2.api || | ------- | ------- | | [0a4e0063](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0a4e0063) | Fix documentation about sw_interface_set_l2_bridge | | [b474380f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b474380f) | L2 BD: introduce a BD interface on which to send UU packets | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | [5c7c49d1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c7c49d1) | Fix documentation for SHG in bridge domain | | [5d82d2f1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d82d2f1) | l2: arp termination dump | | [6b9b41c8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6b9b41c8) | L2 EFP: byteswap sw_if_index, enable flag can be u8 on .api | | @c src/vnet/lisp-cp/lisp.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | @c src/vnet/lisp-cp/one.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | @c src/vnet/lisp-gpe/lisp_gpe.api || | ------- | ------- | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | [b11f903a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b11f903a) | Fix context field position in API definition | | @c src/vnet/mpls/mpls.api || | ------- | ------- | | [f5fa5ae2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5fa5ae2) | MPLS tunnel dump: use sw_if_index not tunnel_index | | [6a30b5f9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a30b5f9) | MPLS tunnel dump fix | | [008dbe10](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=008dbe10) | Route counters in the stats segment | | [7c922dc4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c922dc4) | SR-MPLS: fixes and tests | | @c src/vnet/qos/qos.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | [ed234e7f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed234e7f) | Enum type on the API for QoS sources | | @c src/vnet/session/session.api || | ------- | ------- | | [ab2f6dbf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab2f6dbf) | session: support multiple worker binds | | [134a996a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=134a996a) | vcl: add support for multi-worker apps | | [1553197f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1553197f) | session: add support for multiple app workers | | [6bd197eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bd197eb) | Remove client_index field from replies in API | | [99368315](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=99368315) | vcl: support for eventfd mq signaling | | @c src/vnet/span/span.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | @c src/vnet/udp/udp.api || | ------- | ------- | | [9c0a3c42](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c0a3c42) | UDP-Encap: name counters for the stats segment | | [d0df49f2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0df49f2) | Use IP address types on UDP encap API | | @c src/vnet/unix/tap.api || | ------- | ------- | | [bdc0e6b7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdc0e6b7) | Trivial: Clean up some typos. | | @c src/vnet/vxlan-gbp/vxlan_gbp.api || | ------- | ------- | | [79a05f54](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=79a05f54) | VXLAN-GBP: use common types on the API | | [61b94c6b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61b94c6b) | vxlan-gbp: Add support for vxlan gbp | | @c src/vpp/api/vpe.api || | ------- | ------- | | [5d64c786](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d64c786) | thread: Add show threads api | | [ec11b13a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a) | Trivial: Cleanup some typos. | | @c src/vpp/stats/stats.api || | ------- | ------- | | [ec11b13a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec11b13a) | Trivial: Cleanup some typos. | ### Notice of future API deprecation - bind_uri_reply - accept_session - accept_session_reply - disconnect_session_reply - reset_session - reset_session_reply - bind_sock_reply - connect_session_reply @page release_notes_1807 Release notes for VPP 18.07 More than 533 commits since the 18.04 release. ## Features ### Infrastructure - DPDK 18.02.1 - 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](https://jira.fd.io). ## Issues fixed For the full list of fixed issues please refer to: - fd.io [JIRA](https://jira.fd.io) - git [commit log](https://git.fd.io/vpp/log/?h=stable/1807) ## 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_localsi