Release notes for VPP 24.02 =========================== More than 262 commits since the previous release, including 123 fixes. Features -------- - Build System - Modify N\_PREFETCH on Arm N2 to achieve best perf (`bef2d6da4 `_) - Add ability to disable some plugins from packaging and tests (`bc37878ec `_) - Infrastructure Library - Native AES-CTR implementation (`9caef2a35 `_) - Plugins - Amazon Elastic Network Adapter (ENA) device driver - Amazon Elastic Network Adapter (ENA) native driver (`2d725c612 `_) - CNat - Add flow hash config to cnat translation (`589fe7ca6 `_) - Crypto - ipsecmb - Bump intel-ipsec-mb version to 1.4 (`40242b88e `_) - Bump intel-ipsec-mb version to 1.5 (`adb2c6799 `_) - Crypto - native - Add AES-CTR (`da3771c25 `_) - DPDK - Add ConnectX-6LX and ConnectX-7 support (`029f039d5 `_) - Add Mellanox BlueField NICs (`006c071b0 `_) - Bump to DPDK 23.11 (`327c32306 `_) - Bump rdma-core to 49.0 (`b1a1209ce `_) - Add ID for QAT 4xxx series VF support (`ebe2371e6 `_) - GTPU - Support non-G-PDU packets and PDU Session (`f9ab6985d `_) - IAVF Device driver - New driver using new dev infra (`47447f1f5 `_) - IPv6 Segment Routing Mobile - Implement SRv6 mobile API funcs (`68ac24428 `_) - Marvell Octeon device driver - Native driver for Marvell Octeon SoC (`01fe7ab88 `_) - NPTv6 - Icmp6 alg to handle icmp6 error messages (`ff344a98a `_) - VNET - FLOW - Add support for using l2tpv3 as RSS type (`6cb727394 `_) - IPSec - Allow receiving encrypted IP packets with TFC padding (`8fce54637 `_) - New Device Drivers Infra - New device driver infra (`38c619115 `_) - Session Layer - Make port range configurable (`e111bbd12 `_) 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 ============================================================= ================== cnat_translation_details definition changed cnat_translation_update definition changed dev_attach only in image dev_attach_reply only in image dev_create_port_if only in image dev_create_port_if_reply only in image dev_detach only in image dev_detach_reply only in image dev_remove_port_if only in image dev_remove_port_if_reply only in image dhcp_client_detect_enable_disable only in image dhcp_client_detect_enable_disable_reply only in image gtpu_add_del_forward only in image gtpu_add_del_forward_reply only in image gtpu_add_del_tunnel_v2 only in image gtpu_add_del_tunnel_v2_reply only in image gtpu_get_transfer_counts only in image gtpu_get_transfer_counts_reply only in image gtpu_tunnel_v2_details only in image gtpu_tunnel_v2_dump only in image ipsec_sa_v5_details only in image ipsec_sa_v5_dump only in image ipsec_sad_entry_add_v2 only in image ipsec_sad_entry_add_v2_reply only in image lldp_details only in image lldp_dump only in image lldp_dump_reply only in image ping_finished_event only in image rdma_create_v4 only in image rdma_create_v4_reply only in image sr_mobile_localsid_add_del only in image sr_mobile_localsid_add_del_reply only in image sr_mobile_policy_add only in image sr_mobile_policy_add_reply only in image urpf_interface_details only in image urpf_interface_dump only in image want_ping_finished_events only in image want_ping_finished_events_reply only in image ============================================================= ================== Found 38 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. - rdma_create_v3 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 - 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_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_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 - 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_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_interfaces_details - pnat_interfaces_get - pnat_interfaces_get_reply - sample_macswap_enable_disable - sample_macswap_enable_disable_reply - set_ip_flow_hash_v3 - set_ip_flow_hash_v3_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/plugins/urpf/urpf.api`` * `2fa69effc `_ urpf: add interface dump to API ``src/plugins/srv6-mobile/sr_mobile_types.api`` * `68ac24428 `_ srv6-mobile: Implement SRv6 mobile API funcs ``src/plugins/srv6-mobile/sr_mobile.api`` * `68ac24428 `_ srv6-mobile: Implement SRv6 mobile API funcs ``src/plugins/npt66/npt66.api`` * `bdeee2194 `_ npt66: add show command and rx/tx counters ``src/plugins/gtpu/gtpu.api`` * `f9ab6985d `_ gtpu: support non-G-PDU packets and PDU Session ``src/plugins/dhcp/dhcp.api`` * `f3be34e44 `_ dhcp: api to enable client detect on interface ``src/plugins/ping/ping.api`` * `bb1cde678 `_ ping: Simple binary API for running ping based on events ``src/plugins/lldp/lldp.api`` * `9f8d3b9b2 `_ lldp: dump api ``src/plugins/rdma/rdma.api`` * `04d262d1e `_ rdma: add rdma_create_v4 that handles flags properly ``src/plugins/cnat/cnat.api`` * `589fe7ca6 `_ cnat: add flow hash config to cnat translation ``src/vnet/dev/dev.api`` * `ddf6cec37 `_ dev: initial set of APIs ``src/vnet/ipsec/ipsec.api`` * `0e2f188f7 `_ ipsec: huge anti-replay window support ``src/vnet/ipsec/ipsec_types.api`` * `0e2f188f7 `_ ipsec: huge anti-replay window support ``src/vnet/devices/virtio/virtio.api`` * `00c59e496 `_ virtio: virtio_flags api use enumflag instead of enum