X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=RELEASE.md;h=c2451a073148ff735bb6b6a1183b3454f1aa97b9;hb=0860b2e19365c092f10dd1ce639caaded0e87ded;hp=09f4faa94fc4e899903a8ebc2e4e6f115917e378;hpb=159fcf40740a6b698c98cbe00b7b8b3d4d50ad43;p=vpp.git diff --git a/RELEASE.md b/RELEASE.md index 09f4faa94fc..c2451a07314 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,6 +1,21 @@ # Release Notes {#release_notes} +* @subpage release_notes_2005 +* @subpage release_notes_2001 +* @subpage release_notes_19081 +* @subpage release_notes_1908 +* @subpage release_notes_19043 +* @subpage release_notes_19042 +* @subpage release_notes_19041 +* @subpage release_notes_1904 +* @subpage release_notes_19013 +* @subpage release_notes_19012 +* @subpage release_notes_19011 +* @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 @@ -11,6 +26,2204 @@ * @subpage release_notes_1609 * @subpage release_notes_1606 +@page release_notes_2005 Release notes for VPP 20.05 + +TBD + +@page release_notes_2001 Release notes for VPP 20.01 + +TBD + +@page release_notes_19081 Release notes for VPP 19.08.1 + +Exceptionally, this release has an API-changing fix introduced via +https://gerrit.fd.io/r/#/c/vpp/+/21762/ - documented in VPP-1767. +Given the exceptional nature of the change, also including the text here: + +Bug: https://gerrit.fd.io/r/c/vpp/+/21492 + +Variable length strings were committed to VPP in 413f4a5b. +The VPP server side of the API does not use a wire encoder/decoder. It maps a C struct directly onto on-the-wire API messages. +The client side C language binding is the same, while other language bindings have their own encoder/decoders. + +Multiple strings alone or combined with other variable length types turned out to be error prone to manually implement on the VPP side, +and not supported by VPP API (VAPI) very well at all. + +To avoid having to rewrite VAPI significantly, and to mitigate the risk +and error prone server side support of multiple variable length fields, +this patch extends strings to have a fixed size (on the wire) and +a variable flavour, as well as adding detection in the API compiler +to detect multiple variable length fields in a message (or type). + +Given that this change breaks the commitment to binary API compatibility, +normally present in point builds, ALL 19.08 build artifacts are being +deferred. + +This means the artifacts for the VPP 19.08.1 will be installed +in the release repository (packagecloud.io/fdio/release), then +ALL 19.08 build artifacts will be moved into the deferred repository +(packagecloud.io/fdio/deferred). The 19.08 artifacts will always be +available for archive purposes in the deferred repository. + +During the further testing by Networking-VPP team, they discovered +another issue documented in VPP-1769 - which requires a CRC-affecting +fix in https://gerrit.fd.io/r/#/c/vpp/+/22015/ - so the 19.08.1 +will contain the fixes for both issues. + +These two changes have resulted in the following 20 messages changing +their signatures: + +Message Name | Result +-------------------------------------------------------------|------------------ +cli_inband | definition changed +cli_inband_reply | definition changed +connect_sock | definition changed +http_static_enable | definition changed +log_details | definition changed +map_add_domain | definition changed +map_domain_details | definition changed +nat44_add_del_identity_mapping | definition changed +nat44_add_del_lb_static_mapping | definition changed +nat44_add_del_static_mapping | definition changed +nat44_identity_mapping_details | definition changed +nat44_lb_static_mapping_details | definition changed +nat44_static_mapping_details | definition changed +nat_worker_details | definition changed +punt_reason_details | definition changed +punt_reason_dump | definition changed +show_version_reply | definition changed +sw_interface_details | definition changed +sw_interface_dump | definition changed +sw_interface_tag_add_del | definition changed + +Please accept our apologies for the inconvenience this caused. + +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/1904) + +@page release_notes_1908 Release notes for VPP 19.08 + +More than 850 commits since the 19.04 release. + +## Features + +### Infrastructure +- API + - API language: new types and limits support + - Python API - add support for defaults + - Export ip_types.api for out-of-tree plugins use + - Refactor ipip.api with explicit types +- DPDK + - 19.05 integration + - Remove bonding code + - Rework extended stats +- Debugging & Servicability + - debug CLI leak-checker + - vlib: add "memory-trace stats-segment" + - vppapitrace JSON/API trace converter + - ARP: add arp-disabled node + - igmp: Trace more data from input packets + - ip: Trace the packet from the punt node + - Python API debug introspection improvements + - Pin dependencies for make test infra + - FEATURE.yaml meta-data infrastructure + - tcp: add cc stats plotting tools + - Packet tracer support for thread handoffs +- libmemif: support for multi-thread connection establishment +- svm + - fifo ooo reads/writes with multiple chunks + - support addition/removal of chunks to fifos +- vppinfra + - Mapped pcap file support + - More AVX2 and AVX512 inlines + - VLIB_INIT_FUNCTION sequencing rework + - refactor spinlocks and rwlocks + - add rbtree + - add doubly linked list +- rdma: bump rdma-core to v25.0 +- stats + - Add the number of worker threads and per worker thread vector rates + - Support multiple workers for error counters + +### VNET & Plugins +- New Plugins + - HTTP static page server with TLS support + - L3 cross connect +- acl: implement stat-segment counters +- arp: add feature arcs: arp-reply, arp-input, arp-proxy +- avf: improved logging and added 2.5/5 Gbps speeds +- bonding: NUMA-related improvements +- crypto: add support for AES-CTR cipher +- fib + - FIB Entry tracking + - Support the POP of a Pseudo Wire Control Word +- gbp + - Anonymous l3-out subnets support + - ARP unicast forward in gbp bridge domain + - An Endpoint can change sclass + - Consider data-plane learnt source better than control-plane + - VRF scoped contracts +- gso (experimental) + - Add support to pg interfaces + - Add support to vhost user + - Add support to native virtio + - Add support for tagged interfaces +- punt: allow to specify packets by IP protocol Type +- ip6-local: hop-by-hop protocol demux table +- ipsec + - intel-ipsec-mb version 0.52 + - AH encrypt rework + - handle UDP keepalives + - support GCM in ESP +- virtio + - Refactor control queue support +- dhcp-client: DSCP marking for transmitted packets +- Idle resource usage improvements + - Allocate bihash virtual space on demand + - gre: don't register gre input nodes unless a gre tunnel is created + - gtpu: don't register udp ports unless a tunnel is created + - lacp: create lacp-process on demand + - lisp-cp: start lisp retry service on demand + - start the cdp period and dns resolver process on demand + - vat: unload unused vat plugins +- nat: api cleanup & update +- nsim: make available as an output feature +- load-balance performance improvements +- l2: Add support for arp unicast forwarding +- mactime + - Mini-ACLs + - Per-MAC allow-with-quota feature +- qos + - QoS dump APIs + - Store function +- rdma: add support for promiscuous mode (l2-switching and xconnect) +- sr: update the Segment Routing definition to be compliant with current in IETF +- udp-ping: disable due to conflict with mldv2 +- vxlan-gpe: improve encap performance +- vom + - QoS support + - Bridge domain arp unicast forwarding flag + - Bridge domain unknown unicast flooding flag + +### Host stack +- session + - API to support manual svm fifo resizing + - Improved session output scheduler and close state machine + - Transport and session cleanup notifications for builtin apps + - Session migration notifications for builtin apps + - Support for no session layer lookup transports (quic and tls) + - Ability to retrieve local/remote endpoint in transport vft + - Cleanup segment manager and fifo segment + - Fix vpp to app msg generation on enqueue fail + - Improve event logging + - Moved test applications to hsa plugin +- tcp + - Congestion control algorithm enhancements + - Delivery rate estimator + - ACK/retransmission refactor and pacing + - Add tcp-input sibling nodes without full 6-tuple lookup + - More RFC4898 connection statistics + - Allow custom output next node + - Allow custom congestion control algorithms +- quic + - Multi-thread support + - Logs readability improvements + - Multistream support +- tls + - Fix close with data and listen failures + - Handle TCP transport rests + - Support endpoint retrieval interface +- vcl + - support quic streams and "connectable listeners" + - worker unregister api + - fix epoll with large events batch + - ldp: add option to eanble transparent TLS connections +- udp: + - support close with data + - fixed session migration +- sctp + - add option to enable/disable default to disable + - moved from vnet to plugins + +## 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/1908) + +## 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 | definition changed +abf_policy_add_del | definition changed +abf_policy_details | definition changed +acl_add_replace | definition changed +acl_details | definition changed +acl_stats_intf_counters_enable | only in image +acl_stats_intf_counters_enable_reply | only in image +api_versions_reply | definition changed +bd_ip_mac_add_del | definition changed +bd_ip_mac_details | definition changed +bier_disp_entry_add_del | definition changed +bier_disp_entry_details | definition changed +bier_imp_add | definition changed +bier_imp_details | definition changed +bier_route_add_del | definition changed +bier_route_details | definition changed +bier_route_dump | definition changed +bier_table_add_del | definition changed +bier_table_details | definition changed +bond_create | definition changed +bridge_domain_add_del | definition changed +bridge_domain_details | definition changed +bridge_flags | definition changed +connect_sock | definition changed +create_vhost_user_if | definition changed +ct6_enable | only in file +ct6_enable_disable | only in image +ct6_enable_disable_reply | only in image +ct6_enable_disable | only in file +dhcp6_pd_reply_event | definition changed +dhcp6_pd_send_client_message | definition changed +dhcp6_reply_event | definition changed +dhcp6_send_client_message | definition changed +dhcp_client_config | definition changed +dhcp_client_details | definition changed +dhcp_compl_event | definition changed +dhcp_proxy_details | definition changed +dslite_add_del_pool_addr_range | definition changed +dslite_address_details | definition changed +dslite_get_aftr_addr_reply | definition changed +dslite_get_b4_addr_reply | definition changed +dslite_set_aftr_addr | definition changed +dslite_set_b4_addr | definition changed +gbp_bridge_domain_add | definition changed +gbp_bridge_domain_details | definition changed +gbp_contract_add_del | definition changed +gbp_contract_details | definition changed +gbp_endpoint_add | definition changed +gbp_endpoint_details | definition changed +gbp_endpoint_group_add | definition changed +gbp_endpoint_group_details | definition changed +gbp_ext_itf_add_del | definition changed +gbp_ext_itf_details | definition changed +gbp_recirc_add_del | definition changed +gbp_recirc_details | definition changed +gbp_route_domain_add | definition changed +gbp_route_domain_details | definition changed +gbp_subnet_add_del | definition changed +gbp_subnet_details | definition changed +gbp_vxlan_tunnel_add | definition changed +gbp_vxlan_tunnel_details | definition changed +get_f64_endian_value | only in image +get_f64_endian_value_reply | only in image +get_f64_increment_by_one | only in image +get_f64_increment_by_one_reply | only in image +gpe_add_del_fwd_entry | definition changed +gpe_fwd_entries_get_reply | definition changed +gpe_fwd_entry_path_details | definition changed +gpe_native_fwd_rpaths_get_reply | definition changed +gre_add_del_tunnel | only in file +gre_add_del_tunnel_reply | only in file +gre_tunnel_add_del | only in image +gre_tunnel_add_del_reply | only in image +gre_tunnel_details | definition changed +gre_tunnel_dump | definition changed +http_static_enable | only in image +http_static_enable_reply | only in image +igmp_event | definition changed +igmp_group_prefix_details | definition changed +igmp_group_prefix_set | definition changed +igmp_listen | definition changed +ip6_fib_details | only in file +ip6_fib_dump | only in file +ip6_mfib_details | only in file +ip6_mfib_dump | only in file +ip6_ra_event | definition changed +ip_add_del_route | only in file +ip_add_del_route_reply | only in file +ip_address_details | definition changed +ip_container_proxy_add_del | definition changed +ip_container_proxy_details | definition changed +ip_fib_details | only in file +ip_fib_dump | only in file +ip_mfib_details | only in file +ip_mfib_dump | only in file +ip_mroute_add_del | definition changed +ip_mroute_details | only in image +ip_mroute_dump | only in image +ip_mtable_details | only in image +ip_mtable_dump | only in image +ip_neighbor_add_del | definition changed +ip_neighbor_details | definition changed +ip_probe_neighbor | definition changed +ip_punt_redirect | definition changed +ip_punt_redirect_details | definition changed +ip_reassembly_get_reply | definition changed +ip_reassembly_set | definition changed +ip_route_add_del | only in image +ip_route_add_del_reply | only in image +ip_route_details | only in image +ip_route_dump | only in image +ip_source_and_port_range_check_add_del | definition changed +ip_table_add_del | definition changed +ip_table_details | only in image +ip_table_dump | only in image +ipfix_flush | only in image +ipfix_flush_reply | only in image +ipip_6rd_add_tunnel | definition changed +ipip_add_tunnel | definition changed +ipip_tunnel_details | definition changed +ipsec_backend_details | definition changed +ipsec_gre_tunnel_add_del | only in file +ipsec_gre_tunnel_add_del_reply | only in file +ipsec_gre_tunnel_details | only in file +ipsec_gre_tunnel_dump | only in file +ipsec_sa_details | definition changed +ipsec_sa_set_key | only in file +ipsec_sa_set_key_reply | only in file +ipsec_sad_entry_add_del | definition changed +ipsec_select_backend | definition changed +ipsec_spd_details | definition changed +ipsec_spd_entry_add_del | definition changed +ipsec_tunnel_if_add_del | definition changed +ipsec_tunnel_if_set_key | only in file +ipsec_tunnel_if_set_key_reply | only in file +ipsec_tunnel_protect_del | only in image +ipsec_tunnel_protect_del_reply | only in image +ipsec_tunnel_protect_details | only in image +ipsec_tunnel_protect_dump | only in image +ipsec_tunnel_protect_update | only in image +ipsec_tunnel_protect_update_reply | only in image +l2_macs_event | definition changed +l3xc_del | only in image +l3xc_del_reply | only in image +l3xc_details | only in image +l3xc_dump | only in image +l3xc_plugin_get_version | only in image +l3xc_plugin_get_version_reply | only in image +l3xc_update | only in image +l3xc_update_reply | only in image +lb_add_del_as | definition changed +lb_add_del_vip | definition changed +lb_as_details | only in image +lb_as_dump | only in image +lb_flush_vip | definition changed +lb_vip_details | only in image +lb_vip_dump | only in image +lisp_add_del_locator_set | definition changed +lisp_add_del_remote_mapping | definition changed +lisp_adjacencies_get_reply | definition changed +log_details | only in image +log_dump | only in image +macip_acl_add | definition changed +macip_acl_add_replace | definition changed +macip_acl_details | definition changed +mactime_add_del_range | definition changed +map_add_domain | definition changed +map_domain_details | definition changed +mfib_signal_details | definition changed +modify_vhost_user_if | definition changed +mpls_fib_details | only in file +mpls_fib_dump | only in file +mpls_ip_bind_unbind | definition changed +mpls_route_add_del | definition changed +mpls_route_details | only in image +mpls_route_dump | only in image +mpls_table_add_del | definition changed +mpls_table_details | only in image +mpls_table_dump | only in image +mpls_tunnel_add_del | definition changed +mpls_tunnel_details | definition changed +nat44_add_del_address_range | definition changed +nat44_add_del_identity_mapping | 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 | definition changed +nat44_del_session | definition changed +nat44_forwarding_enable_disable | definition changed +nat44_forwarding_is_enabled_reply | definition changed +nat44_identity_mapping_details | definition changed +nat44_interface_add_del_feature | definition changed +nat44_interface_add_del_output_feature | definition changed +nat44_interface_addr_details | definition changed +nat44_interface_details | definition changed +nat44_interface_output_feature_details | definition changed +nat44_lb_static_mapping_add_del_local | definition changed +nat44_lb_static_mapping_details | definition changed +nat44_static_mapping_details | definition changed +nat44_user_details | definition changed +nat44_user_session_details | definition changed +nat44_user_session_dump | definition changed +nat64_add_del_interface_addr | definition changed +nat64_add_del_interface | definition changed +nat64_add_del_pool_addr_range | definition changed +nat64_add_del_prefix | definition changed +nat64_add_del_static_bib | definition changed +nat64_bib_details | definition changed +nat64_interface_details | definition changed +nat64_pool_addr_details | definition changed +nat64_prefix_details | definition changed +nat64_st_details | definition changed +nat66_add_del_interface | definition changed +nat66_add_del_static_mapping | definition changed +nat66_interface_details | definition changed +nat66_static_mapping_details | 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_forward_reply | definition changed +nat_det_map_details | definition changed +nat_det_reverse | definition changed +nat_det_reverse_reply | definition changed +nat_det_session_details | definition changed +nat_det_session_dump | definition changed +nat_get_mss_clamping_reply | definition changed +nat_ipfix_enable_disable | definition changed +nat_reass_details | definition changed +nat_set_log_level | only in image +nat_set_log_level_reply | only in image +nat_set_mss_clamping | definition changed +nat_set_reass | definition changed +nat_show_config_reply | definition changed +nat_worker_details | definition changed +nsim_cross_connect_enable_disable | only in image +nsim_cross_connect_enable_disable_reply | only in image +nsim_enable_disable | only in file +nsim_enable_disable_reply | only in file +nsim_output_feature_enable_disable | only in image +nsim_output_feature_enable_disable_reply | only in image +oam_add_del | only in file +oam_add_del_reply | only in file +oam_event | only in file +one_add_del_locator_set | definition changed +one_add_del_remote_mapping | definition changed +one_adjacencies_get_reply | definition changed +one_l2_arp_entries_get_reply | definition changed +one_ndp_entries_get_reply | definition changed +p2p_ethernet_add | definition changed +p2p_ethernet_add_reply | definition changed +p2p_ethernet_del | definition changed +pg_create_interface | definition changed +proxy_arp_add_del | definition changed +proxy_arp_details | definition changed +punt_details | only in file +punt_dump | only in file +punt_reason_details | only in image +punt_reason_dump | only in image +punt_socket_deregister | definition changed +punt_socket_details | definition changed +punt_socket_dump | definition changed +punt_socket_register | definition changed +qos_egress_map_delete | definition changed +qos_egress_map_details | only in image +qos_egress_map_dump | only in image +qos_egress_map_update | definition changed +qos_mark_details | only in image +qos_mark_details_reply | only in image +qos_mark_dump | only in image +qos_mark_enable_disable | definition changed +qos_record_details | only in image +qos_record_dump | only in image +qos_record_enable_disable | definition changed +qos_store_details | only in image +qos_store_dump | only in image +qos_store_enable_disable | only in image +qos_store_enable_disable_reply | only in image +sctp_add_src_dst_connection | only in file +sctp_add_src_dst_connection_reply | only in file +sctp_config | only in file +sctp_config_reply | only in file +sctp_del_src_dst_connection | only in file +sctp_del_src_dst_connection_reply | only in file +set_punt | definition changed +show_threads_reply | definition changed +show_vpe_system_time | only in image +show_vpe_system_time_reply | only in image +sockclnt_create_reply | definition changed +sr_localsid_add_del | definition changed +sr_localsids_details | definition changed +sr_policies_details | definition changed +sr_policy_add | definition changed +sr_policy_del | definition changed +sr_policy_mod | definition changed +sr_steering_pol_details | definition changed +svs_details | definition changed +svs_enable_disable | definition changed +svs_route_add_del | definition changed +svs_table_add_del | definition changed +sw_interface_bond_details | definition changed +sw_interface_dump | definition changed +sw_interface_ip6_set_link_local_address | only in image +sw_interface_ip6_set_link_local_address_reply | only in image +sw_interface_ip6nd_ra_prefix | definition changed +sw_interface_set_l2_bridge | definition changed +sw_interface_tap_v2_details | definition changed +syslog_get_filter_reply | definition changed +syslog_set_filter | definition changed +tap_create_v2 | definition changed +udp_encap_add | definition changed +udp_encap_details | definition changed +virtio_pci_create | definition changed +vmxnet3_details | definition changed +vxlan_gbp_tunnel_add_del | definition changed +vxlan_gbp_tunnel_details | definition changed +want_oam_events | only in file +want_oam_events_reply | only in file + +Found 319 api message signature differences + +### Patches that changed API definitions + +| @c src/vpp/api/vpe_types.api || +| ------- | ------- | +| [b'a47a5f20a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a47a5f20a') | api papi: add alias for timestamp(datetime)/timedelta | +| [b'3cf9e67f5'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3cf9e67f5') | api: add vl_api_version_t type | + +| @c src/vpp/api/vpe.api || +| ------- | ------- | +| [b'a47a5f20a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a47a5f20a') | api papi: add alias for timestamp(datetime)/timedelta | +| [b'888640a39'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'888640a39') | map gbp papi: match endianess of f64 | +| [b'03f1af23b'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'03f1af23b') | api: Implement log_dump/log_details | +| [b'c87b66c86'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c87b66c86') | ipsec: ipsec-tun protect | +| [b'9ac113815'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'9ac113815') | API: Add support for limits to language. | + +| @c src/examples/sample-plugin/sample/sample.api || +| ------- | ------- | +| [b'78d91cf9a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'78d91cf9a') | sample-plugin: refactor .api to use explicit types | + +| @c src/vnet/interface.api || +| ------- | ------- | +| [b'0ad4a439d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'0ad4a439d') | Fix vpp crash bug while deleting dhcp client | +| [b'9a29f795a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'9a29f795a') | vpp_papi_provider.py: update defautmapping. | +| [b'b8591ac91'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b8591ac91') | API sw_interface_dump: Dump all if index is zero | +| [b'4a7240636'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4a7240636') | Make sw_interface_dump more compatible with 2.2.0 | +| [b'6407ba56a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'6407ba56a') | api: Add to interface crud - read by sw_if_index. | + +| @c src/vnet/qos/qos.api || +| ------- | ------- | +| [b'83832e7ce'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'83832e7ce') | qos: Store function | +| [b'5281a9029'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5281a9029') | qos: QoS dump APIs | + +| @c src/vnet/bier/bier.api || +| ------- | ------- | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | +| [b'e6eefb6e3'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'e6eefb6e3') | Trivial Typo's in bier comments/docs. | + +| @c src/vnet/ipfix-export/ipfix_export.api || +| ------- | ------- | +| [b'21b83e96d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'21b83e96d') | api: implement ipfix_flush | + +| @c src/vnet/session/session.api || +| ------- | ------- | +| [b'8ac1d6d05'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'8ac1d6d05') | session: Use parent_handle instead of transport_opts | +| [b'ba65ca496'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'ba65ca496') | Add transport_opts to connect_sock bapi | + +| @c src/vnet/gre/gre.api || +| ------- | ------- | +| [b'814f15948'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'814f15948') | gre: update gre.api with explicit types | +| [b'd0aed2eb3'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'd0aed2eb3') | GRE: set gre_tunnel_type init value to zero in API | +| [b'5a8844bdb'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5a8844bdb') | GRE: API update | + +| @c src/vnet/pg/pg.api || +| ------- | ------- | +| [b'22e9cfd76'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'22e9cfd76') | pg: add GSO support | + +| @c src/vnet/l2/l2.api || +| ------- | ------- | +| [b'bc764c8bc'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bc764c8bc') | l2: BD ARP termination entry API update | +| [b'54bc5e40c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'54bc5e40c') | Update API description | +| [b'5e6f7348c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'5e6f7348c') | l2: Add support for arp unicast forwarding | + +| @c src/vnet/udp/udp.api || +| ------- | ------- | +| [b'10dc2eabd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'10dc2eabd') | udp: fix copyright typo | + +| @c src/vnet/devices/tap/tapv2.api || +| ------- | ------- | +| [b'97d54ed43'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'97d54ed43') | tap: add support to configure tap interface host MTU size | + +| @c src/vnet/devices/virtio/vhost_user.api || +| ------- | ------- | +| [b'4208a4ce8'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4208a4ce8') | devices interface tests: vhosst GSO support | + +| @c src/vnet/devices/virtio/virtio.api || +| ------- | ------- | +| [b'bbd6b746e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bbd6b746e') | virtio: Add gso support for native virtio driver | +| [b'43b512cac'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'43b512cac') | virtio: remove configurable queue size support | + +| @c src/vnet/mfib/mfib_types.api || +| ------- | ------- | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | + +| @c src/vnet/ipsec/ipsec.api || +| ------- | ------- | +| [b'c87b66c86'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c87b66c86') | ipsec: ipsec-tun protect | +| [b'f2922422d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'f2922422d') | ipsec: remove the set_key API | +| [b'80f6fd53f'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'80f6fd53f') | IPSEC: Pass the algorithm salt (used in GCM) over the API | + +| @c src/vnet/ethernet/p2p_ethernet.api || +| ------- | ------- | +| [b'8edca1361'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'8edca1361') | p2p ethernet: update p2p_ethernet.api with explicit types. | + +| @c src/vnet/bonding/bond.api || +| ------- | ------- | +| [b'751e3f382'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'751e3f382') | bonding: add support for numa-only in lacp mode | + +| @c src/vnet/mpls/mpls.api || +| ------- | ------- | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | + +| @c src/vnet/ipip/ipip.api || +| ------- | ------- | +| [b'288e09362'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'288e09362') | ipip: refactor ipip.api with explicit types | +| [b'cbd0824d6'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'cbd0824d6') | IPIP tunnel: use address types on API | + +| @c src/vnet/fib/fib_types.api || +| ------- | ------- | +| [b'1dbcf30b7'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'1dbcf30b7') | fib: Support the POP of a Psuedo Wire Control Word | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | + +| @c src/vnet/dhcp/dhcp.api || +| ------- | ------- | +| [b'038e1dfbd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'038e1dfbd') | dhcp ip: DSCP settings for transmitted DHCP packets | +| [b'56bc738dc'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'56bc738dc') | Fix VPP-1487 DHCP client does not support option 6-domain server | + +| @c src/vnet/ip/punt.api || +| ------- | ------- | +| [b'719beb709'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'719beb709') | ip ipsec: Remove IPSec SPI-0 punt reason | +| [b'b538dd868'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b538dd868') | Punt: specify packets by IP protocol Type | +| [b'50f0ac0f0'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'50f0ac0f0') | Punt: socket register for exception dispatched/punted packets based on reason | + +| @c src/vnet/ip/ip.api || +| ------- | ------- | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | +| [b'3a343d42d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3a343d42d') | reassembly: prevent long chain attack | + +| @c src/vnet/ip/ip_types.api || +| ------- | ------- | +| [b'515eed425'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'515eed425') | api: add prefix matcher typedef | +| [b'038e1dfbd'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'038e1dfbd') | dhcp ip: DSCP settings for transmitted DHCP packets | +| [b'53c501512'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'53c501512') | api: add DSCP definitions to ip_types.api | +| [b'ab05508e1'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'ab05508e1') | api: refactor format_vl_api_prefix_t return keys | +| [b'b538dd868'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'b538dd868') | Punt: specify packets by IP protocol Type | +| [b'50f0ac0f0'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'50f0ac0f0') | Punt: socket register for exception dispatched/punted packets based on reason | + +| @c src/plugins/l3xc/l3xc.api || +| ------- | ------- | +| [b'59fa121f8'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'59fa121f8') | L3 cross connect | + +| @c src/plugins/map/map.api || +| ------- | ------- | +| [b'4d376f67a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4d376f67a') | map: Use vl_api_string macros. | + +| @c src/plugins/http_static/http_static.api || +| ------- | ------- | +| [b'68b24e2c9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'68b24e2c9') | plugins: http_static. Migrate to use api string type. | +| [b'22bc2c46e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'22bc2c46e') | Static http server | + +| @c src/plugins/igmp/igmp.api || +| ------- | ------- | +| [b'4ff09ae34'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'4ff09ae34') | API: Python and Unix domain socket improvement | + +| @c src/plugins/sctp/sctp.api || +| ------- | ------- | +| [b'3ffe6cadf'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3ffe6cadf') | sctp: move to plugins, disabled by default | + +| @c src/plugins/lb/lb.api || +| ------- | ------- | +| [b'3efcd0d7c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3efcd0d7c') | lb: vip and as dump/detail api's | +| [b'a0cb32cb9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'a0cb32cb9') | lb: update api.c to use scaffolding from latest skel | + +| @c src/plugins/lb/lb_types.api || +| ------- | ------- | +| [b'3efcd0d7c'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3efcd0d7c') | lb: vip and as dump/detail api's | + +| @c src/plugins/mactime/mactime.api || +| ------- | ------- | +| [b'7681b1c46'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'7681b1c46') | mactime: add per-mac allow-with-quota feature | +| [b'0c6ac791d'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'0c6ac791d') | mactime: upstream new features | + +| @c src/plugins/gbp/gbp.api || +| ------- | ------- | +| [b'3918bdbcb'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3918bdbcb') | gbp: update gbp-ext-itf API | +| [b'3c0d84c98'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'3c0d84c98') | gbp: add anonymous l3-out subnets | +| [b'cfc7a107e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'cfc7a107e') | gbp: add anonymous l3-out external interfaces | +| [b'160c923f9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'160c923f9') | gbp: VRF scoped contracts | + +| @c src/plugins/acl/acl_types.api || +| ------- | ------- | +| [b'bb2e5221a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bb2e5221a') | api acl: breakout acl_types.api for reuse by others | + +| @c src/plugins/acl/acl.api || +| ------- | ------- | +| [b'bb2e5221a'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bb2e5221a') | api acl: breakout acl_types.api for reuse by others | +| [b'f995c7122'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'f995c7122') | acl: implement counters | + +| @c src/plugins/nat/nat.api || +| ------- | ------- | +| [b'e6e09a4ac'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'e6e09a4ac') | nat: elog rewrite for multi-worker support | +| [b'c1f93067e'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'c1f93067e') | Add default value for API Nat flags | +| [b'dd1e3e780'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'dd1e3e780') | NAT: VPP-1531 api cleanup & update | +| [b'89fec713f'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'89fec713f') | Revert "NAT: VPP-1531 api cleanup & update" | +| [b'bed1421b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'bed1421b9') | NAT: VPP-1531 api cleanup & update | + +| @c src/plugins/abf/abf.api || +| ------- | ------- | +| [b'097fa66b9'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'097fa66b9') | fib: fib api updates | + +| @c src/plugins/nsim/nsim.api || +| ------- | ------- | +| [b'7c91007e1'](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b'7c91007e1') | Make the loss / delay sim available as an output feature | + + +@page release_notes_19043 Release notes for VPP 19.04.3 + +This is bug fix release. + +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/1904) + +@page release_notes_19042 Release notes for VPP 19.04.2 + +This is bug fix release. + +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/1904) + +@page release_notes_19041 Release notes for VPP 19.04.1 + +This is bug fix release. + +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/1904) + +@page release_notes_1904 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](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/1904) + +## 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 + +| @c src/vlibmemory/memclnt.api || +| ------- | ------- | +| [eaec2a6d9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eaec2a6d9) | bapi: add options to have vpp cleanup client registration | + +| @c src/vpp/api/vpe.api || +| ------- | ------- | +| [1aaf0e343](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1aaf0e343) | deprecate tapcli | +| [f49ba0e81](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e81) | stats: Deprecate old stats framework | +| [413f4a5b2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=413f4a5b2) | API: Use string type instead of u8. | + +| @c src/vnet/interface.api || +| ------- | ------- | +| [3b0d7e42f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3b0d7e42f) | Revert "API: Cleanup APIs interface.api" | +| [e63325e3c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e63325e3c) | API: Cleanup APIs interface.api | +| [bb2c7b580](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb2c7b580) | Update documentation for src/vnet/interface.api sw_interface_dump | +| [f49ba0e81](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49ba0e81) | stats: Deprecate old stats framework | +| [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | +| [5100aa9cb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5100aa9cb) | vnet: store hw interface speed in kbps instead of using flags | + +| @c src/vnet/interface_types.api || +| ------- | ------- | +| [3b0d7e42f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3b0d7e42f) | Revert "API: Cleanup APIs interface.api" | +| [e63325e3c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e63325e3c) | API: Cleanup APIs interface.api | +| [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | + +| @c src/vnet/bonding/bond.api || +| ------- | ------- | +| [ad9d52831](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad9d52831) | bonding: support custom interface IDs | + +| @c src/vnet/ipip/ipip.api || +| ------- | ------- | +| [53fffa1db](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53fffa1db) | API: Add support for type aliases | + +| @c src/vnet/ipsec-gre/ipsec_gre.api || +| ------- | ------- | +| [e524d45ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e524d45ef) | IPSEC-GRE: fixes and API update to common types. | + +| @c src/vnet/syslog/syslog.api || +| ------- | ------- | +| [b4515b4be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4515b4be) | Add RFC5424 syslog protocol support (VPP-1139) | + +| @c src/vnet/devices/tap/tapv2.api || +| ------- | ------- | +| [754f24b35](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=754f24b35) | tapv2: add "tap_flags" field to the TAPv2 interface API | + +| @c src/vnet/devices/virtio/virtio.api || +| ------- | ------- | +| [d6c15af33](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d6c15af33) | virtio: Native virtio driver | + +| @c src/vnet/fib/fib_types.api || +| ------- | ------- | +| [775f73c6b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=775f73c6b) | FIB: encode the label stack in the FIB path during table dump | + +| @c src/vnet/ip/ip_types.api || +| ------- | ------- | +| [8c8acc027](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8c8acc027) | API: Change ip4_address and ip6_address to use type alias. | +| [ffba3c377](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c377) | MAP: Use explicit address/prefix types in API | + +| @c src/vnet/ip/ip.api || +| ------- | ------- | +| [48ae19e90](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=48ae19e90) | API: Add python2.7 support for enum flags via aenum | +| [37029305c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=37029305c) | Use IP and MAC API types for neighbors | +| [7c03ed47d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c03ed47d) | VOM: mroutes | +| [3460b014a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3460b014a) | api: ip_source_check_interface_add_del api is added. | +| [609e1210c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=609e1210c) | VPP-1507: Added binary api to dump configured ip_punt_redirect | +| [2af0e3a74](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2af0e3a74) | flow-hash: Add symmetric flag for flow hashing | +| [47527b24a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47527b24a) | IP-punt: add documentation to the API and fix IP address init | +| [5bb1ecae8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5bb1ecae8) | IPv6: Make link-local configurable per-interface (VPP-1446) | +| [75b9f45a1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=75b9f45a1) | ip: add container proxy dump API (VPP-1364) | + +| @c src/vnet/ip/punt.api || +| ------- | ------- | +| [e88865d7b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e88865d7b) | VPP-1506: dump local punts and registered punt sockets | + +| @c src/vnet/vxlan-gbp/vxlan_gbp.api || +| ------- | ------- | +| [4dd4cf4f9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4dd4cf4f9) | GBP: fixes for l3-out routing | +| [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | + +| @c src/vnet/ethernet/ethernet_types.api || +| ------- | ------- | +| [8006c6aa4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6aa4) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | + +| @c src/vnet/ipsec/ipsec.api || +| ------- | ------- | +| [1e3aa5e21](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1e3aa5e21) | ipsec: USE_EXTENDED_SEQ_NUM -> USE_ESN | +| [1ba5bc8d8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1ba5bc8d8) | ipsec: add ipv6 support for ipsec tunnel interface | +| [5d704aea5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d704aea5) | updates now that flags are supported on the API | +| [53f526b68](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53f526b68) | TEST: IPSEC NAT-T with UDP header | +| [7c44d78ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c44d78ef) | IKEv2 to plugin | +| [eba31eceb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=eba31eceb) | IPSEC: move SA counters into the stats segment | +| [8d7c50200](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8d7c50200) | IPSEC: no second lookup after tunnel encap | +| [a09c1ff5b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a09c1ff5b) | IPSEC: SPD counters in the stats sgement | +| [17dcec0b9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=17dcec0b9) | IPSEC: API modernisation | +| [4c422f9a3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c422f9a3) | Add IPSec interface FIB index for TX packet | +| [b4a7a7dcf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4a7a7dcf) | Add UDP encap flag | +| [b4d305344](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b4d305344) | ipsec: infra for selecting backends | +| [871bca9aa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=871bca9aa) | VPP-1450: binary api call for dumping SPD to interface registration | + +| @c src/vnet/tcp/tcp.api || +| ------- | ------- | +| [c5df8c71c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c5df8c71c) | host stack: update stale copyright | + +| @c src/vnet/l2/l2.api || +| ------- | ------- | +| [192b13f96](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=192b13f96) | BVI Interface | +| [5daf0c55c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5daf0c55c) | add default NONE flag for bd_flags | +| [e26c81fc8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e26c81fc8) | L2 BD API to flush all IP-MAC entries in the specified BD | +| [8006c6aa4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8006c6aa4) | PAPI: Add MACAddress object wrapper for vl_api_mac_address_t | +| [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | +| [4d5b917b1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d5b917b1) | BD ARP entry use common API types | + +| @c src/vnet/session/session.api || +| ------- | ------- | +| [6442401c2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6442401c2) | session: remove deprecated binary apis | +| [d85de68ec](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d85de68ec) | vcl: wait for segments with segment handle | +| [fa76a76bf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa76a76bf) | session: segment handle in accept/connect notifications | +| [c1f5a4336](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c1f5a4336) | session: cleanup use of api_client_index | +| [c0d532d17](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0d532d17) | session: mark apis for deprecation | + +| @c src/vnet/udp/udp.api || +| ------- | ------- | +| [c5df8c71c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c5df8c71c) | host stack: update stale copyright | + +| @c src/plugins/cdp/cdp.api || +| ------- | ------- | +| [76ef6094c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=76ef6094c) | tests: cdp plugin. Replace cdp enable cli command with API call. | + +| @c src/plugins/nat/nat.api || +| ------- | ------- | +| [8feeaff56](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8feeaff56) | Typos. A bunch of typos I've been collecting. | +| [34931eb47](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34931eb47) | NAT44: active-passive HA (VPP-1571) | +| [b686508c4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b686508c4) | NAT44: nat44_add_del_lb_static_mapping enhancements (VPP-1514) | + +| @c src/plugins/map/map.api || +| ------- | ------- | +| [4dc5c7b90](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4dc5c7b90) | MAP: Add optional user-supplied 'tag' field in MAPs. | +| [fc7344f9b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fc7344f9b) | MAP: Convert from DPO to input feature. | +| [f34597fc8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f34597fc8) | MAP: Add API support for MAP input feature. | +| [5a2e278a0](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5a2e278a0) | MAP: Add API support for setting parameters. | +| [a173a7a07](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a173a7a07) | MAP: Use bool type in map.api instead of u8. | +| [ffba3c377](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffba3c377) | MAP: Use explicit address/prefix types in API | + +| @c src/plugins/gbp/gbp.api || +| ------- | ------- | +| [1aa35576e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1aa35576e) | GBP: Counters per-contract | +| [8ea109e40](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8ea109e40) | gbp: Add bd flags | +| [7bd343509](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7bd343509) | GBP: custom-dump functions | +| [fa0ac2c56](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa0ac2c56) | GBP: contracts API fixed length of allowed ethertypes | +| [5d704aea5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5d704aea5) | updates now that flags are supported on the API | +| [4ba67723d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ba67723d) | GBP: use sclass in the DP for policy | +| [8da9fc659](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8da9fc659) | GBP: learn from ARP and L2 packets | +| [32f6d8e0c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=32f6d8e0c) | GBP: per-group EP retention policy | +| [879d11c25](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=879d11c25) | GBP: Sclass to src-epg conversions | +| [1c17e2eca](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1c17e2eca) | GBP: add allowed ethertypes to contracts | +| [b6a479539](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b6a479539) | GBP: l3-out subnets | +| [33b81da54](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33b81da54) | vom: Add support for redirect contracts in gbp | +| [13a08cc09](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=13a08cc09) | GBP: redirect contracts | +| [c29c0af40](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c29c0af40) | GBP: Endpoints with VLAN tags and birdges that don't learn | +| [93cc3ee3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93cc3ee3b) | GBP Endpoint Learning | + +| @c src/plugins/acl/acl.api || +| ------- | ------- | +| [bb5d22daf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb5d22daf) | New api in order to get max entries of connection table is added. | + +| @c src/plugins/vmxnet3/vmxnet3.api || +| ------- | ------- | +| [ee8ba6877](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee8ba6877) | vmxnet3: auto bind support | +| [854559d15](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=854559d15) | vmxnet3: RSS support | +| [773291163](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=773291163) | vmxnet3: multiple TX queues support | + +| @c src/plugins/nsim/nsim.api || +| ------- | ------- | +| [10c5ff143](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=10c5ff143) | nsim: add packet loss simulation, docs | + +| @c src/plugins/igmp/igmp.api || +| ------- | ------- | +| [97748cae2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97748cae2) | IGMP: proxy device | + +| @c src/plugins/lb/lb.api || +| ------- | ------- | +| [f7f13347b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f7f13347b) | tests: update test_lb.py to use api call lb_conf. | + +| @c src/plugins/ct6/ct6.api || +| ------- | ------- | +| [a55df1081](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a55df1081) | ipv6 connection tracking plugin | + +| @c src/plugins/ikev2/ikev2.api || +| ------- | ------- | +| [7c44d78ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7c44d78ef) | IKEv2 to plugin | + + +@page release_notes_19013 Release notes for VPP 19.01.3 + +This is bug fix release. + +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/1901) + +@page release_notes_19012 Release notes for VPP 19.01.2 + +This is bug fix release. + +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/1901) + +@page release_notes_19011 Release notes for VPP 19.01.1 + +This is bug fix release. + +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/1901) + +@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_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 + +| @c src/plugins/ioam/lib-pot/pot.api || +| ------- | ------- | +| [e9fcf23](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e9fcf23) | Fix some build warnings about "Old Style VLA" | + +| @c src/plugins/gbp/gbp.api || +| ------- | ------- | +| [25b0494](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=25b0494) | GBP V2 | + +| @c src/plugins/map/map.api || +| ------- | ------- | +| [381e9a9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=381e9a9) | MAP: Move MAP-E/T to a plugin. | + +| @c src/plugins/igmp/igmp.api || +| ------- | ------- | +| [947ea62](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=947ea62) | IGMP improvements | + +| @c src/plugins/lb/lb.api || +| ------- | ------- | +| [d92a0b5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d92a0b5) | Rework kube-proxy into LB plugin | + +| @c src/plugins/nat/nat.api || +| ------- | ------- | +| [70a26ac](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=70a26ac) | NAT44: nat44_del_session and nat44_user_session_details API update (VPP-1271) | +| [ebdf190](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ebdf190) | NAT44: TCP connection close detection (VPP-1266) | +| [1e5c07d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1e5c07d) | Add special Twice-NAT feature (VPP-1221) | +| [16aa7f8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=16aa7f8) | DSLite: Implement new API call DSLITE_ADDRESS_DUMP. | + +| @c src/plugins/avf/avf.api || +| ------- | ------- | +| [258a189](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=258a189) | avf: api fix | +| [6c9b964](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6c9b964) | avf: binary API and configurable RX/TX queue size | + +| @c src/plugins/mactime/mactime.api || +| ------- | ------- | +| [7055e26](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7055e26) | Driver level time-based src mac filter | + +| @c src/plugins/abf/abf.api || +| ------- | ------- | +| [669d07d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=669d07d) | ACL based forwarding | + +| @c src/vlibmemory/memclnt.api || +| ------- | ------- | +| [dab732a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dab732a) | VPP-1335 vapi crash when memclnt_keepalive received | +| [7895872](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7895872) | Remove the historical memfd api segment bootstrap | + +| @c src/vpp/stats/stats.api || +| ------- | ------- | +| [a21a367](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a21a367) | VPP-1324 SIGSEGV vl_msg_api_handler_with_vm_node() | +| [586479a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=586479a) | BIER neighbor stats | +| [e906aac](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e906aac) | STATS: Separate socket for fd exchange. | +| [048a4e5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=048a4e5) | export counters in a memfd segment | + +| @c src/vnet/interface.api || +| ------- | ------- | +| [d723161](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d723161) | MTU: Software interface / Per-protocol MTU support | +| [fe7d4a2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe7d4a2) | Revert "MTU: Setting of MTU on software interface (instead of hardware interface)" | +| [70083ee](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=70083ee) | MTU: Setting of MTU on software interface (instead of hardware interface) | + +| @c src/vnet/ipfix-export/ipfix_export.api || +| ------- | ------- | +| [a9855ef](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9855ef) | Flow: Rename IPFIX exporter. | + +| @c src/vnet/dhcp/dhcp6_pd_client_cp.api || +| ------- | ------- | +| [81119e8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=81119e8) | Implement DHCPv6 PD client (VPP-718, VPP-1050) | + +| @c src/vnet/dhcp/dhcp.api || +| ------- | ------- | +| [dd3b8f7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dd3b8f7) | Implement DHCPv6 IA NA client (VPP-1094) | +| [d9778c2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d9778c2) | Update DHCPv6 DUID code and fix coverity warnings | +| [81119e8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=81119e8) | Implement DHCPv6 PD client (VPP-718, VPP-1050) | +| [daff178](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=daff178) | DHCP Client Dump | + +| @c src/vnet/dhcp/dhcp6_ia_na_client_cp.api || +| ------- | ------- | +| [dd3b8f7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dd3b8f7) | Implement DHCPv6 IA NA client (VPP-1094) | + +| @c src/vnet/ip/ip.api || +| ------- | ------- | +| [947ea62](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=947ea62) | IGMP improvements | +| [7eaaf74](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7eaaf74) | proxy_arp: remove unused is_add | +| [0053de6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0053de6) | ARP proxy dumps | +| [9e2f915](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9e2f915) | IP unnumbered dump | +| [7f358b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7f358b3) | Periodic scan and probe of IP neighbors to maintain neighbor pools | +| [e821ab1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e821ab1) | IP mcast: allow unicast address as a next-hop | +| [c7b4304](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7b4304) | Implement ip_probe_neighbor API | + +| @c src/vnet/ip/ip_types.api || +| ------- | ------- | +| [947ea62](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=947ea62) | IGMP improvements | +| [2c2feab](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2c2feab) | VPPAPIGEN: Add union and enum support and IP4/IP6 address type. | + +| @c src/vnet/devices/af_packet/af_packet.api || +| ------- | ------- | +| [04e0bb2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=04e0bb2) | af_packet: Add support for dump interfaces | + +| @c src/vnet/devices/tap/tapv2.api || +| ------- | ------- | +| [d600ffe](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d600ffe) | Update tapv2 documentation | +| [0b06111](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0b06111) | VPP-1305: Add support for tags | + +| @c src/vnet/devices/pipe/pipe.api || +| ------- | ------- | +| [ee8b973](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ee8b973) | VOM: support for pipes | +| [17ff3c1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=17ff3c1) | Pipes | + +| @c src/vnet/ipip/ipip.api || +| ------- | ------- | +| [d57f636](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d57f636) | VPP-1277: IPIP - Copy TOS/TC from inner packet to outer. | + +| @c src/vnet/session/session.api || +| ------- | ------- | +| [7fb0fe1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7fb0fe1) | udp/session: refactor to support dgram mode | + +| @c src/vnet/ipsec/ipsec.api || +| ------- | ------- | +| [4b089f2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4b089f2) | ipsec: support UDP encap/decap for NAT traversal | +| [e9fcf23](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e9fcf23) | Fix some build warnings about "Old Style VLA" | +| [8e1039a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8e1039a) | Allow an IPsec tunnel interface to be renumbered | + +| @c src/vnet/vxlan/vxlan.api || +| ------- | ------- | +| [af86a48](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af86a48) | vxlan:offload RX flow | + +| @c src/vnet/srv6/sr.api || +| ------- | ------- | +| [3337bd2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3337bd2) | Fixed bugs in SRv6 API | +| [e9fcf23](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e9fcf23) | Fix some build warnings about "Old Style VLA" | + + @page release_notes_1804 Release notes for VPP 18.04 @@ -1478,6 +3691,15 @@ Found 1036 api message signature differences +@page release_notes_18012 Release notes for VPP 18.01.2 + +This is bug fix release. + +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/1801) + + @page release_notes_18011 Release notes for VPP 18.01.1 This is bug fix release.