Release notes for VPP 23.10 =========================== More than 212 commits since the previous release, including 106 fixes. Features -------- - Plugins - ARPing CLI - Api to return responder mac address (`8af78b8e3 `_) - CNat - Flag to disable rsession (`663103279 `_) - Add host tag to bitmap in cnat snat (`f6beee077 `_) - DPDK - Bump to DPDK 23.07 (`442189849 `_) - Bump rdma-core to 46.1 (`61ab09472 `_) - IDPF Device driver - Add native idpf driver plugin (`737edea32 `_) - NPTv6 - Network prefix translation for ipv6 (`6ee3aa41c `_) - Trace node - Filtering feature (`77812045e `_) - Wireguard - Add support for chained buffers (`f2b6edb14 `_) - Fateshare - A plugin for managing child processes (`f234b0d46 `_) - Linux-cp - Basic MPLS support. (`44b3abe86 `_) - VNET - Classifier - Add bpf support to pcap classifier (`3f4075574 `_) - Crypto Infra - Allow changing dispatch mode (`139aba204 `_) - IPv4 LPM - Punt add punt socket support for icmp6 (`56b8abc07 `_) - TCP - Add simple stats collector (`6052f4b9d `_) 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_xdp_create_v3 only in image af_xdp_create_v3_reply only in image arping_acd only in image arping_acd_reply only in image bpf_trace_filter_set only in image bpf_trace_filter_set_reply only in image cnat_snat_policy_add_del_if definition changed crypto_set_async_dispatch_v2 only in image crypto_set_async_dispatch_v2_reply only in image ip_neighbor_config_get only in image ip_neighbor_config_get_reply only in image ipsec_sa_v4_details only in image ipsec_sa_v4_dump only in image ipsec_sad_bind only in image ipsec_sad_bind_reply only in image ipsec_sad_unbind only in image ipsec_sad_unbind_reply only in image mpls_interface_details only in image mpls_interface_dump only in image nsh_add_del_entry only in image nsh_add_del_entry_reply only in image nsh_add_del_map only in image nsh_add_del_map_reply only in image nsh_entry_details only in image nsh_entry_dump only in image nsh_map_details only in image nsh_map_dump only in image pcap_set_filter_function only in image pcap_set_filter_function_reply only in image trace_filter_function_details only in image trace_filter_function_dump only in image trace_set_filter_function only in image trace_set_filter_function_reply only in image tracenode_enable_disable only in image tracenode_enable_disable_reply only in image ============================================================= ================== Found 35 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. - af_packet_create - af_packet_create_reply - af_packet_create_v2 - af_packet_create_v2_reply - af_xdp_create - af_xdp_create_reply - af_xdp_create_v2 - af_xdp_create_v2_reply - crypto_set_async_dispatch - crypto_set_async_dispatch_reply - ip_punt_redirect_details - ip_punt_redirect_dump - ipsec_sa_v2_details - ipsec_sa_v2_dump - ipsec_sad_entry_add_del_v2 - ipsec_sad_entry_add_del_v2_reply - lcp_itf_pair_add_del - lcp_itf_pair_add_del_reply - memclnt_create - memclnt_create_reply - memif_create - memif_create_reply - memif_socket_filename_add_del - memif_socket_filename_add_del_reply - nat44_add_del_static_mapping - nat44_add_del_static_mapping_reply - nat44_user_session_details - nat44_user_session_dump - nat44_user_session_v2_details - nat44_user_session_v2_dump - pg_create_interface - pg_create_interface_reply - sr_policies_dump - tap_create_v2 - tap_create_v2_reply - vxlan_add_del_tunnel - vxlan_add_del_tunnel_reply - vxlan_add_del_tunnel_v2 - vxlan_add_del_tunnel_v2_reply - vxlan_tunnel_details - vxlan_tunnel_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 - 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 - 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_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 - 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 - 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_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 Patches that changed API definitions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ``src/vlibmemory/memclnt.api`` * `7108cb15c `_ api: memclnt - Mark old message versions as deprecated ``src/vnet/flow/flow.api`` * `9c7e03348 `_ flow: mark API as production ``src/vnet/ipsec/ipsec.api`` * `63305843e `_ api: ipsec - Mark old message versions as deprecated * `1271e3a2a `_ ipsec: manually binding an SA to a worker * `f441b5d0e `_ crypto: use fixed crypto frame pool ``src/vnet/ipsec/ipsec_types.api`` * `84e665848 `_ ipsec: add support for RFC-4543 ENCR_NULL_AUTH_AES_GMAC ``src/vnet/crypto/crypto.api`` * `139aba204 `_ crypto: allow changing dispatch mode * `9a9604b09 `_ crypto: make crypto-dispatch node working in adaptive mode ``src/vnet/devices/tap/tapv2.api`` * `74d9f0ae3 `_ api: tapv2 - Mark old message versions as deprecated ``src/vnet/ip/ip.api`` * `755e3aa54 `_ api: ip - Mark old message versions as deprecated ``src/vnet/interface.api`` * `3f4075574 `_ classify: add bpf support to pcap classifier ``src/vnet/mpls/mpls.api`` * `8d61c59c3 `_ mpls: add mpls_interface_dump ``src/vnet/srv6/sr.api`` * `238cf3bd4 `_ sr: mark sr_policies_v2_details message as production * `5c476e7ac `_ api: sr - Mark old message versions as deprecated ``src/vnet/pg/pg.api`` * `be5676166 `_ api: pg - Mark old message versions as deprecated ``src/vnet/ip-neighbor/ip_neighbor.api`` * `e1cc87536 `_ ip-neighbor: add api for getting neighbor db config ``src/plugins/tracedump/tracedump.api`` * `52fa5f21b `_ vlib: introduce trace filter functions ``src/plugins/linux-cp/lcp.api`` * `fa6d21b4f `_ api: lcp - Mark old message versions as deprecated ``src/plugins/crypto_sw_scheduler/crypto_sw_scheduler.api`` * `a998f80cd `_ crypto-sw-scheduler: stabilize the API ``src/plugins/adl/adl.api`` * `b116bf8f3 `_ adl: stabilize the API ``src/plugins/nat/det44/det44.api`` * `ad417a8e6 `_ nat: mark several messages as production ``src/plugins/nat/nat44-ed/nat44_ed.api`` * `b1239c488 `_ api: nat44_ed - Mark old message versions as deprecated ``src/plugins/af_xdp/af_xdp.api`` * `7f27ed666 `_ af_xdp: create_api_v3 without namespace keyword ``src/plugins/cnat/cnat.api`` * `f6beee077 `_ cnat: add host tag to bitmap in cnat snat * `663103279 `_ cnat: flag to disable rsession ``src/plugins/tracenode/tracenode.api`` * `77812045e `_ tracenode: filtering feature ``src/plugins/bpf_trace_filter/bpf_trace_filter.api`` * `ccd307095 `_ bpf_trace_filter: plugin for BPF Trace Filtering ``src/plugins/wireguard/wireguard.api`` * `f29d9f060 `_ wireguard: stabilize the API ``src/plugins/memif/memif.api`` * `cfd8e4ec8 `_ api: memif - Mark old message versions as deprecated ``src/plugins/vxlan/vxlan.api`` * `9ebd2b92e `_ api: vxlan - Mark old message versions as deprecated ``src/plugins/af_packet/af_packet.api`` * `fe965a3a1 `_ api: af_packet - Mark old message versions as deprecated ``src/plugins/arping/arping.api`` * `8af78b8e3 `_ arping: api to return responder mac address ``src/plugins/npt66/npt66.api`` * `6ee3aa41c `_ npt66: network prefix translation for ipv6 ``src/plugins/idpf/idpf.api`` * `737edea32 `_ idpf: add native idpf driver plugin