Release notes for VPP 25.06 =========================== More than 260 commits since the previous release, including 92 fixes. Features -------- - Build System - Update VPP-opt-deps to openssl 3.5.0 (`8a5a8de71 `_) - Host stack test framework - Added basic performance testing infra (`7cd37a9d8 `_) - Plugins - HTTP - Hpack primitive types (`5985e8683 `_) - Hpack headers decoding (`58b6c4e6b `_) - Hpack headers encoding (`a013224b9 `_) - Http2 frames (`86abfc3e0 `_) - Http/2 core skeleton (`492d2c15d `_) - Http/2 stream state machine (`24668f2a3 `_) - Http/2 starting tcp connection (`b43c7090f `_) - Http/2 flow control (`ad5159837 `_) - Http/2 multiplexing (`2d6b545f2 `_) - Host Stack Applications - Http client parallel sessions (`c8174f366 `_) - Marvell Octeon device driver - Set cpt descriptor count to 16k (`803eac3ef `_) - Flush CQ buffers on stop (`c8d431ea2 `_) - Update roc version (`2eb3240d1 `_) - Configure max npa pools using driver arg (`06df0ac7a `_) - QUIC protocol - Quic engine api (`a94fab2fb `_) - Http\_static - Support multiple listeners (`0a897eb8d `_) - VNET - Crypto Infra - Make configurable crypto engines (`f479eeb76 `_) - Add support for aes-cbc with hmac (`fba37eea8 `_) - Add new handlers for cbc/ctr+hmac (`659b78d46 `_) - IPSec - Add support for bypass and discard policies for ipv6 (`9ab79f54d `_) - Enable support for ipv6 udp ipsec encapsulation in policy mode (`0b04d71ce `_) - New Device Drivers Infra - Add support to configure driver arguments (`0e811a0d4 `_) - Session Layer - Add session eventing infra for apps (`9ed4013fd `_) - TLS and TLS engine plugins - Add ALPN support (`0b039ae97 `_) - Vector Library - Add new node type - SCHED nodes (`8a5add5c0 `_) - Add 'relative' keyword for cpu configuration (`9b2015150 `_) 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 ============================================================= ================== feature_is_enabled only in image feature_is_enabled_reply only in image http_static_enable_v2 only in file http_static_enable_v2_reply only in file http_static_enable_v3 only in file http_static_enable_v3_reply only in file http_static_enable_v4 only in image http_static_enable_v4_reply only in image http_static_enable_v5 only in image http_static_enable_v5_reply only in image ip_session_redirect_details only in image ip_session_redirect_dump only in image pnat_flow_lookup only in image pnat_flow_lookup_reply only in image ============================================================= ================== Found 14 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. - http_static_enable_v4 - http_static_enable_v4_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 - bpf_trace_filter_set - bpf_trace_filter_set_reply - bpf_trace_filter_set_v2 - bpf_trace_filter_set_v2_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 - det44_get_timeouts_reply - det44_set_timeouts - det44_set_timeouts_reply - dev_attach - dev_attach_reply - dev_create_port_if - dev_create_port_if_reply - dev_detach - dev_detach_reply - dev_remove_port_if - dev_remove_port_if_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 - gtpu_add_del_forward - gtpu_add_del_forward_reply - gtpu_add_del_tunnel_v2 - gtpu_add_del_tunnel_v2_reply - gtpu_get_transfer_counts - gtpu_get_transfer_counts_reply - gtpu_tunnel_v2_details - gtpu_tunnel_v2_dump - ikev2_child_sa_v2_details - ikev2_child_sa_v2_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_v3_details - ikev2_sa_v3_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_neighbor_config_get - ip_neighbor_config_get_reply - 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 - ip_session_redirect_add - ip_session_redirect_add_reply - ip_session_redirect_add_v2 - ip_session_redirect_add_v2_reply - ip_session_redirect_del - ip_session_redirect_del_reply - ip_session_redirect_details - ip_session_redirect_dump - l2_emulation - l2_emulation_reply - lcp_default_ns_get_reply - lcp_default_ns_set - lcp_default_ns_set_reply - lcp_itf_pair_add_del_v2 - lcp_itf_pair_add_del_v2_reply - lcp_itf_pair_add_del_v3 - lcp_itf_pair_add_del_v3_reply - lcp_itf_pair_details - lldp_details - mdata_enable_disable - mdata_enable_disable_reply - nat44_ed_vrf_tables_v2_details - nat44_ed_vrf_tables_v2_dump - 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_user_session_v2_details - nat44_ei_user_session_v2_dump - nat44_ei_worker_details - nat44_ei_worker_dump - nat64_plugin_enable_disable - nat64_plugin_enable_disable_reply - npt66_binding_add_del - npt66_binding_add_del_reply - oddbuf_enable_disable - oddbuf_enable_disable_reply - pg_interface_enable_disable_coalesce - pg_interface_enable_disable_coalesce_reply - ping_finished_event - 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_flow_lookup - pnat_flow_lookup_reply - pnat_interfaces_details - pnat_interfaces_get - pnat_interfaces_get_reply - pvti_interface_create - pvti_interface_create_reply - pvti_interface_delete - pvti_interface_delete_reply - pvti_interface_details - pvti_interface_dump - sample_macswap_enable_disable - sample_macswap_enable_disable_reply - set_ip_flow_hash_v3 - set_ip_flow_hash_v3_reply - sflow_enable_disable - sflow_enable_disable_reply - sflow_header_bytes_get - sflow_header_bytes_get_reply - sflow_header_bytes_set - sflow_header_bytes_set_reply - sflow_interface_details - sflow_interface_dump - sflow_polling_interval_get - sflow_polling_interval_get_reply - sflow_polling_interval_set - sflow_polling_interval_set_reply - sflow_sampling_rate_get - sflow_sampling_rate_get_reply - sflow_sampling_rate_set - sflow_sampling_rate_set_reply - sr_localsids_with_packet_stats_details - sr_localsids_with_packet_stats_dump - sr_mobile_localsid_add_del - sr_mobile_localsid_add_del_reply - sr_mobile_policy_add - sr_mobile_policy_add_reply - sr_policies_with_sl_index_details - sr_policies_with_sl_index_dump - sr_policy_add_v2 - sr_policy_add_v2_reply - sr_policy_mod_v2 - sr_policy_mod_v2_reply - sw_interface_ip6nd_ra_details - sw_interface_ip6nd_ra_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_cache - trace_clear_cache_reply - trace_clear_capture - trace_clear_capture_reply - trace_details - trace_dump - trace_dump_reply - trace_filter_function_details - trace_filter_function_dump - trace_set_filter_function - trace_set_filter_function_reply - trace_set_filters - trace_set_filters_reply - trace_v2_details - trace_v2_dump - tracenode_enable_disable - tracenode_enable_disable_reply - vxlan_gbp_tunnel_add_del - vxlan_gbp_tunnel_add_del_reply - vxlan_gbp_tunnel_details - vxlan_gbp_tunnel_dump - want_ping_finished_events - want_ping_finished_events_reply Patches that changed API definitions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``src/vnet/feature/feature.api`` * `6022e9566 `_ vnet: add vapi interface feature enablement check function ``src/plugins/linux-cp/lcp.api`` * `9543e2970 `_ linux-cp: Add support for LACP packets ``src/plugins/nat/pnat/pnat.api`` * `406232920 `_ pnat: expose binding_index over API ``src/plugins/vxlan-gpe/vxlan_gpe.api`` * `bb4858cdf `_ vxlan: move vxlan-gpe to a plugin ``src/plugins/http_static/http_static.api`` * `c3bbeb93b `_ http_static: url handler buffer large POST body * `5e94895df `_ http_static: introduce max-body-size parameter ``src/plugins/ip_session_redirect/ip_session_redirect.api`` * `eca860c85 `_ ip_session_redirect: add dump api for session redirects