From 7911f29c518c6b2a678e13874f7f16eba03dab75 Mon Sep 17 00:00:00 2001 From: Andrew Yourtchenko Date: Tue, 15 Feb 2022 16:29:46 +0000 Subject: misc: VPP 22.02 Release Notes type: docs Signed-off-by: Andrew Yourtchenko Signed-off-by: Dave Wallace Change-Id: I32291160f0d22a804929d0a040472ff952f02544 Signed-off-by: Maciek Konstantynowicz --- docs/aboutvpp/releasenotes/index.rst | 1 + docs/aboutvpp/releasenotes/v22.02.rst | 657 ++++++++++++++++++++++++++++++++++ 2 files changed, 658 insertions(+) create mode 100644 docs/aboutvpp/releasenotes/v22.02.rst diff --git a/docs/aboutvpp/releasenotes/index.rst b/docs/aboutvpp/releasenotes/index.rst index 1c1732b42fc..2a253424875 100644 --- a/docs/aboutvpp/releasenotes/index.rst +++ b/docs/aboutvpp/releasenotes/index.rst @@ -6,6 +6,7 @@ Release notes .. toctree:: :maxdepth: 2 + v22.02 v21.10.1 v21.10 v21.06 diff --git a/docs/aboutvpp/releasenotes/v22.02.rst b/docs/aboutvpp/releasenotes/v22.02.rst new file mode 100644 index 00000000000..acec7fd17ba --- /dev/null +++ b/docs/aboutvpp/releasenotes/v22.02.rst @@ -0,0 +1,657 @@ +Release notes for VPP 22.02 +=========================== + +More than 517 commits since the previous release, including 229 fixes. + +Release Highlights +------------------ + +This release would have had this section very short, if not for a last minute +issue which warrants some attention. The issue is caused by changes +related to MTU and Ethernet Maximum Frame Size (`DPDK commit 990912e676ec742d9b8d9f6f64c8a7c892d1ae75 `_). DPDK 21.11 changed, +among other things, the way it deals with the Ethernet Maximum Frame +Size. This triggered the downstream changes in VPP, providing an +opportunity to improve the handling of MTU configuration within the +code. Changes to VPP MTU configuration were submitted in +`gerrit change 34843 `_. + +In particular, vnet_hw_interface_set_mtu() was updated to return the +error codes from the underlying driver. This function also returns an +error code, when it is called on a logical interface. Due to the new +behavior of returning proper error code(s) by vnet_hw_interface_set_mtu +(), the API call *hw_interface_set_mtu* potentially returns more errors +than before. This issue was discovered in CSIT tests that were setting +interface HW MTU in more places than they should and/or setting the MTU +size to a value that was affected by the DPDK code change, in turn +returning an error code from drivers whose Maximum Frame Size was less +then the configured HW MTU. + +Another item worth mentioning is an improvement to wireguard +encryption/decryption path - the implementation of the async mode. +The aim is to provide better performance for the feature +(commits: `492d7790f `_ and `77e69ae2d1 `_) + +Features +-------- + +- Infrastructure Library + + - Initial RISC-V support (`6eb0f84e3 `_) + - Toeplitz hash (`2e5921b08 `_) + - Add bihash 12\_4 template (`d51250f5e `_) + +- Plugins + + - Crypto - ipsecmb + + - Bump to ipsecmb v1.1 (`e15245d79 `_) + + - DPDK + + - Bump to DPDK v21.11 (`6c75cd224 `_) + - Add qat gen4-b device support (`1c4415bfa `_) + + - HSI + + - Host stack intercept plugin (`68501d369 `_) + + - IPv6 Segment Routing Mobile + + - Update GTP4/6.D function (`be872a8dd `_) + +- SVM Library + + - Add support for thresh dequeue notification (`fb079585c `_) + +- Sphinx Documents + + - Consume fd.io version list (`ae5609721 `_) + +- VNET + + - Device Drivers + + - Add queues params in create\_if (`7d0e30bc6 `_) + + - IPSec + + - Record the number of packets lost from an SA (`e11203e5b `_) + + - IPv4 LPM + + - Add classifier-based ACLs support on ip punt (`abb2a4223 `_) + + - Interface Common + + - Add multi tx-queues support for new tx infra (`0d05c0d21 `_) + - Add interface monitor cli (`162ff5e41 `_) + + - Session Layer + + - Add session\_sapi\_enable\_disable (`7b3a3df26 `_) + - Add support for DSCP (`3ef8bf366 `_) + - App mq congestion detection (`20c242316 `_) + + - TAP Drivers + + - Add num\_tx\_queues API (`40edaf601 `_) + +- VPP Comms Library + + - Add DSCP support in VCL (`2f09bfc8b `_) + +- Vector Library + + - Add virtual time support (`56eccdbaa `_) + +- Gomemif + + - Add mode support (`176373cae `_) + + +Known issues +------------ + +For the full list of issues please refer to fd.io `JIRA `_. + +Fixed issues +------------ + +For the full list of fixed issues please refer to: +- fd.io `JIRA `_ +- git `commit log `_ + + +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 +============================================================= ================== +af_packet_create_v2 only in image +af_packet_create_v2_reply only in image +af_xdp_create_v2 only in image +af_xdp_create_v2_reply only in image +gbp_bridge_domain_add only in file +gbp_bridge_domain_add_reply only in file +gbp_bridge_domain_del only in file +gbp_bridge_domain_del_reply only in file +gbp_bridge_domain_details only in file +gbp_bridge_domain_dump only in file +gbp_bridge_domain_dump_reply only in file +gbp_contract_add_del only in file +gbp_contract_add_del_reply only in file +gbp_contract_details only in file +gbp_contract_dump only in file +gbp_endpoint_add only in file +gbp_endpoint_add_reply only in file +gbp_endpoint_del only in file +gbp_endpoint_del_reply only in file +gbp_endpoint_details only in file +gbp_endpoint_dump only in file +gbp_endpoint_group_add only in file +gbp_endpoint_group_add_reply only in file +gbp_endpoint_group_del only in file +gbp_endpoint_group_del_reply only in file +gbp_endpoint_group_details only in file +gbp_endpoint_group_dump only in file +gbp_ext_itf_add_del only in file +gbp_ext_itf_add_del_reply only in file +gbp_ext_itf_details only in file +gbp_ext_itf_dump only in file +gbp_recirc_add_del only in file +gbp_recirc_add_del_reply only in file +gbp_recirc_details only in file +gbp_recirc_dump only in file +gbp_route_domain_add only in file +gbp_route_domain_add_reply only in file +gbp_route_domain_del only in file +gbp_route_domain_del_reply only in file +gbp_route_domain_details only in file +gbp_route_domain_dump only in file +gbp_route_domain_dump_reply only in file +gbp_subnet_add_del only in file +gbp_subnet_add_del_reply only in file +gbp_subnet_details only in file +gbp_subnet_dump only in file +gbp_vxlan_tunnel_add only in file +gbp_vxlan_tunnel_add_reply only in file +gbp_vxlan_tunnel_del only in file +gbp_vxlan_tunnel_del_reply only in file +gbp_vxlan_tunnel_details only in file +gbp_vxlan_tunnel_dump only in file +ipfix_all_exporter_details only in image +ipfix_all_exporter_get only in image +ipfix_all_exporter_get_reply only in image +ipfix_exporter_create_delete only in image +ipfix_exporter_create_delete_reply only in image +l2_emulation only in file +l2_emulation_reply only in file +nat44_ed_add_del_output_interface only in image +nat44_ed_add_del_output_interface_reply only in image +nat44_ed_output_interface_details only in image +nat44_ed_output_interface_get only in image +nat44_ed_output_interface_get_reply only in image +nat44_ei_add_del_output_interface only in image +nat44_ei_add_del_output_interface_reply only in image +nat44_ei_output_interface_details only in image +nat44_ei_output_interface_get only in image +nat44_ei_output_interface_get_reply only in image +nat44_user_session_v2_details only in image +nat44_user_session_v2_dump only in image +punt_acl_add_del only in image +punt_acl_add_del_reply only in image +session_sapi_enable_disable only in image +session_sapi_enable_disable_reply only in image +sw_interface_set_tx_placement only in image +sw_interface_set_tx_placement_reply only in image +sw_interface_set_vxlan_gbp_bypass only in file +sw_interface_set_vxlan_gbp_bypass_reply only in file +sw_interface_tx_placement_details only in image +sw_interface_tx_placement_get only in image +sw_interface_tx_placement_get_reply only in image +tap_create_v3 only in image +tap_create_v3_reply only in image +vxlan_gbp_tunnel_add_del only in file +vxlan_gbp_tunnel_add_del_reply only in file +vxlan_gbp_tunnel_details only in file +vxlan_gbp_tunnel_dump only in file +vxlan_gpe_add_del_tunnel_v2 only in image +vxlan_gpe_add_del_tunnel_v2_reply only in image +vxlan_gpe_tunnel_v2_details only in image +vxlan_gpe_tunnel_v2_dump only in image +want_wireguard_peer_events only in image +want_wireguard_peer_events_reply only in image +wireguard_peer_add definition changed +wireguard_peer_event only in image +wireguard_peers_details definition changed +wireguard_peers_dump definition changed +============================================================= ================== + +Found 98 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. + +- nat44_interface_add_del_output_feature +- nat44_interface_add_del_output_feature_reply +- nat44_interface_output_feature_details +- nat44_interface_output_feature_dump + +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 +- acl_plugin_use_hash_lookup_get +- acl_plugin_use_hash_lookup_get_reply +- acl_plugin_use_hash_lookup_set +- acl_plugin_use_hash_lookup_set_reply +- adl_allowlist_enable_disable +- adl_allowlist_enable_disable_reply +- adl_interface_enable_disable +- adl_interface_enable_disable_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_set_snat_policy +- cnat_set_snat_policy_reply +- cnat_snat_policy_add_del_exclude_pfx +- cnat_snat_policy_add_del_exclude_pfx_reply +- cnat_snat_policy_add_del_if +- cnat_snat_policy_add_del_if_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_hostname +- ikev2_set_responder_hostname_reply +- 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 +- ip_route_add_del_v2 +- ip_route_add_del_v2_reply +- ip_route_lookup_v2 +- ip_route_lookup_v2_reply +- ip_route_v2_details +- ip_route_v2_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_ed_plugin_enable_disable +- nat44_ed_plugin_enable_disable_reply +- nat44_ed_set_fq_options +- nat44_ed_set_fq_options_reply +- nat44_ed_show_fq_options +- nat44_ed_show_fq_options_reply +- nat44_ei_add_del_address_range +- nat44_ei_add_del_address_range_reply +- nat44_ei_add_del_static_mapping +- nat44_ei_add_del_static_mapping_reply +- nat44_ei_address_details +- nat44_ei_address_dump +- nat44_ei_del_session +- nat44_ei_del_session_reply +- nat44_ei_del_user +- nat44_ei_del_user_reply +- nat44_ei_forwarding_enable_disable +- nat44_ei_forwarding_enable_disable_reply +- nat44_ei_ha_flush +- nat44_ei_ha_flush_reply +- nat44_ei_ha_resync +- nat44_ei_ha_resync_completed_event +- nat44_ei_ha_resync_reply +- nat44_ei_ha_set_failover +- nat44_ei_ha_set_failover_reply +- nat44_ei_ha_set_listener +- nat44_ei_ha_set_listener_reply +- nat44_ei_interface_add_del_feature +- nat44_ei_interface_add_del_feature_reply +- nat44_ei_interface_details +- nat44_ei_interface_dump +- nat44_ei_ipfix_enable_disable +- nat44_ei_ipfix_enable_disable_reply +- nat44_ei_plugin_enable_disable +- nat44_ei_plugin_enable_disable_reply +- nat44_ei_set_addr_and_port_alloc_alg +- nat44_ei_set_addr_and_port_alloc_alg_reply +- nat44_ei_set_fq_options +- nat44_ei_set_fq_options_reply +- nat44_ei_set_mss_clamping +- nat44_ei_set_mss_clamping_reply +- nat44_ei_set_timeouts +- nat44_ei_set_timeouts_reply +- nat44_ei_set_workers +- nat44_ei_set_workers_reply +- nat44_ei_show_fq_options +- nat44_ei_show_fq_options_reply +- nat44_ei_show_running_config +- nat44_ei_show_running_config_reply +- nat44_ei_static_mapping_details +- nat44_ei_static_mapping_dump +- nat44_ei_user_details +- nat44_ei_user_dump +- nat44_ei_user_session_details +- nat44_ei_user_session_dump +- nat44_ei_worker_details +- nat44_ei_worker_dump +- nat44_show_running_config +- nat44_show_running_config_reply +- nat44_user_session_v2_details +- nat44_user_session_v2_dump +- 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 +- pnat_binding_add +- pnat_binding_add_reply +- pnat_binding_attach +- pnat_binding_attach_reply +- pnat_binding_del +- pnat_binding_del_reply +- pnat_binding_detach +- pnat_binding_detach_reply +- pnat_bindings_details +- pnat_bindings_get +- pnat_bindings_get_reply +- pnat_interfaces_details +- pnat_interfaces_get +- pnat_interfaces_get_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_addresses +- test_addresses2 +- test_addresses2_reply +- test_addresses3 +- test_addresses3_reply +- test_addresses_reply +- test_empty +- test_empty_reply +- test_enum +- test_enum_reply +- test_interface +- test_interface_reply +- test_prefix +- test_prefix_reply +- test_string +- test_string2 +- test_string2_reply +- test_string_reply +- test_vla +- test_vla2 +- test_vla2_reply +- test_vla3 +- test_vla3_reply +- test_vla4 +- test_vla4_reply +- test_vla5 +- test_vla5_reply +- test_vla_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 +- want_wireguard_peer_events +- want_wireguard_peer_events_reply +- 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_event +- wireguard_peer_remove +- wireguard_peer_remove_reply +- wireguard_peers_details +- wireguard_peers_dump + +Patches that changed API definitions +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +``src/vlibmemory/memclnt.api`` + +* `f0e67d78a `_ interface: add api test file +* `36217e3ca `_ api: API trace improvements + +``src/vlibmemory/vlib.api`` + +* `f0e67d78a `_ interface: add api test file +* `a1400cecb `_ misc: api move continued +* `248210c6c `_ misc: move part of vpe apis to vlibmemory + +``src/vnet/ipfix-export/ipfix_export.api`` + +* `acb0d2d13 `_ ipfix-export: add a new API to dump all exporters +* `d747dd950 `_ ipfix-export: support creating multiple exporters + +``src/vnet/session/session.api`` + +* `7b3a3df26 `_ session: Add session_sapi_enable_disable + +``src/vnet/fib/fib_types.api`` + +* `da3310597 `_ fib: doc nitfixes + +``src/vnet/qos/qos.api`` + +* `2c77ae484 `_ docs: vnet comment nitfixes + +``src/vnet/devices/af_packet/af_packet.api`` + +* `7d0e30bc6 `_ devices: Add queues params in create_if + +``src/vnet/devices/tap/tapv2.api`` + +* `40edaf601 `_ tap: add num_tx_queues API + +``src/vnet/vxlan-gpe/vxlan_gpe.api`` + +* `ea9629298 `_ vxlan-gpe: add udp-port configuration support + +``src/vnet/classify/classify.api`` + +* `abb2a4223 `_ ip: add classifier-based ACLs support on ip punt + +``src/vnet/interface.api`` + +* `0d05c0d21 `_ interface: add multi tx-queues support for new tx infra + +``src/plugins/wireguard/wireguard.api`` + +* `064b77c74 `_ build: remove unnecessary executable bits +* `dd630d15d `_ wireguard: add events for peer + +``src/plugins/nat/nat44-ed/nat44_ed.api`` + +* `4189108e1 `_ nat: NAT44 ED api fix and improvement +* `c7164827a `_ nat: nat44-ed add session timing out indicator in api (2) + +``src/plugins/nat/nat44-ei/nat44_ei.api`` + +* `1953da661 `_ nat: nat44-ei configuration improvements + +``src/plugins/af_xdp/af_xdp.api`` + +* `31ed835b3 `_ af_xdp: mark API as stable +* `57bdb26ba `_ af_xdp: introduce to netns api + +``src/vpp/api/vpe.api`` + +* `a1400cecb `_ misc: api move continued +* `248210c6c `_ misc: move part of vpe apis to vlibmemory + +``extras/deprecated/vnet/vxlan-gbp/vxlan_gbp.api`` + +* `3be9164f8 `_ misc: deprecate gbp and its dependents + +``extras/deprecated/plugins/l2e/l2e.api`` + +* `3be9164f8 `_ misc: deprecate gbp and its dependents + +``extras/deprecated/plugins/gbp/gbp.api`` + +* `3be9164f8 `_ misc: deprecate gbp and its dependents -- cgit 1.2.3-korg