blob: 63a60eb4fafb7306c49c3537aa0907777356248b [file] [log] [blame]
Release notes for VPP 23.06
===========================
More than 298 commits since the previous release, including 145 fixes.
Features
--------
- Build System
- Allow skipping external-deps (`9db6db065 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9db6db065>`_)
- Add Rocky Linux 9 support (`184a70a58 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=184a70a58>`_)
- Infrastructure Library
- Native poly1305 implementation (`003330c55 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=003330c55>`_)
- Add AMD EPYC cpu family details (`6a1a83234 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a1a83234>`_)
- Multiarch support for AMD EPYC processors (`206592bb7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=206592bb7>`_)
- Plugins
- AVF Device driver
- Enable rss action of flow (`21121f60d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=21121f60d>`_)
- DPDK
- Add intf tag to dev{} subinput (`4fe09e9f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4fe09e9f2>`_)
- Enable Google Virtual Ethernet (`e10ace267 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e10ace267>`_)
- Code preparation for bumping to DPDK 22.11 (`efad24a84 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=efad24a84>`_)
- Bump to DPDK 22.11 (`efcf1befc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=efcf1befc>`_)
- Code preparation for bumping to DPDK 23.03 (`648006b3c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=648006b3c>`_)
- Bump to DPDK 23.03 (`df6a00f58 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=df6a00f58>`_)
- Host Stack Applications
- Add an option to configure ns in http cli (`f96b6c65f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f96b6c65f>`_)
- IP session redirect
- Add session redirect plugin (`83e73709c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=83e73709c>`_)
- RDMA (ibverb) driver
- Bump to 43.0 (`6f8335282 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6f8335282>`_)
- Bump version to 45.0 (`0e8ec6468 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0e8ec6468>`_)
- Memif device driver
- Autogenerate socket\_ids (`8b213ee65 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8b213ee65>`_)
- Support dma option (`cada0c507 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cada0c507>`_)
- VNET
- FLOW
- Introduce IP in IP support for flow (`99d3a4054 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=99d3a4054>`_)
- IPSec
- Add per-SA error counters (`ad95b0618 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad95b0618>`_)
- IPv4 LPM
- Support flow-hash gtpv1teid (`b23c6f4f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b23c6f4f2>`_)
- MPLS
- Implement state change callbacks (`ae48ffb50 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ae48ffb50>`_)
- Segment Routing (IPv6 and MPLS)
- Support define src ipv6 per encap policy (`c4c205b09 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c4c205b09>`_)
- Session Layer
- Add session stats (`ac3c8dcb0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac3c8dcb0>`_)
- VPP StrongSwan Daemon
- Allow SAs to be used to the route-based IPsec (`fc2d95d11 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fc2d95d11>`_)
- Vector Library
- Stop worker threads on main loop exit (`d1dc1060d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d1dc1060d>`_)
Known issues
------------
For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
Fixed issues
------------
For the full list of fixed issues please refer to:
- fd.io `JIRA <https://jira.fd.io>`_
- git `commit log <https://git.fd.io/vpp/log/?h=master>`_
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
============================================================= ==================
app_namespace_add_del_v4 only in image
app_namespace_add_del_v4_reply only in image
application_tls_cert_add only in file
application_tls_cert_add_reply only in file
application_tls_key_add only in file
application_tls_key_add_reply only in file
ip_session_redirect_add only in image
ip_session_redirect_add_reply only in image
ip_session_redirect_add_v2 only in image
ip_session_redirect_add_v2_reply only in image
ip_session_redirect_del only in image
ip_session_redirect_del_reply only in image
memif_create_v2 only in image
memif_create_v2_reply only in image
memif_socket_filename_add_del_v2 only in image
memif_socket_filename_add_del_v2_reply only in image
nat44_ed_vrf_tables_v2_details only in image
nat44_ed_vrf_tables_v2_dump only in image
nsh_add_del_entry only in file
nsh_add_del_entry_reply only in file
nsh_add_del_map only in file
nsh_add_del_map_reply only in file
nsh_entry_details only in file
nsh_entry_dump only in file
nsh_map_details only in file
nsh_map_dump only in file
pcap_trace_off only in image
pcap_trace_off_reply only in image
pcap_trace_on only in image
pcap_trace_on_reply only in image
policer_add only in image
policer_add_reply only in image
policer_bind_v2 only in image
policer_bind_v2_reply only in image
policer_del only in image
policer_del_reply only in image
policer_dump_v2 only in image
policer_input_v2 only in image
policer_input_v2_reply only in image
policer_output_v2 only in image
policer_output_v2_reply only in image
policer_reset only in image
policer_reset_reply only in image
policer_update only in image
policer_update_reply only in image
set_ip_flow_hash_v3 only in image
set_ip_flow_hash_v3_reply only in image
sr_policies_v2_details only in image
sr_policies_v2_dump only in image
sr_policy_add_v2 only in image
sr_policy_add_v2_reply only in image
sr_policy_mod_v2 only in image
sr_policy_mod_v2_reply only in image
sw_interface_ip6nd_ra_details only in image
sw_interface_ip6nd_ra_dump only in image
trace_clear_cache only in image
trace_clear_cache_reply only in image
trace_v2_details only in image
trace_v2_dump only in image
============================================================= ==================
Found 59 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.
- app_namespace_add_del_v2
- app_namespace_add_del_v2_reply
- app_namespace_add_del_v3
- app_namespace_add_del_v3_reply
- app_namespace_add_del_v4
- nat44_ed_vrf_tables_details
- nat44_ed_vrf_tables_dump
- rdma_create_reply
- rdma_create_v2_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
- 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
- lcp_itf_pair_add_del_reply
- lcp_itf_pair_add_del_v2
- 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
- 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_v2_details
- 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_set_filters
- trace_set_filters_reply
- trace_v2_details
- trace_v2_dump
- 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/policer/policer.api``
* `2d1a62bfd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d1a62bfd>`_ policer: API policer selection by index
``src/vnet/policer/policer_types.api``
* `2d1a62bfd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d1a62bfd>`_ policer: API policer selection by index
``src/vnet/ip6-nd/ip6_nd.api``
* `3b28fd730 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3b28fd730>`_ ip6-nd: support dump/details for IPv6 RA
``src/vnet/flow/flow.api``
* `39d7699c2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=39d7699c2>`_ api: Mark old message versions as deprecated
``src/vnet/srv6/sr.api``
* `c4c205b09 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c4c205b09>`_ sr: support define src ipv6 per encap policy
``src/vnet/interface.api``
* `ddc16cfcf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ddc16cfcf>`_ api: pcap capture api update
``src/vnet/session/session.api``
* `51f1b26e8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=51f1b26e8>`_ session: update due to clib_socket refactoring
* `c9fac2111 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c9fac2111>`_ api: Remove deprecated message from API
``src/vnet/ip/ip.api``
* `b23c6f4f2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b23c6f4f2>`_ ip: support flow-hash gtpv1teid
``src/plugins/rdma/rdma.api``
* `9db32048d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9db32048d>`_ api: Mark old message versions as deprecated
``src/plugins/gre/gre.api``
* `cefb178aa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cefb178aa>`_ gre: move to a plugin
``src/plugins/ip_session_redirect/ip_session_redirect.api``
* `83e73709c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=83e73709c>`_ ip_session_redirect: add session redirect plugin
``src/plugins/tracedump/tracedump.api``
* `02063b985 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=02063b985>`_ misc: fix tracedump API to match CLI behavior
``src/plugins/lb/lb_types.api``
* `2cebd4270 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2cebd4270>`_ lb: improve formatting in lb_types.api
``src/plugins/nat/nat44-ed/nat44_ed.api``
* `d9df16503 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d9df16503>`_ nat: adding a new api nat44_ed_vrf_tables_v2_dump
``src/plugins/vxlan/vxlan.api``
* `8bd4db599 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8bd4db599>`_ vxlan: convert vxlan to a plugin
``src/plugins/memif/memif.api``
* `cada0c507 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cada0c507>`_ memif: support dma option
* `8b213ee65 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8b213ee65>`_ memif: autogenerate socket_ids
``src/plugins/linux-cp/lcp.api``
* `139b2da5c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=139b2da5c>`_ vppapigen: enable codegen for stream message types