Release notes for VPP 22.06 =========================== More than 485 commits since the previous release, including 230 fixes. Features -------- - Binary API Compiler for C and C++ - Support api clients within VPP process (`2ca88ff97 `_) - Build System - Make the build work on Debian 11 (`a47203128 `_) - Infrastructure Library - Add new bihash exports (`17ecd853e `_) - Plugins - Crypto - ipsecmb - Bump to ipsecmb v1.2 (`c711bd08c `_) - DPDK - Support devargs for vmbus (`502714fc4 `_) - Bump to DPDK v22.03 (`2f132efc3 `_) - HTTP - Add http protocol plugin (`0b65621d4 `_) - Host Stack Applications - Add http throughput test server app (`cfcc42e29 `_) - Add support for SAPI in vpp\_echo (`d0d4b4337 `_) - Prom - Basic builtin prometheus stats exporter (`7285be2aa `_) - Flowprobe - Add support for reporting on inbound packets (`6f5ddf346 `_) - Linux-cp - Linux Control Plane Netlink Listener (`616447c39 `_) - Snort plugin - Feature support on interface output (`c454e8993 `_) - VNET - Classifier - Add API to retrieve punt ACL tables (`7fc0ee7f6 `_) - Device Drivers - Af-packet v3 support (`219cbcb29 `_) - Add multi-queue support for af-packet (`5a7aa51f0 `_) - FLOW - Add generic flow pattern for 5G flow enhancement (`3a3668201 `_) - Enable RSS queue group action for 5G enhancement (`b95e6d4e7 `_) - Support generic flow and RSS action in vapi (`337960b8a `_) - IPSec - Support per next-header next-nodes (`98ca76ab8 `_) - Session Layer - Add infra for safe pool reallocs (`53d8d4fd6 `_) - VPP Comms Library - Make eventfd flag configurable from env (`794599bcc `_) - Add support for reconnect (`8ccc6b350 `_) - Vector Library - Leave SIGCONT signal with its default handler (`8486283cd `_) 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_v3 only in image af_packet_create_v3_reply only in image bfd_udp_upd only in image bfd_udp_upd_reply only in image dhcp_client_details definition changed dhcp_compl_event definition changed flow_add_v2 only in image flow_add_v2_reply only in image flow_classify_dump definition changed flowprobe_get_params only in image flowprobe_get_params_reply only in image flowprobe_interface_add_del only in image flowprobe_interface_add_del_reply only in image flowprobe_interface_details only in image flowprobe_interface_dump only in image flowprobe_set_params only in image flowprobe_set_params_reply only in image ip_local_reass_enable_disable only in image ip_local_reass_enable_disable_reply only in image ip_local_reass_get only in image ip_local_reass_get_reply only in image memclnt_create_v2 only in image memclnt_create_v2_reply only in image nat44_ed_add_del_vrf_route only in image nat44_ed_add_del_vrf_route_reply only in image nat44_ed_add_del_vrf_table only in image nat44_ed_add_del_vrf_table_reply only in image nat44_ed_vrf_tables_details only in image nat44_ed_vrf_tables_dump only in image nat44_forwarding_is_enabled only in file nat44_forwarding_is_enabled_reply only in file nat44_interface_add_del_output_feature only in file nat44_interface_add_del_output_feature_reply only in file nat44_interface_output_feature_details only in file nat44_interface_output_feature_dump only in file nat44_plugin_enable_disable only in file nat44_plugin_enable_disable_reply only in file nat44_session_cleanup only in file nat44_session_cleanup_reply only in file nat_control_ping only in file nat_control_ping_reply only in file nat_get_timeouts only in file nat_get_timeouts_reply only in file nat_set_log_level only in file nat_set_log_level_reply only in file nat_show_config_2 only in file nat_show_config_2_reply only in file nat_show_config only in file nat_show_config_reply only in file pnat_binding_add definition changed pnat_binding_add_v2 only in image pnat_binding_add_v2_reply only in image pnat_bindings_details definition changed pnat_interfaces_details definition changed policer_classify_dump definition changed policer_output only in image policer_output_reply only in image punt_acl_get only in image punt_acl_get_reply only in image punt_socket_deregister definition changed punt_socket_details definition changed punt_socket_dump definition changed punt_socket_register definition changed session_rule_add_del definition changed session_rules_details definition changed set_punt definition changed udp_decap_add_del definition changed urpf_update definition changed vrrp_vr_del only in image vrrp_vr_del_reply only in image vrrp_vr_update only in image vrrp_vr_update_reply only in image wg_set_async_mode only in image wg_set_async_mode_reply only in image wireguard_peer_add definition changed wireguard_peers_details definition changed ============================================================= ================== Found 76 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_del_user - nat44_del_user_reply - nat_get_addr_and_port_alloc_alg - nat_get_addr_and_port_alloc_alg_reply - nat_ha_flush - nat_ha_flush_reply - nat_ha_get_failover - nat_ha_get_failover_reply - nat_ha_get_listener - nat_ha_get_listener_reply - nat_ha_resync - nat_ha_resync_completed_event - nat_ha_resync_reply - nat_ha_set_failover - nat_ha_set_failover_reply - nat_ha_set_listener - nat_ha_set_listener_reply - nat_set_addr_and_port_alloc_alg - nat_set_addr_and_port_alloc_alg_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 - 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_add_v2 - flow_add_v2_reply - flow_del - flow_del_reply - flow_disable - flow_disable_reply - flow_enable - flow_enable_reply - flowprobe_get_params - flowprobe_get_params_reply - flowprobe_interface_add_del - flowprobe_interface_add_del_reply - flowprobe_interface_details - flowprobe_interface_dump - flowprobe_set_params - flowprobe_set_params_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_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 - 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_add_v2 - pnat_binding_add_v2_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 - wg_set_async_mode - wg_set_async_mode_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/vnet/ip/ip.api`` * `01c1fa41f `_ ip: reassembly - add a way to disable for forus ``src/vnet/classify/classify.api`` * `7fc0ee7f6 `_ classify: add API to retrieve punt ACL tables ``src/vnet/devices/af_packet/af_packet.api`` * `0bfc222e3 `_ devices: add af-packet v3 api ``src/vnet/policer/policer.api`` * `e5a3ae017 `_ policer: output interface policer ``src/vnet/bfd/bfd.api`` * `63f2c7d70 `_ bfd: Add an update API that has create new or modify existing semantics ``src/vnet/flow/flow.api`` * `337960b8a `_ flow: support generic flow and RSS action in vapi ``src/vnet/flow/flow_types.api`` * `337960b8a `_ flow: support generic flow and RSS action in vapi ``src/vlibmemory/memclnt.api`` * `2ca88ff97 `_ vapi: support api clients within vpp process ``src/plugins/nat/nat44-ed/nat44_ed.api`` * `691c630b7 `_ nat: VRF routing & FIB improvements * `b68108203 `_ nat: nat44-ed cleanup & fixes ``src/plugins/nat/pnat/pnat.api`` * `0891b6aa4 `_ pnat: add support to wildcard IP Protocol field if not specified ``src/plugins/flowprobe/flowprobe.api`` * `86c7856ed `_ flowprobe: add api messages to obtain current state * `6f5ddf346 `_ flowprobe: add support for reporting on inbound packets ``src/plugins/vrrp/vrrp.api`` * `7539e4b55 `_ vrrp: add stats support and update API ``src/plugins/wireguard/wireguard.api`` * `39fdefdc9 `_ wireguard: Document wireguard async mode default * `f47917959 `_ wireguard: improve peer dump details * `6a2c6a044 `_ wireguard: improve sending WG interface dump details * `492d7790f `_ wireguard: add async mode for encryption packets