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

    • DPDK

    • IDPF Device driver

    • NPTv6

      • Network prefix translation for ipv6 (6ee3aa41c)

    • Trace node

    • Wireguard

      • Add support for chained buffers (f2b6edb14)

    • Fateshare

      • A plugin for managing child processes (f234b0d46)

    • Linux-cp

  • VNET

    • Classifier

      • Add bpf support to pcap classifier (3f4075574)

    • Crypto Infra

    • IPv4 LPM

      • Punt add punt socket support for icmp6 (56b8abc07)

    • TCP

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

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

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

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

src/plugins/bpf_trace_filter/bpf_trace_filter.api

  • ccd307095 bpf_trace_filter: plugin for BPF Trace Filtering

src/plugins/wireguard/wireguard.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