X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=RELEASE.md;h=5f132e2cc32aa8eddabce7aebf11fe3b515fe150;hb=af2cc6425;hp=45b3f1ad08e895f24dc7214a46798ce586c97c78;hpb=d78a5bc03ec25360a9a045c20d55a61fcee6f0d2;p=vpp.git diff --git a/RELEASE.md b/RELEASE.md index 45b3f1ad08e..5f132e2cc32 100644 --- a/RELEASE.md +++ b/RELEASE.md @@ -1,5 +1,7 @@ # Release Notes {#release_notes} +* @subpage release_notes_2106 +* @subpage release_notes_2101 * @subpage release_notes_2009 * @subpage release_notes_20051 * @subpage release_notes_2005 @@ -30,10 +32,1334 @@ * @subpage release_notes_1609 * @subpage release_notes_1606 -@page release_notes_2009 Release notes for VPP 20.09 +@page release_notes_2106 Release notes for VPP 21.06 TBD +@page release_notes_2101 Release notes for VPP 21.01 + +## Release Highlights + +The FD.io VPP 20.09 release comprises more than 562 commits since the previous +release, including 274 fixes. Notable changes in this release were the Virtio +driver adding packet buffering on the transmit path to handle slow back-ends +which often have jitter and delays in free'ing buffers, and also adding support +for Virtio 1.1 packed rings. FD.io VPP IPSEC added support for multi-point on +IPSec interfaces, brings the meshed benefits of IP to IPSec tunnels. The FD.io +VPP Cloud NAT (CNAT), added support source NAT ICMP and DHCP. The FD.io VPP FIB +added support for source address selection (SAS) and flow hashing on the inner +packets. Finally the FD.io VPP Perfmon plugin has been substantially rewritten, +to support measuring bundles of counters, and reporting statistics per graph +node. + +Reflecting the API change policy introduced in the 20.09, please review the +following sections below: +- Newly deprecated API messages: please note that if you are using a deprecated +message, they will soon be removed in a subsequent release. Collaborate with +the feature maintainer on the best approach to mitigate. +- In-progress API messages: They are work-in-progress, and are *not* subject to +the policy, and may change or even be removed at any time. Please collaborate +with the feature maintainer on plans to productize the message before using in +any product. In-progress APIs must eventually become stable or be removed. + +## Features + +- Binary API Libraries + - Vat2 and JSON autogeneration for API messages ([df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092)) +- Plugins + - AF\_XDP driver + - Add option to claim all available RX queues ([d4e109138](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d4e109138)) + - CNat + - Disable default scanner process ([d63f73b83](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d63f73b83)) + - IP ICMP error support ([ece39214b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ece39214b)) + - Add support for SNat ICMP ([613b2c3c7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=613b2c3c7)) + - Introduce parametric source policy ([ce25b60de](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ce25b60de)) + - Add DHCP support ([af897c5e3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af897c5e3)) + - Crypto - ipsecmb + - Bump to intel-ipsec-mb version 0.55 ([b5df85e24](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b5df85e24)) + - DPDK + - Call the meson-based build instead of Makefiles ([4c4633cad](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c4633cad)) + - Telemetry thread is off by default. ([83f37fc3b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=83f37fc3b)) + - Bump to DPDK 20.11 ([f0419a0c8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f0419a0c8)) + - Internet Key Exchange (IKEv2) Protocol + - Support IPv6 traffic selectors & overlay ([84962d19b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=84962d19b)) + - CLI for disabling dead peer detection ([af4a414eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af4a414eb)) + - Add option to disable NAT traversal ([d7fc12f07](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d7fc12f07)) + - RDMA (ibverb) driver + - Add RSS support for IPv6 and TCP ([91603958d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=91603958d)) + - VRRP + - Asynchronous events on VR state change ([78f487e11](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=78f487e11)) + - Wireguard + - Return public key in API ([de22111b5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de22111b5)) + - Flowprobe + - Add show commands for params and list of interfaces for recording ([d1146f6dd](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1146f6dd)) +- Python binding for the VPP API + - add support for enumflag part 1 of 2 ([3825d93af](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3825d93af)) +- SVM Library + - Support for multi-segment enqueues ([c95cfa218](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c95cfa218)) +- Statistics Segment + - Counters data model ([148c7b768](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=148c7b768)) +- VNET + - FIB + - Source Address Selection ([e2fe09742](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e2fe09742)) + - Adjacency flag for midchain to perfom flow hash (on inner packet) ([5c544c8c3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c544c8c3)) + - Feature Arcs + - Add packet trace API ([c0b195450](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0b195450)) + - IPSec + - Support for multipoint on IPSec interfaces ([6ba4e41d3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6ba4e41d3)) + - Tunnel SA DSCP behaviour ([041add7d1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=041add7d1)) + - Native Virtio Drivers + - Add packet buffering on transmit path ([e347acbc3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e347acbc3)) + - Virtio: implement packed queues from virtio 1.1 ([b977d3f7c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b977d3f7c)) + - Segment Routing (IPv6 and MPLS) + - Show IPv6 address used as SRv6 Encaps source ([448bc81d3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=448bc81d3)) + - Show the hop-limit value used for SRv6 encapsulation ([80f0b88fc](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=80f0b88fc)) + - Session Layer + - Add Unix socket API for app attachment ([61ae056bd](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61ae056bd)) + - Per worker state for ct sessions ([2d0e3de14](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d0e3de14)) + - TAP Drivers + - Allow change of carrier state on host ([bd50ed18d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bd50ed18d)) + - Add function to set speed ([a6c34a19d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a6c34a19d)) +- VPP Comms Library + - Add support for app socket API ([935ce75cb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=935ce75cb)) + - Provide apps access to fifo chunks ([d68faf855](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d68faf855)) +- VPP Executable + - Use VPP heap for libc ([ec4749a20](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec4749a20)) +- Vector Library - Buffer Management + - Add page-size config ([61559029d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61559029d)) + +## Known issues + +For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io). + +## Fixed issues + +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=master) + + +## 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 +-------------------------------------------------------------|------------------ +classify_pcap_get_tables | only in image +classify_pcap_get_tables_reply | only in image +classify_pcap_lookup_table | only in image +classify_pcap_lookup_table_reply | only in image +classify_pcap_set_table | only in image +classify_pcap_set_table_reply | only in image +classify_trace_get_tables | only in image +classify_trace_get_tables_reply | only in image +classify_trace_lookup_table | only in image +classify_trace_lookup_table_reply | only in image +classify_trace_set_table | only in image +classify_trace_set_table_reply | only in image +cnat_get_snat_addresses | only in image +cnat_get_snat_addresses_reply | only in image +cnat_session_details | definition changed +cnat_set_snat_addresses | definition changed +cnat_translation_details | definition changed +cnat_translation_update | definition changed +det44_plugin_enable_disable | definition changed +graph_node_details | only in image +graph_node_get | only in image +graph_node_get_reply | only in image +ikev2_profile_details | definition changed +ikev2_profile_disable_natt | only in image +ikev2_profile_disable_natt_reply | only in image +ikev2_profile_set_ts | definition changed +ikev2_sa_details | definition changed +ikev2_set_responder | definition changed +ikev2_traffic_selector_details | definition changed +ip_mroute_add_del | definition changed +ip_mroute_details | definition changed +ip_neighbor_event_v2 | only in image +ipsec_sa_v2_details | only in image +ipsec_sa_v2_dump | only in image +ipsec_sad_entry_add_del_v2 | only in image +ipsec_sad_entry_add_del_v2_reply | only in image +nat44_plugin_enable_disable | only in image +nat44_plugin_enable_disable_reply | only in image +nat44_show_running_config | only in image +nat44_show_running_config_reply | only in image +nat64_get_timeouts | only in image +nat64_get_timeouts_reply | only in image +nat64_plugin_enable_disable | only in image +nat64_plugin_enable_disable_reply | only in image +nat64_set_timeouts | only in image +nat64_set_timeouts_reply | only in image +pppoe_add_del_cp | only in image +pppoe_add_del_cp_reply | only in image +rdma_create_v2 | only in image +rdma_create_v2_reply | only in image +sw_vmxnet3_interface_details | only in image +sw_vmxnet3_interface_dump | only in image +trace_capture_packets | only in image +trace_capture_packets_reply | only in image +trace_clear_capture | only in image +trace_clear_capture_reply | only in image +trace_details | definition changed +trace_set_filters | only in image +trace_set_filters_reply | only in image +vrrp_vr_event | only in image +want_ip_neighbor_events_v2 | only in image +want_ip_neighbor_events_v2_reply | only in image +want_vrrp_vr_events | only in image +want_vrrp_vr_events_reply | only in image +wireguard_interface_create | definition changed +wireguard_interface_details | definition changed + +Found 66 api message signature differences + + +### Newly deprecated API messages + +These messages are still there in the API, but can and probably +will disappear in the next release. + +- geneve_add_del_tunnel +- ip_neighbor_event +- nat44_forwarding_enable_disable +- nat44_forwarding_enable_disable_reply +- nat44_forwarding_is_enabled +- nat44_forwarding_is_enabled_reply +- nat44_session_cleanup +- nat44_session_cleanup_reply +- nat_control_ping +- nat_control_ping_reply +- nat_get_timeouts +- nat_get_timeouts_reply +- nat_ipfix_enable_disable +- nat_ipfix_enable_disable_reply +- nat_set_log_level +- nat_set_log_level_reply +- nat_set_timeouts +- nat_set_timeouts_reply +- nat_show_config +- nat_show_config_2 +- nat_show_config_2_reply +- nat_show_config_reply +- rdma_create +- vmxnet3_dump +- want_ip_neighbor_events +- want_ip_neighbor_events_reply + +### In-progress API messages + +These messages are provided for testing and experimentation only. +They are *not* subject to any compatibility process, +and therefore can arbitrarily change or disappear at *any* moment. +Also they may have less than satisfactory testing, making +them unsuitable for other use than the technology preview. +If you are intending to use these messages in production projects, +please collaborate with the feature maintainer on their productization. + +- abf_itf_attach_add_del +- abf_itf_attach_add_del_reply +- abf_itf_attach_details +- abf_itf_attach_dump +- abf_plugin_get_version +- abf_plugin_get_version_reply +- abf_policy_add_del +- abf_policy_add_del_reply +- abf_policy_details +- abf_policy_dump +- adl_allowlist_enable_disable +- adl_allowlist_enable_disable_reply +- adl_interface_enable_disable +- adl_interface_enable_disable_reply +- af_xdp_create +- af_xdp_create_reply +- af_xdp_delete +- af_xdp_delete_reply +- cnat_add_del_snat_prefix +- cnat_add_del_snat_prefix_reply +- cnat_get_snat_addresses +- cnat_get_snat_addresses_reply +- cnat_session_details +- cnat_session_dump +- cnat_session_purge +- cnat_session_purge_reply +- cnat_set_snat_addresses +- cnat_set_snat_addresses_reply +- cnat_translation_del +- cnat_translation_del_reply +- cnat_translation_details +- cnat_translation_dump +- cnat_translation_update +- cnat_translation_update_reply +- crypto_sw_scheduler_set_worker +- crypto_sw_scheduler_set_worker_reply +- det44_get_timeouts_reply +- det44_interface_add_del_feature +- det44_interface_add_del_feature_reply +- det44_interface_details +- det44_interface_dump +- det44_plugin_enable_disable +- det44_plugin_enable_disable_reply +- det44_set_timeouts +- det44_set_timeouts_reply +- flow_add +- flow_add_reply +- flow_del +- flow_del_reply +- flow_disable +- flow_disable_reply +- flow_enable +- flow_enable_reply +- gbp_bridge_domain_add +- gbp_bridge_domain_add_reply +- gbp_bridge_domain_del +- gbp_bridge_domain_del_reply +- gbp_bridge_domain_details +- gbp_bridge_domain_dump +- gbp_bridge_domain_dump_reply +- gbp_contract_add_del +- gbp_contract_add_del_reply +- gbp_contract_details +- gbp_contract_dump +- gbp_endpoint_add +- gbp_endpoint_add_reply +- gbp_endpoint_del +- gbp_endpoint_del_reply +- gbp_endpoint_details +- gbp_endpoint_dump +- gbp_endpoint_group_add +- gbp_endpoint_group_add_reply +- gbp_endpoint_group_del +- gbp_endpoint_group_del_reply +- gbp_endpoint_group_details +- gbp_endpoint_group_dump +- gbp_ext_itf_add_del +- gbp_ext_itf_add_del_reply +- gbp_ext_itf_details +- gbp_ext_itf_dump +- gbp_recirc_add_del +- gbp_recirc_add_del_reply +- gbp_recirc_details +- gbp_recirc_dump +- gbp_route_domain_add +- gbp_route_domain_add_reply +- gbp_route_domain_del +- gbp_route_domain_del_reply +- gbp_route_domain_details +- gbp_route_domain_dump +- gbp_route_domain_dump_reply +- gbp_subnet_add_del +- gbp_subnet_add_del_reply +- gbp_subnet_details +- gbp_subnet_dump +- gbp_vxlan_tunnel_add +- gbp_vxlan_tunnel_add_reply +- gbp_vxlan_tunnel_del +- gbp_vxlan_tunnel_del_reply +- gbp_vxlan_tunnel_details +- gbp_vxlan_tunnel_dump +- ikev2_child_sa_details +- ikev2_child_sa_dump +- ikev2_initiate_del_child_sa +- ikev2_initiate_del_child_sa_reply +- ikev2_initiate_del_ike_sa +- ikev2_initiate_del_ike_sa_reply +- ikev2_initiate_rekey_child_sa +- ikev2_initiate_rekey_child_sa_reply +- ikev2_initiate_sa_init +- ikev2_initiate_sa_init_reply +- ikev2_nonce_get +- ikev2_nonce_get_reply +- ikev2_profile_add_del +- ikev2_profile_add_del_reply +- ikev2_profile_details +- ikev2_profile_disable_natt +- ikev2_profile_disable_natt_reply +- ikev2_profile_dump +- ikev2_profile_set_auth +- ikev2_profile_set_auth_reply +- ikev2_profile_set_id +- ikev2_profile_set_id_reply +- ikev2_profile_set_ipsec_udp_port +- ikev2_profile_set_ipsec_udp_port_reply +- ikev2_profile_set_liveness +- ikev2_profile_set_liveness_reply +- ikev2_profile_set_ts +- ikev2_profile_set_ts_reply +- ikev2_profile_set_udp_encap +- ikev2_profile_set_udp_encap_reply +- ikev2_sa_details +- ikev2_sa_dump +- ikev2_set_esp_transforms +- ikev2_set_esp_transforms_reply +- ikev2_set_ike_transforms +- ikev2_set_ike_transforms_reply +- ikev2_set_local_key +- ikev2_set_local_key_reply +- ikev2_set_responder +- ikev2_set_responder_reply +- ikev2_set_sa_lifetime +- ikev2_set_sa_lifetime_reply +- ikev2_set_tunnel_interface +- ikev2_set_tunnel_interface_reply +- ikev2_traffic_selector_details +- ikev2_traffic_selector_dump +- l2_emulation +- l2_emulation_reply +- mdata_enable_disable +- mdata_enable_disable_reply +- nat44_add_del_static_mapping_v2 +- nat44_add_del_static_mapping_v2_reply +- nat44_show_running_config +- nat44_show_running_config_reply +- nat64_plugin_enable_disable +- nat64_plugin_enable_disable_reply +- oddbuf_enable_disable +- oddbuf_enable_disable_reply +- pg_interface_enable_disable_coalesce +- pg_interface_enable_disable_coalesce_reply +- sample_macswap_enable_disable +- sample_macswap_enable_disable_reply +- sr_policies_with_sl_index_details +- sr_policies_with_sl_index_dump +- sw_interface_set_vxlan_gbp_bypass +- sw_interface_set_vxlan_gbp_bypass_reply +- test_enum +- test_enum_reply +- test_prefix +- test_prefix_reply +- trace_capture_packets +- trace_capture_packets_reply +- trace_clear_capture +- trace_clear_capture_reply +- trace_details +- trace_dump +- trace_dump_reply +- trace_set_filters +- trace_set_filters_reply +- vxlan_gbp_tunnel_add_del +- vxlan_gbp_tunnel_add_del_reply +- vxlan_gbp_tunnel_details +- vxlan_gbp_tunnel_dump +- wireguard_interface_create +- wireguard_interface_create_reply +- wireguard_interface_delete +- wireguard_interface_delete_reply +- wireguard_interface_details +- wireguard_interface_dump +- wireguard_peer_add +- wireguard_peer_add_reply +- wireguard_peer_remove +- wireguard_peer_remove_reply +- wireguard_peers_details +- wireguard_peers_dump + +### Patches that changed API definitions + +| @c src/vpp/api/vpe_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/vat2/test/vat2_test.api || +| ------- | ------- | +| [58a6e7725](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=58a6e7725) | api: crchcecker ignore version < 1.0.0 and outside of src directory | +| [510aaa891](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=510aaa891) | api: crchcecker ignore version < 1.0.0 and outside of src directory | +| [793be4632](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=793be4632) | api: fromjson/tojson enum flag support | + +| @c src/vnet/mpls/mpls.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/vnet/ipip/ipip.api || +| ------- | ------- | +| [33c45f56a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33c45f56a) | fib: supporting inner flow hash on tunnels | + +| @c src/vnet/vxlan-gbp/vxlan_gbp.api || +| ------- | ------- | +| [b468773aa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b468773aa) | vxlan-gbp: Mark APIs as in-progress | + +| @c src/vnet/ipsec/ipsec.api || +| ------- | ------- | +| [041add7d1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=041add7d1) | ipsec: Tunnel SA DSCP behaviour | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/vnet/ipsec/ipsec_types.api || +| ------- | ------- | +| [041add7d1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=041add7d1) | ipsec: Tunnel SA DSCP behaviour | + +| @c src/vnet/tunnel/tunnel_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | +| [33c45f56a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33c45f56a) | fib: supporting inner flow hash on tunnels | + +| @c src/vnet/classify/classify.api || +| ------- | ------- | +| [5c1e48c01](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c1e48c01) | classify: add pcap/trace classfier mgmt API calls | + +| @c src/vnet/ipfix-export/ipfix_export.api || +| ------- | ------- | +| [f6cf57ceb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f6cf57ceb) | misc: fix api in ipfix_classify_table_add/details | + +| @c src/vnet/mfib/mfib_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | +| [990f69450](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=990f69450) | ip: convert u32 entry_flags to vl_api_mfib_entry_flags_t on mroute API | + +| @c src/vnet/gre/gre.api || +| ------- | ------- | +| [33c45f56a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=33c45f56a) | fib: supporting inner flow hash on tunnels | + +| @c src/vnet/ip/ip_types.api || +| ------- | ------- | +| [6dc0c8d14](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6dc0c8d14) | ip: Sub Address Family types. Feature enable for each SAFI | + +| @c src/vnet/ip/ip.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | +| [990f69450](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=990f69450) | ip: convert u32 entry_flags to vl_api_mfib_entry_flags_t on mroute API | + +| @c src/vnet/ethernet/ethernet_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/vnet/l2/l2.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/vnet/cop/cop.api || +| ------- | ------- | +| [6c8cdf78b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6c8cdf78b) | misc: cop - clean up stray doxygen block | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/vnet/crypto/crypto.api || +| ------- | ------- | +| [8c91b2ae2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8c91b2ae2) | crypto: Crypto set handler API to support set all as CLI | + +| @c src/vnet/devices/virtio/virtio.api || +| ------- | ------- | +| [e347acbc3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e347acbc3) | virtio: add packet buffering on transmit path | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/vnet/interface_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/vnet/ip-neighbor/ip_neighbor.api || +| ------- | ------- | +| [4ac36bcb1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ac36bcb1) | ip-neighbor: Send API event when neighbor is removed | + +| @c src/vnet/policer/policer_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/vnet/srv6/sr_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/plugins/map/map.api || +| ------- | ------- | +| [148c7b768](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=148c7b768) | stats: counters data model | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/plugins/nat/nat64/nat64.api || +| ------- | ------- | +| [1f36023d2](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1f36023d2) | nat: move nat64 to a subfeature | + +| @c src/plugins/nat/det44/det44.api || +| ------- | ------- | +| [d1762e614](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1762e614) | nat: det44 plugin fix style and api cleanup | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/plugins/nat/nat44.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | +| [25fd8ad03](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=25fd8ad03) | nat: cleanup & reorganization | +| [b227aa699](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b227aa699) | nat: api,cli and test update & cleanup | + +| @c src/plugins/nat/nat_types.api || +| ------- | ------- | +| [25fd8ad03](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=25fd8ad03) | nat: cleanup & reorganization | + +| @c src/plugins/lisp/lisp-cp/one.api || +| ------- | ------- | +| [2b202bc4b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2b202bc4b) | lisp: Move to plugin | + +| @c src/plugins/lisp/lisp-cp/lisp.api || +| ------- | ------- | +| [068ad25c1](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=068ad25c1) | lisp: .api dont set defaults in reply messages | +| [2b202bc4b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2b202bc4b) | lisp: Move to plugin | + +| @c src/plugins/lisp/lisp-cp/lisp_types.api || +| ------- | ------- | +| [2b202bc4b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2b202bc4b) | lisp: Move to plugin | + +| @c src/plugins/lisp/lisp-gpe/lisp_gpe.api || +| ------- | ------- | +| [2b202bc4b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2b202bc4b) | lisp: Move to plugin | + +| @c src/plugins/nsim/nsim.api || +| ------- | ------- | +| [f916414b3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f916414b3) | api: clean up use of deprecated flag | + +| @c src/plugins/lb/lb_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/plugins/lb/lb.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/plugins/pppoe/pppoe.api || +| ------- | ------- | +| [340b10a38](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=340b10a38) | pppoe: make pppoe plugin work with dot1q subinterfaces | + +| @c src/plugins/geneve/geneve.api || +| ------- | ------- | +| [3a6adc52f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3a6adc52f) | geneve: Move to plugin | + +| @c src/plugins/vmxnet3/vmxnet3.api || +| ------- | ------- | +| [490e077fb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=490e077fb) | vmxnet3: add sw_if_index filter to vmxnet3 interface dump | + +| @c src/plugins/wireguard/wireguard.api || +| ------- | ------- | +| [de22111b5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=de22111b5) | wireguard: return public key in api | + +| @c src/plugins/l2tp/l2tp.api || +| ------- | ------- | +| [6810a77da](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6810a77da) | misc: Move l2tp to plugin | + +| @c src/plugins/acl/acl.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/plugins/acl/acl_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | + +| @c src/plugins/rdma/rdma.api || +| ------- | ------- | +| [798267aaa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=798267aaa) | rdma: implement multiseg rx without striding rq | + +| @c src/plugins/ikev2/ikev2.api || +| ------- | ------- | +| [d7fc12f07](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d7fc12f07) | ikev2: add option to disable NAT traversal | +| [84962d19b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=84962d19b) | ikev2: support ipv6 traffic selectors & overlay | + +| @c src/plugins/ikev2/ikev2_types.api || +| ------- | ------- | +| [dc01471be](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc01471be) | api: add missing version info | +| [d7fc12f07](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d7fc12f07) | ikev2: add option to disable NAT traversal | +| [84962d19b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=84962d19b) | ikev2: support ipv6 traffic selectors & overlay | + +| @c src/plugins/cnat/cnat.api || +| ------- | ------- | +| [2082835fe](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2082835fe) | cnat: allow max_u16 translation backends | +| [af897c5e3](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af897c5e3) | cnat: Add DHCP support | + +| @c src/plugins/tracedump/tracedump.api || +| ------- | ------- | +| [c0b195450](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0b195450) | feature: Add packet trace API | + +| @c src/plugins/tracedump/graph.api || +| ------- | ------- | +| [c0b195450](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c0b195450) | feature: Add packet trace API | + +| @c src/plugins/vrrp/vrrp.api || +| ------- | ------- | +| [78f487e11](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=78f487e11) | vrrp: asynchronous events on VR state change | + +| @c src/plugins/flowprobe/flowprobe.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/plugins/lldp/lldp.api || +| ------- | ------- | +| [3f9fdd984](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3f9fdd984) | lldp: Move to plugin | + +| @c src/plugins/memif/memif.api || +| ------- | ------- | +| [6223766f9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6223766f9) | libmemif: clean up typos | + +| @c src/plugins/dns/dns.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/plugins/stn/stn.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + +| @c src/plugins/af_xdp/af_xdp.api || +| ------- | ------- | +| [d4e109138](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d4e109138) | af_xdp: add option to claim all available rx queues | + +| @c src/plugins/gbp/gbp.api || +| ------- | ------- | +| [df87f8092](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df87f8092) | api: vat2 and json autogeneration for api messages | + + +@page release_notes_2009 Release notes for VPP 20.09 + +More than 458 commits since the previous release, including 266 fixes. + +## Release Highlights + +The FD.io VPP 20.09 release added a number of notable new features. In plugins, +the I/O layer added support for the Linux AF\_XDP interface with the AF\_XDP +plugin. New plugins where added supporting both the Wireguard security protocol +and CNAT destination based address translation, and the existing IKEv2 plugin +added support for NAT-T. In the cryptography layer, support was added for +synchronous software crypto engines, enabling users to allocate dedicated crypto +worker threads. The flow layer added support for steering IPSEC ESP/AH flows to +worker threads. GRO support was added to the packet coalescing library. + +This release introduces the new FD.io VPP API change policy to ensure +backwards-compatibility. The policy will ensure seamless upgrades to new +versions of FD.io VPP in future, provided no "in-progress" or deprecated APIs +are in use. Enabling the FD.io community to enjoy the benefits of new releases, +while minimizing the work involved in staying current. + +If you dive into the implementation, you will note that policy in action. A +number of modified API messages have had their original versions maintained to +ensure compatibility. + +Reflecting the new policy we added two new sections to the release notes +describing: +- Newly deprecated API messages: please note that if you are using a deprecated +message, they will soon be removed in a subsequent release. Collaborate with +the feature maintainer on the best approach to mitigate. +- In-progress API messages: They are work-in-progress, and are *not* subject to +the policy, and may change or even be removed at any time. Please collaborate +with the feature maintainer on plans to productize the message before using in +any product. In-progress APIs must eventually become stable or be removed. + +## Features + +- VNET + - Crypto Infra + - Add chacha20-poly1305 algo (61f49aa38) + - Asynchronous crypto engines (2284817ea) + - Add asynchronous crypto APIs (0c936b147) + - Added support for optimized cryptodev API (ef80ad6bf) + - FLOW + - Added ability to steer IPSec ESP/AH flows to worker threads (d4c3666b9) + - Added the vnet/flow API (d0236f725) + - GENEVE + - Support geneve interface acting as a bvi (7fc88cf3a) + - GSO + - Added software GRO support (f382b06fe) + - IPSec + - Dedicated IPSec interface type (dd4ccf262) + - Deprecate old interface API (e6df80de4) + - Interface Common + - Support configuring RSS steering queues (c4665093c) + - Native Virtio Drivers + - Add vhost sw\_if\_index filter for sw\_interface\_vhost\_user\_dump (a0e8d9669) + - Add modern device support (379aac395) + - Add virtio 1.1 api flags (518251bc8) + - TAP Drivers + - Add gro support (9e2a78564) + - Add virtio 1.1 API flag (50bd16559) + - TCP + - Track reorder with selective acknowledgments (cc4d6d022) +- Plugins + - AF\_XDP driver + - New plugin for Linux AF\_XDP input (4a76d6f6d) + - CNat + - New plugin for destination based NAT (29f3c7d2e) + - Wireguard + - New plugin, initial implementation of wireguard protocol (edca1325c) + - Crypto - OpenSSL + - Add chacha20-poly1305 support to crypto-openssl (1b6ed022e) + - DPDK + - Device\_id sorted order for cryptodev (5a849e3b3) + - Call the meson-based build instead of Makefiles (73903d7e8) + - Internet Key Exchange (IKEv2) Protocol + - Add support for NAT traversal (NAT-T) (4362baa33) + - Add profile dump API (6a9bd8188) + - Add support for AES-GCM cipher in IKE (a7b963df2) + - Add SA dump API (a340fe1ac) + - Network Delay Simulator + - Basic reorder support (e6c3e8f0e) +- VPP Comms Library + - Nest vcl\_mq\_epfd to support epoll\_wait without high CPU usage (4266d4d5f) + - Support connected udp listens (1e96617d9) + - Support inter worker rpc (40c07ce7a) + - Support multi-threads with session migration (a3a489691) +- Vector Library + - Add recursive macro expander to debug cli (961e3c842) +- Binary API Libraries + - Add new stream message convention (f5db3711b) + - Make VPP api handlers endian independent (e796a1873) +- Infrastructure Library + - Multiarch support for OCTEONTX2 SoC (e2f5236dc) + +## Known issues + +For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io). + +## Fixed issues + +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/2009) + + +## 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 +-------------------------------------------------------------|------------------ +adl_allowlist_enable_disable | only in image +adl_allowlist_enable_disable_reply | only in image +adl_interface_enable_disable | only in image +adl_interface_enable_disable_reply | only in image +bond_add_member | only in image +bond_add_member_reply | only in image +bond_create2 | only in image +bond_create2_reply | only in image +bond_detach_member | only in image +bond_detach_member_reply | only in image +cnat_add_del_snat_prefix | only in image +cnat_add_del_snat_prefix_reply | only in image +cnat_session_details | only in image +cnat_session_dump | only in image +cnat_session_purge | only in image +cnat_session_purge_reply | only in image +cnat_set_snat_addresses | only in image +cnat_set_snat_addresses_reply | only in image +cnat_translation_del | only in image +cnat_translation_del_reply | only in image +cnat_translation_details | only in image +cnat_translation_dump | only in image +cnat_translation_update | only in image +cnat_translation_update_reply | only in image +crypto_set_async_dispatch | only in image +crypto_set_async_dispatch_reply | only in image +crypto_set_handler | only in image +crypto_set_handler_reply | only in image +crypto_sw_scheduler_set_worker | only in image +crypto_sw_scheduler_set_worker_reply | only in image +det44_add_del_map | only in image +det44_add_del_map_reply | only in image +det44_close_session_in | only in image +det44_close_session_in_reply | only in image +det44_close_session_out | only in image +det44_close_session_out_reply | only in image +det44_forward | only in image +det44_forward_reply | only in image +det44_get_timeouts | only in image +det44_get_timeouts_reply | only in image +det44_interface_add_del_feature | only in image +det44_interface_add_del_feature_reply | only in image +det44_interface_details | only in image +det44_interface_dump | only in image +det44_map_details | only in image +det44_map_dump | only in image +det44_plugin_enable_disable | only in image +det44_plugin_enable_disable_reply | only in image +det44_reverse | only in image +det44_reverse_reply | only in image +det44_session_details | only in image +det44_session_dump | only in image +det44_set_timeouts | only in image +det44_set_timeouts_reply | only in image +flow_add | only in image +flow_add_reply | only in image +flow_del | only in image +flow_del_reply | only in image +flow_disable | only in image +flow_disable_reply | only in image +flow_enable | only in image +flow_enable_reply | only in image +geneve_add_del_tunnel2 | only in image +geneve_add_del_tunnel2_reply | only in image +gtpu_add_del_tunnel | definition changed +gtpu_tunnel_details | definition changed +gtpu_tunnel_update_tteid | only in image +gtpu_tunnel_update_tteid_reply | only in image +ikev2_child_sa_details | only in image +ikev2_child_sa_dump | only in image +ikev2_nonce_get | only in image +ikev2_nonce_get_reply | only in image +ikev2_profile_details | only in image +ikev2_profile_dump | only in image +ikev2_profile_set_ts | definition changed +ikev2_sa_details | only in image +ikev2_sa_dump | only in image +ikev2_set_esp_transforms | definition changed +ikev2_set_ike_transforms | definition changed +ikev2_set_responder | definition changed +ikev2_traffic_selector_details | only in image +ikev2_traffic_selector_dump | only in image +ipsec_itf_create | only in image +ipsec_itf_create_reply | only in image +ipsec_itf_delete | only in image +ipsec_itf_delete_reply | only in image +ipsec_itf_details | only in image +ipsec_itf_dump | only in image +ipsec_set_async_mode | only in image +ipsec_set_async_mode_reply | only in image +map_domains_get | only in image +map_domains_get_reply | only in image +nat44_add_del_static_mapping_v2 | only in image +nat44_add_del_static_mapping_v2_reply | only in image +nat_show_config_2 | only in image +nat_show_config_2_reply | only in image +nsim_configure2 | only in image +nsim_configure2_reply | only in image +pg_interface_enable_disable_coalesce | only in image +pg_interface_enable_disable_coalesce_reply | only in image +sr_policies_with_sl_index_details | only in image +sr_policies_with_sl_index_dump | only in image +sw_bond_interface_details | only in image +sw_bond_interface_dump | only in image +sw_member_interface_details | only in image +sw_member_interface_dump | only in image +trace_details | only in image +trace_dump | only in image +trace_dump_reply | only in image +virtio_pci_create_v2 | only in image +virtio_pci_create_v2_reply | only in image +wireguard_interface_create | only in image +wireguard_interface_create_reply | only in image +wireguard_interface_delete | only in image +wireguard_interface_delete_reply | only in image +wireguard_interface_details | only in image +wireguard_interface_dump | only in image +wireguard_peer_add | only in image +wireguard_peer_add_reply | only in image +wireguard_peer_remove | only in image +wireguard_peer_remove_reply | only in image +wireguard_peers_details | only in image +wireguard_peers_dump | only in image + +Found 123 api message signature differences + + +### Newly deprecated API messages + +These messages are still there in the API, but can and probably +will disappear in the next release. + +- bond_create +- bond_detach_slave +- bond_detach_slave_reply +- bond_enslave +- cop_interface_enable_disable +- cop_interface_enable_disable_reply +- cop_whitelist_enable_disable +- cop_whitelist_enable_disable_reply +- geneve_add_del_tunnel +- ipsec_tunnel_if_add_del +- ipsec_tunnel_if_set_sa +- ipsec_tunnel_if_set_sa_reply +- map_domain_dump +- nat_det_add_del_map +- nat_det_add_del_map_reply +- nat_det_close_session_in +- nat_det_close_session_in_reply +- nat_det_close_session_out +- nat_det_close_session_out_reply +- nat_det_forward +- nat_det_forward_reply +- nat_det_map_details +- nat_det_map_dump +- nat_det_reverse +- nat_det_reverse_reply +- nat_det_session_details +- nat_det_session_dump +- nat_show_config +- nsim_configure +- nsim_configure_reply +- sw_interface_bond_dump +- sw_interface_slave_dump +- virtio_pci_create +- virtio_pci_create_reply + +### In-progress API messages + +These messages are provided for testing and experimentation only. +They are *not* subject to any compatibility process, +and therefore can arbitrarily change or disappear at *any* moment. +Also they may have less than satisfactory testing, making +them unsuitable for other use than the technology preview. +If you are intending to use these messages in production projects, +please collaborate with the feature maintainer on their productization. + +- abf_itf_attach_add_del +- abf_itf_attach_add_del_reply +- abf_itf_attach_details +- abf_itf_attach_dump +- abf_plugin_get_version +- abf_plugin_get_version_reply +- abf_policy_add_del +- abf_policy_add_del_reply +- abf_policy_details +- abf_policy_dump +- adl_allowlist_enable_disable +- adl_allowlist_enable_disable_reply +- adl_interface_enable_disable +- adl_interface_enable_disable_reply +- af_xdp_create +- af_xdp_create_reply +- af_xdp_delete +- af_xdp_delete_reply +- cnat_add_del_snat_prefix +- cnat_add_del_snat_prefix_reply +- cnat_session_details +- cnat_session_dump +- cnat_session_purge +- cnat_session_purge_reply +- cnat_set_snat_addresses +- cnat_set_snat_addresses_reply +- cnat_translation_del +- cnat_translation_del_reply +- cnat_translation_details +- cnat_translation_dump +- cnat_translation_update +- cnat_translation_update_reply +- crypto_sw_scheduler_set_worker +- crypto_sw_scheduler_set_worker_reply +- det44_get_timeouts_reply +- det44_interface_add_del_feature +- det44_interface_add_del_feature_reply +- det44_interface_details +- det44_interface_dump +- det44_plugin_enable_disable +- det44_plugin_enable_disable_reply +- det44_set_timeouts +- det44_set_timeouts_reply +- flow_add +- flow_add_reply +- flow_del +- flow_del_reply +- flow_disable +- flow_disable_reply +- flow_enable +- flow_enable_reply +- gbp_bridge_domain_add +- gbp_bridge_domain_add_reply +- gbp_bridge_domain_del +- gbp_bridge_domain_del_reply +- gbp_bridge_domain_details +- gbp_bridge_domain_dump +- gbp_bridge_domain_dump_reply +- gbp_contract_add_del +- gbp_contract_add_del_reply +- gbp_contract_details +- gbp_contract_dump +- gbp_endpoint_add +- gbp_endpoint_add_reply +- gbp_endpoint_del +- gbp_endpoint_del_reply +- gbp_endpoint_details +- gbp_endpoint_dump +- gbp_endpoint_group_add +- gbp_endpoint_group_add_reply +- gbp_endpoint_group_del +- gbp_endpoint_group_del_reply +- gbp_endpoint_group_details +- gbp_endpoint_group_dump +- gbp_ext_itf_add_del +- gbp_ext_itf_add_del_reply +- gbp_ext_itf_details +- gbp_ext_itf_dump +- gbp_recirc_add_del +- gbp_recirc_add_del_reply +- gbp_recirc_details +- gbp_recirc_dump +- gbp_route_domain_add +- gbp_route_domain_add_reply +- gbp_route_domain_del +- gbp_route_domain_del_reply +- gbp_route_domain_details +- gbp_route_domain_dump +- gbp_route_domain_dump_reply +- gbp_subnet_add_del +- gbp_subnet_add_del_reply +- gbp_subnet_details +- gbp_subnet_dump +- gbp_vxlan_tunnel_add +- gbp_vxlan_tunnel_add_reply +- gbp_vxlan_tunnel_del +- gbp_vxlan_tunnel_del_reply +- gbp_vxlan_tunnel_details +- gbp_vxlan_tunnel_dump +- ikev2_child_sa_details +- ikev2_child_sa_dump +- ikev2_initiate_del_child_sa +- ikev2_initiate_del_child_sa_reply +- ikev2_initiate_del_ike_sa +- ikev2_initiate_del_ike_sa_reply +- ikev2_initiate_rekey_child_sa +- ikev2_initiate_rekey_child_sa_reply +- ikev2_initiate_sa_init +- ikev2_initiate_sa_init_reply +- ikev2_nonce_get +- ikev2_nonce_get_reply +- ikev2_profile_add_del +- ikev2_profile_add_del_reply +- ikev2_profile_details +- ikev2_profile_dump +- ikev2_profile_set_auth +- ikev2_profile_set_auth_reply +- ikev2_profile_set_id +- ikev2_profile_set_id_reply +- ikev2_profile_set_ipsec_udp_port +- ikev2_profile_set_ipsec_udp_port_reply +- ikev2_profile_set_liveness +- ikev2_profile_set_liveness_reply +- ikev2_profile_set_ts +- ikev2_profile_set_ts_reply +- ikev2_profile_set_udp_encap +- ikev2_profile_set_udp_encap_reply +- ikev2_sa_details +- ikev2_sa_dump +- ikev2_set_esp_transforms +- ikev2_set_esp_transforms_reply +- ikev2_set_ike_transforms +- ikev2_set_ike_transforms_reply +- ikev2_set_local_key +- ikev2_set_local_key_reply +- ikev2_set_responder +- ikev2_set_responder_reply +- ikev2_set_sa_lifetime +- ikev2_set_sa_lifetime_reply +- ikev2_set_tunnel_interface +- ikev2_set_tunnel_interface_reply +- ikev2_traffic_selector_details +- ikev2_traffic_selector_dump +- l2_emulation +- l2_emulation_reply +- mdata_enable_disable +- mdata_enable_disable_reply +- nat44_add_del_static_mapping_v2 +- nat44_add_del_static_mapping_v2_reply +- oddbuf_enable_disable +- oddbuf_enable_disable_reply +- pg_interface_enable_disable_coalesce +- pg_interface_enable_disable_coalesce_reply +- sample_macswap_enable_disable +- sample_macswap_enable_disable_reply +- sr_policies_with_sl_index_details +- sr_policies_with_sl_index_dump +- sw_interface_set_vxlan_gbp_bypass +- sw_interface_set_vxlan_gbp_bypass_reply +- trace_details +- trace_dump +- trace_dump_reply +- vxlan_gbp_tunnel_add_del +- vxlan_gbp_tunnel_add_del_reply +- vxlan_gbp_tunnel_details +- vxlan_gbp_tunnel_dump +- wireguard_interface_create +- wireguard_interface_create_reply +- wireguard_interface_delete +- wireguard_interface_delete_reply +- wireguard_interface_details +- wireguard_interface_dump +- wireguard_peer_add +- wireguard_peer_add_reply +- wireguard_peer_remove +- wireguard_peer_remove_reply +- wireguard_peers_details +- wireguard_peers_dump + +### Patches that changed API definitions + +| @c src/vpp/api/vpe.api || +| ------- | ------- | +| [d0236f725](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0236f725) | flow: add vnet/flow formal API | + +| @c src/vnet/crypto/crypto.api || +| ------- | ------- | +| [4035daffd](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4035daffd) | crypto: Crypto set handler API to support set all as CLI | +| [0c936b147](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0c936b147) | crypto: Add async crypto APIs | + +| @c src/vnet/cop/cop.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [ac0326fc5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0326fc5) | adl: move allow/deny list function to plugin | + +| @c src/vnet/lisp-gpe/lisp_gpe.api || +| ------- | ------- | +| [4ab5190eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ab5190eb) | lisp: API cleanup | + +| @c src/vnet/vxlan-gbp/vxlan_gbp.api || +| ------- | ------- | +| [f72b1aff7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f72b1aff7) | vxlan-gbp: Mark APIs as in-progress | + +| @c src/vnet/flow/flow_types.api || +| ------- | ------- | +| [34bfa50b6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=34bfa50b6) | flow: code refactor | +| [d0236f725](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0236f725) | flow: add vnet/flow formal API | + +| @c src/vnet/flow/flow.api || +| ------- | ------- | +| [d0236f725](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0236f725) | flow: add vnet/flow formal API | + +| @c src/vnet/srv6/sr.api || +| ------- | ------- | +| [30fa97dc6](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=30fa97dc6) | sr: new messages created to return sl index for segment lists in a sr policy | + +| @c src/vnet/pg/pg.api || +| ------- | ------- | +| [f382b06fe](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f382b06fe) | gso: packet coalesce library | +| [0cf528233](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0cf528233) | gso: fix the udp checksum in test | + +| @c src/vnet/geneve/geneve.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [7fc88cf3a](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7fc88cf3a) | geneve: support geneve interface acting as a bvi | + +| @c src/vnet/lisp-cp/one.api || +| ------- | ------- | +| [4ab5190eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ab5190eb) | lisp: API cleanup | + +| @c src/vnet/lisp-cp/lisp.api || +| ------- | ------- | +| [4ab5190eb](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ab5190eb) | lisp: API cleanup | + +| @c src/vnet/devices/tap/tapv2.api || +| ------- | ------- | +| [50bd16559](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=50bd16559) | tap: add virtio 1.1 API flag | + +| @c src/vnet/devices/virtio/vhost_user.api || +| ------- | ------- | +| [a0e8d9669](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a0e8d9669) | virtio: add vhost sw_if_index filter for sw_interface_vhost_user_dump | + +| @c src/vnet/devices/virtio/virtio.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [518251bc8](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=518251bc8) | virtio: add virtio 1.1 api flags | + +| @c src/vnet/ipsec/ipsec.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [2e84d6655](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2e84d6655) | ipsec: add ipsec set async mode api | +| [e6df80de4](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e6df80de4) | ipsec: Deprecate old interface API | +| [dd4ccf262](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dd4ccf262) | ipsec: Dedicated IPSec interface type | + +| @c src/vnet/bonding/bond.api || +| ------- | ------- | +| [ea7178631](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ea7178631) | bonding: add bond_create2 API to include gso option | +| [4c4223edf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c4223edf) | bonding lacp: replace slave string with member | + +| @c src/vnet/ip/ip_types.api || +| ------- | ------- | +| [d0236f725](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0236f725) | flow: add vnet/flow formal API | + +| @c src/plugins/wireguard/wireguard.api || +| ------- | ------- | +| [edca1325c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=edca1325c) | wireguard: initial implementation of wireguard protocol | + +| @c src/plugins/map/map.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [ac0326fc5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0326fc5) | adl: move allow/deny list function to plugin | +| [f5db3711b](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5db3711b) | api: add new stream message convention | + +| @c src/plugins/lacp/lacp.api || +| ------- | ------- | +| [4c4223edf](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4c4223edf) | bonding lacp: replace slave string with member | + +| @c src/plugins/l2e/l2e.api || +| ------- | ------- | +| [f733e7ade](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f733e7ade) | l2e: mark API as in-progress | + +| @c src/plugins/ikev2/ikev2.api || +| ------- | ------- | +| [a340fe1ac](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a340fe1ac) | ikev2: add SA dump API | +| [459d17bb7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=459d17bb7) | ikev2: refactor and test profile dump API | +| [ac46e3b1d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac46e3b1d) | ikev2: API downgrade due to lack of ikev2 tests | +| [6a9bd8188](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a9bd8188) | ikev2: add profile dump API | + +| @c src/plugins/ikev2/ikev2_types.api || +| ------- | ------- | +| [a340fe1ac](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a340fe1ac) | ikev2: add SA dump API | +| [459d17bb7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=459d17bb7) | ikev2: refactor and test profile dump API | +| [6a9bd8188](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a9bd8188) | ikev2: add profile dump API | + +| @c src/plugins/tracedump/tracedump.api || +| ------- | ------- | +| [65b65a469](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=65b65a469) | misc: add tracedump API plugin | + +| @c src/plugins/gtpu/gtpu.api || +| ------- | ------- | +| [9ebbb5c41](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ebbb5c41) | gtpu: support separate rx-decap and encap-tx teid values | + +| @c src/plugins/gbp/gbp.api || +| ------- | ------- | +| [d2f8fb9c7](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d2f8fb9c7) | gbp: mark APIs as in-progress | + +| @c src/plugins/acl/acl.api || +| ------- | ------- | +| [24ee40a5c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=24ee40a5c) | acl: correct acl vat help message | + +| @c src/plugins/nat/dslite/dslite.api || +| ------- | ------- | +| [603e75465](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=603e75465) | nat: move deterministic nat to det44 sub feature | + +| @c src/plugins/nat/det44/det44.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [603e75465](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=603e75465) | nat: move deterministic nat to det44 sub feature | + +| @c src/plugins/nat/nat_types.api || +| ------- | ------- | +| [96068d6b9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=96068d6b9) | nat: nat66 to plugin | + +| @c src/plugins/nat/nat.api || +| ------- | ------- | +| [6484f4b9c](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6484f4b9c) | nat: twice-nat static mapping pool address | +| [edc816355](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=edc816355) | nat: fix type in api message | +| [603e75465](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=603e75465) | nat: move deterministic nat to det44 sub feature | +| [96068d6b9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=96068d6b9) | nat: nat66 to plugin | + +| @c src/plugins/nat/nat66/nat66.api || +| ------- | ------- | +| [96068d6b9](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=96068d6b9) | nat: nat66 to plugin | + +| @c src/plugins/cnat/cnat.api || +| ------- | ------- | +| [29f3c7d2e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=29f3c7d2e) | cnat: Destination based NAT | + +| @c src/plugins/abf/abf.api || +| ------- | ------- | +| [df494dafa](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df494dafa) | abf: mark API as in-progress | + +| @c src/plugins/adl/adl.api || +| ------- | ------- | +| [ac0326fc5](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0326fc5) | adl: move allow/deny list function to plugin | + +| @c src/plugins/nsim/nsim.api || +| ------- | ------- | +| [00f21fb2f](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00f21fb2f) | api: clean up use of deprecated flag | +| [e6c3e8f0e](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e6c3e8f0e) | nsim: basic reorder support | + +| @c src/plugins/crypto_sw_scheduler/crypto_sw_scheduler.api || +| ------- | ------- | +| [0c936b147](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0c936b147) | crypto: Add async crypto APIs | + +| @c src/plugins/dhcp/dhcp.api || +| ------- | ------- | +| [bad679291](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bad679291) | api: register endian handlers for reply messages | + +| @c src/plugins/af_xdp/af_xdp.api || +| ------- | ------- | +| [4a76d6f6d](https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4a76d6f6d) | af_xdp: AF_XDP input plugin | + + @page release_notes_20051 Release notes for VPP 20.05.1 This is bug fix release.