Release notes for VPP 21.06
===========================

More than 787 commits since the previous release, including 364 fixes.

Release Highlights
------------------

There are many excellent new features in this release, however a few of
them deserve a special mention.

Linux Control Plane Plugin (linux-cp)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

One of the more significant new features included in this release is a
linux control plane (linux-cp) plugin. It enables the near-seamless
integration of VPP with the host control plane, by mirroring the VPP
interfaces into a TUN or TAP device created in the linux kernel. All of
the punted packets received on the VPP interface will be sent to the
linux counterpart, and in the reverse direction, packets sent by linux
kernel will be transmitted out the VPP interface. This plugin lays the
foundation for the much easier integration of external software with
VPP.

Performance Monitor Plugin (perfmon)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Another interesting feature is the performance monitor (perfmon) plugin.
It allows collection of detailed low-level CPU statistics on a per-node
basis. It provides a useful advanced troubleshooting tool, should you
encounter that a specific node’s performance is not on par with what it
should be. Note, that the correct functioning of this plugin may require
changing the /proc/sys/kernel/perf_event_paranoid setting to enable
access to the performance counters.

API CRC Substitution Table Removal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

And finally a clarification, not a feature per se. Some messages in the
API changes table for this release have a new marking: “message CRC32
fix”. The history of this issue goes back to summer of 2020, when it was
discovered that for a considerable amount of time (several months) the
calculation of the CRC of API messages was incorrect. Specifically, all
but the first user-defined types in the message failed to be included in
the CRC calculation. In plain words, this means that one might end up
with a situation where client and VPP layout of message in memory could
be quite different.

At the time of discovery, there were no API changes that were affected
by that bug. However, simply fixing it meant the CRC of about half of
the VPP API messages would be altered for no reason which would result
in a significant amount of pain to the consumers of VPP. A message CRC
is just an opague number for anyone using it, and the only property of
it for the user is that the messages with the same value of CRC have the
same layout on the wire with a sufficiently high certainty.

Therefore a fix
(`9f84e70c6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9f84e70c6>`__)
was merged that also contained a “band-aid” to avoid this pain. In
addition to fixing the CRC generation algorithm, the fix captured the
“new” CRC values for those messages that had their CRCs arbitrarily
changed by this fix and created a substituion table with [message name,
new CRC, old CRC] triplets. For a given message, if the CRC matched the
recorded new value, the code would substitute it with the old value,
thus trading in a reduction in collision resistance (two values of CRC
out of 2^32 space) for not forcing users to adapt to several hundred of
messages which changed the CRCs.

This band-aid also had the property that whenever a message did change
the definition, it would automatically get a “correct” calculation of
CRC32 and no longer use the slot in the table. The table naturally
shrinks over time, thus allowing a painless transition, while also
preserving the integrity check for the affected messages. If any fields
changed, the CRC would no longer match the “new” value thus no
substitution would be made. Since the choice of CRC32 is just an
implementation detail which is supposed to be opaque to the user, the
band-aid was deemed a reasonable approach to avoid a major burden on VPP
consumers.

However, in practice this solution was not accepted well. After a
notification period, the API CRC Substitution table was removed by the
patch
(`da1b76aa8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da1b76aa8>`__).
Thus all of the API CRC changes that did not happen in 9f84e70c6,
happened in da1b76aa8. Hopefully the notification of these changes has
reduced the inconvenience. VPP users are asked to not rely on any other
property of the message CRC other than changes to its value when the
message layout changes.

Features
--------

-  Binary API Compiler for Python

   -  Support an ‘autoendian’ keyword for message definitions in .api
      files
      (`9302cfea9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9302cfea9>`__)

-  Build System

   -  Make rpath optional
      (`2c91922eb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2c91922eb>`__)

-  Infrastructure Library

   -  Add option to use libexecinfo
      (`67d7acd05 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=67d7acd05>`__)
   -  Add bihash with 32 byte key
      (`f613a4402 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f613a4402>`__)
   -  Add missing %o
      (`04a14133c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=04a14133c>`__)

-  Plugins

   -  ARPing CLI

      -  Add arping command
         (`a77ae4708 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a77ae4708>`__)

   -  AVF Device driver

      -  Add avf flow framework
         (`ffe9a5489 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ffe9a5489>`__)

   -  CNat

      -  Add maglev support
         (`4d237874e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d237874e>`__)
      -  Add input feature node
         (`cc9a1a0d3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cc9a1a0d3>`__)
      -  Add calico/k8s src policy
         (`516b0adf6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=516b0adf6>`__)

   -  Crypto - ipsecmb

      -  Add support for AES CTR
         (`fe7ff320b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe7ff320b>`__)

   -  DPDK

      -  Rebase cryptodev engine for DPDK 20.11
         (`25f371ee0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=25f371ee0>`__)
      -  Allow configure individual VMBUS devices
         (`982272974 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=982272974>`__)
      -  Implement interrupt mode
         (`19ff0c369 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=19ff0c369>`__)

   -  IPv6 Segment Routing Flow-Based Dynamic Proxy

      -  SRv6 Per-Flow Dynamic Proxy
         (`ed7c62a30 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed7c62a30>`__)

   -  Internet Key Exchange (IKEv2) Protocol

      -  Use new counters data model & add more counters
         (`fab5e7f39 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fab5e7f39>`__)
      -  Add per SA stats
         (`68d275356 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68d275356>`__)
      -  Support responder hostname
         (`af2cc6425 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af2cc6425>`__)

   -  NAT

      -  1:1 policy NAT
         (`18327be5d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=18327be5d>`__)
      -  Pnat copy and clear byte instructions
         (`ab3151c52 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab3151c52>`__)

   -  QUIC protocol

      -  Quicly v0.1.2 update
         (`2e4523816 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2e4523816>`__)
      -  Update quicly to v0.1.3
         (`db36fda74 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=db36fda74>`__)

   -  RDMA (ibverb) driver

      -  Add support for RSS configuration
         (`f5a45680e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5a45680e>`__)

   -  SRTP

      -  Basic implementation based on libsrtp2
         (`6621abf49 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6621abf49>`__)

   -  TCP MSS Clamping

      -  TCP MSS clamping plugin
         (`bf55e9931 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bf55e9931>`__)

   -  Linux-cp

      -  Linux Interface Mirroring for Control Plane Integration
         (`44db1caef <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=44db1caef>`__)

   -  Memif device driver

      -  Adapt to new rxq framework
         (`755941865 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=755941865>`__)

   -  Performance counter

      -  New perfmon plugin
         (`8b60fb0fe <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8b60fb0fe>`__)

-  Python binding for the VPP API

   -  Expose vpp_papi version to client
      (`b552ff2e9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b552ff2e9>`__)

-  SVM Library

   -  Allow mq attachments at random offsets
      (`b46241889 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b46241889>`__)
   -  Per app rx message queues
      (`41d5f541d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=41d5f541d>`__)

-  Statistics Segment

   -  Adding symlinks for nodes and interfaces in the stat segment
      (`db0238090 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=db0238090>`__)
   -  Memory heap counters
      (`a606d9210 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a606d9210>`__)

-  VNET

   -  Crypto Infra

      -  Add support for aes-ctr+sha-1 chains
         (`40ee2003b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=40ee2003b>`__)
      -  Support hashing operations
         (`06111a837 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=06111a837>`__)
      -  Add chacha20-poly1305 support to ipsecmb
         (`106e24bd9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=106e24bd9>`__)

   -  FIB

      -  Allow the creation of new source on the API
         (`976b259be <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=976b259be>`__)

   -  FLOW

      -  Add API implementation of IP4/IP6, IP4_VXLAN/IP6_VXLAN
         (`c7e7819ad <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7e7819ad>`__)

   -  IPIP

      -  Support MPLS over IP
         (`e294de6f8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e294de6f8>`__)

   -  IPSec

      -  Support MPLS over IPSec[46] interface
         (`4a58e49cf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4a58e49cf>`__)
      -  Add support for AES CTR
         (`490b92738 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=490b92738>`__)
      -  CLI improvement for udp port encap
         (`048189e7a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=048189e7a>`__)
      -  Use the new tunnel API types to add flow label and TTL copy
         support
         (`c7eaa711f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7eaa711f>`__)
      -  Use the new tunnel API types to add flow label and TTL copy
         support
         (`9ec846c26 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ec846c26>`__)
      -  Support async mode per-SA
         (`f16e9a550 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f16e9a550>`__)

   -  IPv4 LPM

      -  Add API to retrieve IPv6 link-layer address
         (`58a1915b5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=58a1915b5>`__)
      -  Router ID included in flow hash
         (`3d5f08a82 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3d5f08a82>`__)
      -  Path MTU
         (`8f5fef2c7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8f5fef2c7>`__)
      -  Extend punt CLI for exception packets
         (`45723b8d3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=45723b8d3>`__)
      -  Extend show cmd of ip reassembly configuration
         (`74a4a70ef <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=74a4a70ef>`__)

   -  Interface Common

      -  RX/TX direction type in API
         (`6a999d67d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a999d67d>`__)
      -  Add promisc on/off in api
         (`fd0b399ff <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fd0b399ff>`__)

   -  L2

      -  Add per bridge domain learn limit
         (`5f93e3b7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5f93e3b7f>`__)
      -  Separating scan-delay and learn-limit into a separate API from
         want_l2_macs_events
         (`0f8d10035 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0f8d10035>`__)

   -  Session Layer

      -  Basic support for interrupt mode
         (`7da8829d8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7da8829d8>`__)
      -  Api to update connection attributes
         (`04ae8273f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=04ae8273f>`__)

   -  TLS and TLS engine plugins

      -  Dtls initial implementation
         (`4b47ee26c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4b47ee26c>`__)

   -  Vhost User Driver

      -  Add event index for interrupt notification to driver
         (`27ba5008a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=27ba5008a>`__)

   -  Tunnel

      -  Support copying TTL and flow label from inner to outer
         (`a91cb4590 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a91cb4590>`__)

-  VPP Comms Library

   -  Extended connect/listen configuration
      (`4ac258497 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4ac258497>`__)

-  Libmemif

   -  Set next free buffer
      (`47e68de22 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47e68de22>`__)
   -  Set data offset for memif buffer
      (`1421748e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1421748e3>`__)

Known issues
------------

Coverity Issues
~~~~~~~~~~~~~~~

Starting with this release, we add the section about the section with
the unresolved Coverity Issues into the Release Notes. In order to view
the issues, visit https://scan.coverity.com/, add yourself to fd.io VPP
project and click on the matching IDs.

Plugin - PPPoE:
^^^^^^^^^^^^^^^

-  BUG 218437 in function: pppoe_input_node_fn, file:
   /src/plugins/pppoe/pppoe_decap.c
-  BUG 218401 in function: pppoe_input_node_fn, file:
   /src/plugins/pppoe/pppoe_decap.c #### VNET - IP6 Neighbor Discovery:
-  BUG 218382 in function: set_ip6_nd_proxy_cmd, file:
   /src/vnet/ip6-nd/ip6_nd_proxy.c #### Plugin - TCP MSS Clamping:
-  BUG 219550 in function: vl_api_mss_clamp_enable_disable_t_handler,
   file: /src/plugins/mss_clamp/mss_clamp_api.c #### Plugin -
   performance counter:
-  BUG 216295 in function: format_text_cell, file:
   /src/plugins/perfmon/table.c
-  BUG 218459 in function: intel_uncore_init, file:
   /src/plugins/perfmon/intel/uncore.c
-  BUG 216249 in function: perfmon_reset, file:
   /src/plugins/perfmon/perfmon.c #### Plugin - DPDK:
-  BUG 220290 in function: dpdk_lib_init, file:
   /src/plugins/dpdk/device/init.c
-  BUG 220289 in function: dpdk_lib_init, file:
   /src/plugins/dpdk/device/init.c
-  BUG 220105 in function: cryptodev_get_common_capabilities, file:
   /src/plugins/dpdk/cryptodev/cryptodev.c #### VNET IPv4 LPM:
-  BUG 216981 in function: icmp_to_icmp6, file:
   /src/vnet/ip/ip4_to_ip6.h
-  BUG 214755 in function: ip_in_out_acl_inline, file:
   /src/vnet/ip/ip_in_out_acl.c
-  BUG 220099 in function: vl_api_ip_route_lookup_v2_t_handler, file:
   /src/vnet/ip/ip_api.c #### Plugin - Unit Tests:
-  BUG 218446 in function: test_crypto_perf, file:
   /src/plugins/unittest/crypto_test.c #### Plugin - NSH:
-  BUG 218432 in function: nsh_add_del_entry, file:
   /src/plugins/nsh/nsh_api.c #### Vector Library - PCI:
-  BUG 218391 in function: vlib_pci_device_open, file:
   /src/vlib/linux/pci.c
-  BUG 218396 in function: linux_pci_init, file: /src/vlib/linux/pci.c
   #### VNET Segment Routing (IPv6 and MPLS):
-  BUG 218375 in function: sr_policy_del, file:
   /src/vnet/srv6/sr_policy_rewrite.c
-  BUG 218409 in function: sr_steering_policy, file:
   /src/vnet/srv6/sr_steering.c
-  BUG 218427 in function: sr_policy_mod, file:
   /src/vnet/srv6/sr_policy_rewrite.c
-  BUG 180995 in function: sr_mpls_policy_assign_endpoint_color, file:
   /src/vnet/srmpls/sr_mpls_policy.c #### Vector Library:
-  BUG 218552 in function: add_sub_command, file: /src/vlib/cli.c ####
   VNET FIB:
-  BUG 216057 in function: fib_sas6_get, file: /src/vnet/fib/fib_sas.c
   #### VNET Ethernet:
-  BUG 214973 in function: ethernet_input_inline, file:
   /src/vnet/ethernet/node.c
-  BUG 218549 in function: identify_subint, file:
   /src/vnet/ethernet/node.c #### Infrastructure Library:
-  BUG 236112 in function: extract_bits, file: /src/vppinfra/clib.h ####
   Binary API Compiler for C and C++:
-  BUG 236138 in function: test_loopbacks_2, file:
   /src/vpp-api/vapi/vapi_cpp_test.cpp
-  BUG 236140 in function: test_loopbacks_1, file:
   /src/vpp-api/vapi/vapi_cpp_test.cpp
-  BUG 236139 in function: Create_loopback_cb, file:
   /src/vpp-api/vapi/vapi_cpp_test.cpp
-  BUG 236136 in function: test_api_strings, file:
   /src/vpp-api/vapi/vapi_c_test.c
-  BUG 236137 in function: Delete_loopback_cb, file:
   /src/vpp-api/vapi/vapi_cpp_test.cpp #### Plugin - IPv6 Segment
   Routing Masquerading Proxy:
-  BUG 218441 in function: srv6_am_localsid_removal_fn, file:
   /src/plugins/srv6-am/am.c #### VNET Policer:
-  BUG 218398 in function: show_policer_command_fn, file:
   /src/vnet/policer/policer.c #### Plugin - DHCP:
-  BUG 218381 in function: dhcpv6_proxy_to_client_input, file:
   /src/plugins/dhcp/dhcp6_proxy_node.c #### Plugin - IOAM:
-  BUG 216232 in function: ioam_cache_ts_table_destroy, file:
   /src/plugins/ioam/ip6/ioam_cache.h #### VNET IPv6 LPM:
-  BUG 216981 in function: icmp_to_icmp6, file:
   /src/vnet/ip/ip4_to_ip6.h
-  BUG 214755 in function: ip_in_out_acl_inline, file:
   /src/vnet/ip/ip_in_out_acl.c
-  BUG 220099 in function: vl_api_ip_route_lookup_v2_t_handler, file:
   /src/vnet/ip/ip_api.c

Jira 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=stable/2106>`__


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 CRC32 fix*: please refer to release highlights for
   description.

=============================================== ==================
Message Name                                    Result
=============================================== ==================
abf_policy_add_del                              message CRC32 fix
abf_policy_details                              message CRC32 fix
acl_add_replace                                 message CRC32 fix
acl_details                                     message CRC32 fix
af_xdp_create                                   definition changed
arping                                          only in image
arping_reply                                    only in image
bd_ip_mac_add_del                               message CRC32 fix
bd_ip_mac_details                               message CRC32 fix
bfd_udp_add                                     message CRC32 fix
bfd_udp_auth_activate                           message CRC32 fix
bfd_udp_auth_deactivate                         message CRC32 fix
bfd_udp_del                                     message CRC32 fix
bfd_udp_get_echo_source_reply                   message CRC32 fix
bfd_udp_mod                                     message CRC32 fix
bfd_udp_session_details                         message CRC32 fix
bfd_udp_session_event                           only in image
bfd_udp_session_set_flags                       message CRC32 fix
bier_disp_entry_add_del                         message CRC32 fix
bier_disp_entry_details                         message CRC32 fix
bier_route_add_del                              message CRC32 fix
bier_route_details                              message CRC32 fix
bond_create                                     message CRC32 fix
bond_enslave                                    message CRC32 fix
bridge_domain_details                           message CRC32 fix
bridge_domain_set_default_learn_limit           only in image
bridge_domain_set_default_learn_limit_reply     only in image
bridge_domain_set_learn_limit                   only in image
bridge_domain_set_learn_limit_reply             only in image
cnat_add_del_snat_prefix                        only in file
cnat_add_del_snat_prefix_reply                  only in file
cnat_session_details                            definition changed
cnat_set_snat_policy                            only in image
cnat_set_snat_policy_reply                      only in image
cnat_snat_policy_add_del_exclude_pfx            only in image
cnat_snat_policy_add_del_exclude_pfx_reply      only in image
cnat_snat_policy_add_del_if                     only in image
cnat_snat_policy_add_del_if_reply               only in image
cnat_translation_details                        definition changed
cnat_translation_update                         definition changed
cop_interface_enable_disable                    only in file
cop_interface_enable_disable_reply              only in file
cop_whitelist_enable_disable                    only in file
cop_whitelist_enable_disable_reply              only in file
create_subif                                    message CRC32 fix
create_vhost_user_if_v2                         only in image
create_vhost_user_if_v2_reply                   only in image
dhcp6_pd_reply_event                            message CRC32 fix
dhcp6_pd_send_client_message                    message CRC32 fix
dhcp6_reply_event                               message CRC32 fix
dhcp6_send_client_message                       message CRC32 fix
dhcp_client_config                              message CRC32 fix
dhcp_client_details                             message CRC32 fix
dhcp_compl_event                                message CRC32 fix
dhcp_proxy_config                               message CRC32 fix
dhcp_proxy_details                              message CRC32 fix
dslite_add_del_pool_addr_range                  message CRC32 fix
dslite_get_aftr_addr_reply                      message CRC32 fix
dslite_get_b4_addr_reply                        message CRC32 fix
dslite_set_aftr_addr                            message CRC32 fix
dslite_set_b4_addr                              message CRC32 fix
fib_source_add                                  only in image
fib_source_add_reply                            only in image
fib_source_details                              only in image
fib_source_dump                                 only in image
flow_add                                        definition changed
gbp_bridge_domain_add                           message CRC32 fix
gbp_bridge_domain_details                       message CRC32 fix
gbp_contract_add_del                            message CRC32 fix
gbp_contract_details                            message CRC32 fix
gbp_endpoint_add                                message CRC32 fix
gbp_endpoint_details                            message CRC32 fix
gbp_endpoint_group_add                          message CRC32 fix
gbp_endpoint_group_details                      message CRC32 fix
gbp_ext_itf_add_del                             message CRC32 fix
gbp_ext_itf_details                             message CRC32 fix
gbp_route_domain_add                            message CRC32 fix
gbp_route_domain_details                        message CRC32 fix
gbp_subnet_add_del                              message CRC32 fix
gbp_subnet_details                              message CRC32 fix
geneve_add_del_tunnel                           message CRC32 fix
geneve_tunnel_details                           message CRC32 fix
gpe_add_del_fwd_entry                           message CRC32 fix
gpe_add_del_native_fwd_rpath                    message CRC32 fix
gpe_fwd_entries_get_reply                       message CRC32 fix
gpe_fwd_entry_path_details                      message CRC32 fix
gpe_native_fwd_rpaths_get_reply                 message CRC32 fix
gre_tunnel_add_del                              message CRC32 fix
gre_tunnel_details                              message CRC32 fix
gtpu_add_del_tunnel                             message CRC32 fix
gtpu_tunnel_details                             message CRC32 fix
gtpu_tunnel_update_tteid                        message CRC32 fix
igmp_details                                    message CRC32 fix
igmp_event                                      message CRC32 fix
igmp_group_prefix_details                       message CRC32 fix
igmp_group_prefix_set                           message CRC32 fix
igmp_listen                                     message CRC32 fix
ikev2_sa_details                                definition changed
ikev2_set_responder_hostname                    only in image
ikev2_set_responder_hostname_reply              only in image
ioam_export_ip6_enable_disable                  message CRC32 fix
ip6_add_del_address_using_prefix                message CRC32 fix
ip6_ra_event                                    message CRC32 fix
ip6nd_proxy_add_del                             message CRC32 fix
ip6nd_proxy_details                             message CRC32 fix
ip_address_details                              message CRC32 fix
ip_container_proxy_add_del                      message CRC32 fix
ip_container_proxy_details                      message CRC32 fix
ip_neighbor_add_del                             message CRC32 fix
ip_neighbor_details                             message CRC32 fix
ip_neighbor_dump                                message CRC32 fix
ip_neighbor_event                               message CRC32 fix
ip_path_mtu_details                             only in image
ip_path_mtu_get                                 only in image
ip_path_mtu_get_reply                           only in image
ip_path_mtu_replace_begin                       only in image
ip_path_mtu_replace_begin_reply                 only in image
ip_path_mtu_replace_end                         only in image
ip_path_mtu_replace_end_reply                   only in image
ip_path_mtu_update                              only in image
ip_path_mtu_update_reply                        only in image
ip_punt_redirect                                message CRC32 fix
ip_punt_redirect_details                        message CRC32 fix
ip_reassembly_enable_disable                    message CRC32 fix
ip_route_add_del                                message CRC32 fix
ip_route_add_del_v2                             only in image
ip_route_add_del_v2_reply                       only in image
ip_route_details                                message CRC32 fix
ip_route_lookup                                 message CRC32 fix
ip_route_lookup_reply                           message CRC32 fix
ip_route_lookup_v2                              only in image
ip_route_lookup_v2_reply                        only in image
ip_route_v2_details                             only in image
ip_route_v2_dump                                only in image
ip_source_and_port_range_check_add_del          message CRC32 fix
ip_unnumbered_details                           message CRC32 fix
ipfix_exporter_details                          message CRC32 fix
ipip_6rd_add_tunnel                             message CRC32 fix
ipip_add_tunnel                                 message CRC32 fix
ipip_tunnel_details                             message CRC32 fix
ipsec_sa_details                                message CRC32 fix
ipsec_sa_v3_details                             only in image
ipsec_sa_v3_dump                                only in image
ipsec_sad_entry_add_del                         message CRC32 fix
ipsec_sad_entry_add_del_v3                      only in image
ipsec_sad_entry_add_del_v3_reply                only in image
ipsec_spd_details                               message CRC32 fix
ipsec_spd_entry_add_del                         message CRC32 fix
ipsec_tunnel_if_add_del                         only in file
ipsec_tunnel_if_add_del_reply                   only in file
ipsec_tunnel_if_set_sa                          only in file
ipsec_tunnel_if_set_sa_reply                    only in file
ipsec_tunnel_protect_del                        message CRC32 fix
ipsec_tunnel_protect_details                    message CRC32 fix
ipsec_tunnel_protect_update                     message CRC32 fix
l2_arp_term_event                               message CRC32 fix
l2_fib_table_details                            message CRC32 fix
l2_interface_pbb_tag_rewrite                    message CRC32 fix
l2_macs_event                                   message CRC32 fix
l2_patch_add_del                                message CRC32 fix
l2_xconnect_details                             message CRC32 fix
l2fib_add_del                                   message CRC32 fix
l2fib_set_scan_delay                            only in image
l2fib_set_scan_delay_reply                      only in image
l2tpv3_create_tunnel                            message CRC32 fix
l3xc_details                                    message CRC32 fix
l3xc_update                                     message CRC32 fix
lb_add_del_as                                   message CRC32 fix
lb_add_del_vip                                  message CRC32 fix
lb_as_details                                   message CRC32 fix
lb_conf                                         message CRC32 fix
lb_vip_details                                  message CRC32 fix
lb_vip_dump                                     message CRC32 fix
lisp_add_del_adjacency                          message CRC32 fix
lisp_add_del_local_eid                          message CRC32 fix
lisp_add_del_map_resolver                       message CRC32 fix
lisp_add_del_map_server                         message CRC32 fix
lisp_add_del_remote_mapping                     message CRC32 fix
lisp_adjacencies_get_reply                      message CRC32 fix
lisp_eid_table_details                          message CRC32 fix
lisp_eid_table_dump                             message CRC32 fix
lisp_locator_details                            message CRC32 fix
lisp_map_resolver_details                       message CRC32 fix
lisp_map_server_details                         message CRC32 fix
lisp_use_petr                                   message CRC32 fix
log_details                                     message CRC32 fix
macip_acl_add                                   message CRC32 fix
macip_acl_add_replace                           message CRC32 fix
macip_acl_details                               message CRC32 fix
mactime_add_del_range                           message CRC32 fix
mactime_details                                 message CRC32 fix
map_add_domain                                  message CRC32 fix
map_domain_details                              message CRC32 fix
map_param_add_del_pre_resolve                   message CRC32 fix
map_param_get_reply                             message CRC32 fix
memif_details                                   message CRC32 fix
mfib_signal_details                             message CRC32 fix
modify_vhost_user_if_v2                         only in image
modify_vhost_user_if_v2_reply                   only in image
mpls_ip_bind_unbind                             message CRC32 fix
mpls_route_add_del                              message CRC32 fix
mpls_route_details                              message CRC32 fix
mpls_tunnel_add_del                             message CRC32 fix
mpls_tunnel_details                             message CRC32 fix
mss_clamp_details                               only in image
mss_clamp_enable_disable                        only in image
mss_clamp_enable_disable_reply                  only in image
mss_clamp_get                                   only in image
mss_clamp_get_reply                             only in image
nat44_add_del_address_range                     message CRC32 fix
nat44_add_del_identity_mapping                  message CRC32 fix
nat44_add_del_interface_addr                    message CRC32 fix
nat44_add_del_lb_static_mapping                 message CRC32 fix
nat44_add_del_static_mapping                    message CRC32 fix
nat44_address_details                           message CRC32 fix
nat44_del_session                               message CRC32 fix
nat44_ed_plugin_enable_disable                  only in image
nat44_ed_plugin_enable_disable_reply            only in image
nat44_ed_set_fq_options                         only in image
nat44_ed_set_fq_options_reply                   only in image
nat44_ed_show_fq_options                        only in image
nat44_ed_show_fq_options_reply                  only in image
nat44_ei_add_del_address_range                  only in image
nat44_ei_add_del_address_range_reply            only in image
nat44_ei_add_del_identity_mapping               only in image
nat44_ei_add_del_identity_mapping_reply         only in image
nat44_ei_add_del_interface_addr                 only in image
nat44_ei_add_del_interface_addr_reply           only in image
nat44_ei_add_del_static_mapping                 only in image
nat44_ei_add_del_static_mapping_reply           only in image
nat44_ei_address_details                        only in image
nat44_ei_address_dump                           only in image
nat44_ei_del_session                            only in image
nat44_ei_del_session_reply                      only in image
nat44_ei_del_user                               only in image
nat44_ei_del_user_reply                         only in image
nat44_ei_forwarding_enable_disable              only in image
nat44_ei_forwarding_enable_disable_reply        only in image
nat44_ei_get_addr_and_port_alloc_alg            only in image
nat44_ei_get_addr_and_port_alloc_alg_reply      only in image
nat44_ei_get_mss_clamping                       only in image
nat44_ei_get_mss_clamping_reply                 only in image
nat44_ei_ha_flush                               only in image
nat44_ei_ha_flush_reply                         only in image
nat44_ei_ha_get_failover                        only in image
nat44_ei_ha_get_failover_reply                  only in image
nat44_ei_ha_get_listener                        only in image
nat44_ei_ha_get_listener_reply                  only in image
nat44_ei_ha_resync                              only in image
nat44_ei_ha_resync_completed_event              only in image
nat44_ei_ha_resync_reply                        only in image
nat44_ei_ha_set_failover                        only in image
nat44_ei_ha_set_failover_reply                  only in image
nat44_ei_ha_set_listener                        only in image
nat44_ei_ha_set_listener_reply                  only in image
nat44_ei_identity_mapping_details               only in image
nat44_ei_identity_mapping_dump                  only in image
nat44_ei_interface_add_del_feature              only in image
nat44_ei_interface_add_del_feature_reply        only in image
nat44_ei_interface_add_del_output_feature       only in image
nat44_ei_interface_add_del_output_feature_reply only in image
nat44_ei_interface_addr_details                 only in image
nat44_ei_interface_addr_dump                    only in image
nat44_ei_interface_details                      only in image
nat44_ei_interface_dump                         only in image
nat44_ei_interface_output_feature_details       only in image
nat44_ei_interface_output_feature_dump          only in image
nat44_ei_ipfix_enable_disable                   only in image
nat44_ei_ipfix_enable_disable_reply             only in image
nat44_ei_plugin_enable_disable                  only in image
nat44_ei_plugin_enable_disable_reply            only in image
nat44_ei_set_addr_and_port_alloc_alg            only in image
nat44_ei_set_addr_and_port_alloc_alg_reply      only in image
nat44_ei_set_fq_options                         only in image
nat44_ei_set_fq_options_reply                   only in image
nat44_ei_set_log_level                          only in image
nat44_ei_set_log_level_reply                    only in image
nat44_ei_set_mss_clamping                       only in image
nat44_ei_set_mss_clamping_reply                 only in image
nat44_ei_set_timeouts                           only in image
nat44_ei_set_timeouts_reply                     only in image
nat44_ei_set_workers                            only in image
nat44_ei_set_workers_reply                      only in image
nat44_ei_show_fq_options                        only in image
nat44_ei_show_fq_options_reply                  only in image
nat44_ei_show_running_config                    only in image
nat44_ei_show_running_config_reply              only in image
nat44_ei_static_mapping_details                 only in image
nat44_ei_static_mapping_dump                    only in image
nat44_ei_user_details                           only in image
nat44_ei_user_dump                              only in image
nat44_ei_user_session_details                   only in image
nat44_ei_user_session_dump                      only in image
nat44_ei_worker_details                         only in image
nat44_ei_worker_dump                            only in image
nat44_identity_mapping_details                  message CRC32 fix
nat44_interface_addr_details                    message CRC32 fix
nat44_lb_static_mapping_add_del_local           message CRC32 fix
nat44_lb_static_mapping_details                 message CRC32 fix
nat44_static_mapping_details                    message CRC32 fix
nat44_user_session_details                      message CRC32 fix
nat64_add_del_pool_addr_range                   message CRC32 fix
nat64_add_del_static_bib                        message CRC32 fix
nat64_bib_details                               message CRC32 fix
nat64_st_details                                message CRC32 fix
nat66_add_del_static_mapping                    message CRC32 fix
nat66_plugin_enable_disable                     only in image
nat66_plugin_enable_disable_reply               only in image
nat66_static_mapping_details                    message CRC32 fix
nat_det_add_del_map                             message CRC32 fix
nat_det_close_session_in                        message CRC32 fix
nat_det_close_session_out                       message CRC32 fix
nat_det_map_details                             message CRC32 fix
nsh_add_del_map                                 message CRC32 fix
nsh_map_details                                 message CRC32 fix
nsim_cross_connect_enable_disable               message CRC32 fix
one_add_del_adjacency                           message CRC32 fix
one_add_del_l2_arp_entry                        message CRC32 fix
one_add_del_local_eid                           message CRC32 fix
one_add_del_map_resolver                        message CRC32 fix
one_add_del_map_server                          message CRC32 fix
one_add_del_ndp_entry                           message CRC32 fix
one_add_del_remote_mapping                      message CRC32 fix
one_adjacencies_get_reply                       message CRC32 fix
one_eid_table_details                           message CRC32 fix
one_eid_table_dump                              message CRC32 fix
one_l2_arp_entries_get_reply                    message CRC32 fix
one_locator_details                             message CRC32 fix
one_map_resolver_details                        message CRC32 fix
one_map_server_details                          message CRC32 fix
one_ndp_entries_get_reply                       message CRC32 fix
one_stats_details                               message CRC32 fix
one_use_petr                                    message CRC32 fix
p2p_ethernet_add                                message CRC32 fix
p2p_ethernet_del                                message CRC32 fix
pipe_create_reply                               message CRC32 fix
pipe_details                                    message CRC32 fix
pnat_binding_add                                only in image
pnat_binding_add_reply                          only in image
pnat_binding_attach                             only in image
pnat_binding_attach_reply                       only in image
pnat_binding_del                                only in image
pnat_binding_del_reply                          only in image
pnat_binding_detach                             only in image
pnat_binding_detach_reply                       only in image
pnat_bindings_details                           only in image
pnat_bindings_get                               only in image
pnat_bindings_get_reply                         only in image
pnat_interfaces_details                         only in image
pnat_interfaces_get                             only in image
pnat_interfaces_get_reply                       only in image
policer_add_del                                 message CRC32 fix
policer_bind                                    only in image
policer_bind_reply                              only in image
policer_details                                 message CRC32 fix
policer_input                                   only in image
policer_input_reply                             only in image
pppoe_add_del_session                           message CRC32 fix
pppoe_session_details                           message CRC32 fix
proxy_arp_add_del                               message CRC32 fix
proxy_arp_details                               message CRC32 fix
punt_socket_deregister                          message CRC32 fix
punt_socket_details                             message CRC32 fix
punt_socket_register                            message CRC32 fix
qos_record_details                              message CRC32 fix
qos_record_enable_disable                       message CRC32 fix
qos_store_details                               message CRC32 fix
qos_store_enable_disable                        message CRC32 fix
rdma_create_v3                                  only in image
rdma_create_v3_reply                            only in image
session_rule_add_del                            message CRC32 fix
session_rules_details                           message CRC32 fix
set_ip_flow_hash_router_id                      only in image
set_ip_flow_hash_router_id_reply                only in image
set_ip_flow_hash_v2                             only in image
set_ip_flow_hash_v2_reply                       only in image
set_ipfix_exporter                              message CRC32 fix
set_punt                                        message CRC32 fix
show_lisp_use_petr_reply                        message CRC32 fix
show_one_use_petr_reply                         message CRC32 fix
sr_localsid_add_del                             message CRC32 fix
sr_localsids_details                            message CRC32 fix
sr_mpls_policy_assign_endpoint_color            message CRC32 fix
sr_mpls_steering_add_del                        message CRC32 fix
sr_policies_details                             message CRC32 fix
sr_policy_add                                   message CRC32 fix
sr_policy_mod                                   message CRC32 fix
sr_steering_add_del                             message CRC32 fix
sr_steering_pol_details                         message CRC32 fix
stn_add_del_rule                                message CRC32 fix
stn_rules_details                               message CRC32 fix
svs_details                                     message CRC32 fix
svs_route_add_del                               message CRC32 fix
sw_if_l2tpv3_tunnel_details                     message CRC32 fix
sw_interface_add_del_address                    message CRC32 fix
sw_interface_bond_details                       message CRC32 fix
sw_interface_details                            message CRC32 fix
sw_interface_event                              message CRC32 fix
sw_interface_ip6_get_link_local_address         only in image
sw_interface_ip6_get_link_local_address_reply   only in image
sw_interface_ip6_set_link_local_address         message CRC32 fix
sw_interface_ip6nd_ra_prefix                    message CRC32 fix
sw_interface_lacp_details                       message CRC32 fix
sw_interface_rx_placement_details               message CRC32 fix
sw_interface_set_flags                          message CRC32 fix
sw_interface_set_l2_bridge                      message CRC32 fix
sw_interface_set_l2_xconnect                    message CRC32 fix
sw_interface_set_lldp                           message CRC32 fix
sw_interface_set_mac_address                    message CRC32 fix
sw_interface_set_promisc                        only in image
sw_interface_set_promisc_reply                  only in image
sw_interface_set_rx_mode                        message CRC32 fix
sw_interface_set_unnumbered                     message CRC32 fix
sw_interface_span_details                       message CRC32 fix
sw_interface_span_enable_disable                message CRC32 fix
sw_interface_tap_v2_details                     message CRC32 fix
sw_interface_vhost_user_details                 message CRC32 fix
sw_interface_virtio_pci_details                 message CRC32 fix
syslog_get_sender_reply                         message CRC32 fix
syslog_set_sender                               message CRC32 fix
tap_create_v2                                   message CRC32 fix
tcp_configure_src_addresses                     message CRC32 fix
teib_details                                    message CRC32 fix
teib_entry_add_del                              message CRC32 fix
udp_encap_add                                   message CRC32 fix
udp_encap_details                               message CRC32 fix
udp_ping_add_del                                message CRC32 fix
virtio_pci_create                               message CRC32 fix
vmxnet3_details                                 message CRC32 fix
vrrp_vr_add_del                                 message CRC32 fix
vrrp_vr_details                                 message CRC32 fix
vrrp_vr_peer_details                            message CRC32 fix
vrrp_vr_set_peers                               message CRC32 fix
vrrp_vr_track_if_add_del                        message CRC32 fix
vrrp_vr_track_if_details                        message CRC32 fix
vxlan_add_del_tunnel                            message CRC32 fix
vxlan_add_del_tunnel_v2                         only in image
vxlan_add_del_tunnel_v2_reply                   only in image
vxlan_add_del_tunnel_v3                         only in image
vxlan_add_del_tunnel_v3_reply                   only in image
vxlan_gbp_tunnel_add_del                        message CRC32 fix
vxlan_gbp_tunnel_details                        message CRC32 fix
vxlan_gpe_add_del_tunnel                        message CRC32 fix
vxlan_gpe_ioam_export_enable_disable            message CRC32 fix
vxlan_gpe_ioam_transit_disable                  message CRC32 fix
vxlan_gpe_ioam_transit_enable                   message CRC32 fix
vxlan_gpe_ioam_vni_disable                      message CRC32 fix
vxlan_gpe_ioam_vni_enable                       message CRC32 fix
vxlan_gpe_tunnel_details                        message CRC32 fix
vxlan_offload_rx                                message CRC32 fix
vxlan_tunnel_details                            message CRC32 fix
vxlan_tunnel_v2_details                         only in image
vxlan_tunnel_v2_dump                            only in image
want_ip_neighbor_events                         message CRC32 fix
want_l2_macs_events2                            only in image
want_l2_macs_events2_reply                      only in image
=============================================== ==================

Found 456 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.

-  application_tls_cert_add
-  application_tls_cert_add_reply
-  application_tls_key_add
-  application_tls_key_add_reply
-  create_vhost_user_if
-  create_vhost_user_if_reply
-  ipsec_sa_details
-  ipsec_sa_dump
-  ipsec_sad_entry_add_del
-  ipsec_sad_entry_add_del_reply
-  modify_vhost_user_if
-  modify_vhost_user_if_reply
-  nat44_ei_add_del_identity_mapping
-  nat44_ei_add_del_identity_mapping_reply
-  nat44_ei_add_del_interface_addr
-  nat44_ei_add_del_interface_addr_reply
-  nat44_ei_get_addr_and_port_alloc_alg
-  nat44_ei_get_addr_and_port_alloc_alg_reply
-  nat44_ei_get_mss_clamping
-  nat44_ei_get_mss_clamping_reply
-  nat44_ei_ha_get_failover
-  nat44_ei_ha_get_failover_reply
-  nat44_ei_ha_get_listener
-  nat44_ei_ha_get_listener_reply
-  nat44_ei_identity_mapping_details
-  nat44_ei_identity_mapping_dump
-  nat44_ei_interface_add_del_output_feature
-  nat44_ei_interface_add_del_output_feature_reply
-  nat44_ei_interface_addr_details
-  nat44_ei_interface_addr_dump
-  nat44_ei_interface_output_feature_details
-  nat44_ei_interface_output_feature_dump
-  nat44_ei_set_log_level
-  nat44_ei_set_log_level_reply
-  nat44_forwarding_enable_disable
-  nat44_forwarding_enable_disable_reply
-  nat44_forwarding_is_enabled
-  nat44_forwarding_is_enabled_reply
-  nat44_plugin_enable_disable
-  nat44_plugin_enable_disable_reply
-  nat44_session_cleanup
-  nat44_session_cleanup_reply
-  nat_control_ping
-  nat_control_ping_reply
-  nat_get_timeouts
-  nat_get_timeouts_reply
-  nat_ipfix_enable_disable
-  nat_ipfix_enable_disable_reply
-  nat_set_log_level
-  nat_set_log_level_reply
-  nat_set_timeouts
-  nat_set_timeouts_reply
-  nat_show_config
-  nat_show_config_2
-  nat_show_config_2_reply
-  nat_show_config_reply
-  rdma_create_v2
-  set_ip_flow_hash
-  set_ip_flow_hash_reply
-  want_l2_macs_events
-  want_l2_macs_events_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
-  adl_allowlist_enable_disable
-  adl_allowlist_enable_disable_reply
-  adl_interface_enable_disable
-  adl_interface_enable_disable_reply
-  af_xdp_create
-  af_xdp_create_reply
-  af_xdp_delete
-  af_xdp_delete_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_del
-  flow_del_reply
-  flow_disable
-  flow_disable_reply
-  flow_enable
-  flow_enable_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
-  l2_emulation
-  l2_emulation_reply
-  mdata_enable_disable
-  mdata_enable_disable_reply
-  nat44_add_del_static_mapping_v2
-  nat44_add_del_static_mapping_v2_reply
-  nat44_ed_plugin_enable_disable
-  nat44_ed_plugin_enable_disable_reply
-  nat44_ed_set_fq_options
-  nat44_ed_set_fq_options_reply
-  nat44_ed_show_fq_options
-  nat44_ed_show_fq_options_reply
-  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_worker_details
-  nat44_ei_worker_dump
-  nat44_show_running_config
-  nat44_show_running_config_reply
-  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_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
-  sr_policies_with_sl_index_details
-  sr_policies_with_sl_index_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_capture
-  trace_clear_capture_reply
-  trace_details
-  trace_dump
-  trace_dump_reply
-  trace_set_filters
-  trace_set_filters_reply
-  vxlan_gbp_tunnel_add_del
-  vxlan_gbp_tunnel_add_del_reply
-  vxlan_gbp_tunnel_details
-  vxlan_gbp_tunnel_dump
-  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_remove
-  wireguard_peer_remove_reply
-  wireguard_peers_details
-  wireguard_peers_dump

Patches that changed API definitions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. |clk| replace:: https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=

``src/vnet/policer/policer_types.api``

* `c5299ff30 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c5299ff30>`_  policer: remove SSE2 prefix

``src/vnet/policer/policer.api``

* `b04683017 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b04683017>`_  policer: add api to configure input policing
* `48e26367c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=48e26367c>`_  policer: add api to bind policer to worker

``src/vnet/session/session.api``

* `a5a9efd4d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a5a9efd4d>`_  vcl session: switch to generic cert key apis

``src/vnet/ipfix-export/ipfix_export.api``

* `baa18701b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=baa18701b>`_  misc: ipfix process node wait time adjustment

``src/vnet/ipsec/ipsec_types.api``

* `f16e9a550 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f16e9a550>`_  ipsec: Support async mode per-SA
* `9ec846c26 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ec846c26>`_  ipsec: Use the new tunnel API types to add flow label and TTL copy support
* `751bb131e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=751bb131e>`_  Revert "ipsec: Use the new tunnel API types to add flow label and TTL copy"
* `c7eaa711f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7eaa711f>`_  ipsec: Use the new tunnel API types to add flow label and TTL copsupport

``src/vnet/ipsec/ipsec.api``

* `9ec846c26 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ec846c26>`_  ipsec: Use the new tunnel API types to add flow label and TTL copsupport
* `751bb131e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=751bb131e>`_  Revert "ipsec: Use the new tunnel API types to add flow label and TTL copy"
* `c7eaa711f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7eaa711f>`_  ipsec: Use the new tunnel API types to add flow label and TTL copy support
* `a9e2774f5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a9e2774f5>`_  ipsec: Deprecated the old IPsec Tunnel interface
* `95f59f380 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=95f59f380>`_  ipsec: Mark the interface create reply deprecated

``src/vnet/devices/virtio/vhost_user.api``

* `27ba5008a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=27ba5008a>`_  vhost: Add event index for interrupt notification to driver

``src/vnet/ip/ip.api``

* `976b259be <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=976b259be>`_  fib: Allow the creation of new source on the API
* `8f5fef2c7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8f5fef2c7>`_  ip: Path MTU
* `3d5f08a82 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3d5f08a82>`_  ip: Router ID included in flow hash
* `f2984bbb0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f2984bbb0>`_  ip: use IPv6 flowlabel in flow hash computation
* `58a1915b5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=58a1915b5>`_  ip: add API to retrieve IPv6 link-layer address

``src/vnet/l2/l2.api``

* `0f8d10035 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0f8d10035>`_  l2: Separating scan-delay and learn-limit into a separate API from want_l2_macs_events
* `5f93e3b7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5f93e3b7f>`_  l2: add per bridge domain learn limit

``src/vnet/flow/flow_types.api``

* `91f102ed8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=91f102ed8>`_  flow: The type of vni in VxLAN flow should be u32

``src/vnet/flow/flow.api``

* `c7e7819ad <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c7e7819ad>`_  flow: Add API implementation of IP4/IP6, IP4_VXLAN/IP6_VXLAN

``src/vnet/fib/fib_types.api``

* `976b259be <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=976b259be>`_  fib: Allow the creation of new source on the API

``src/vnet/fib/fib.api``

* `976b259be <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=976b259be>`_  fib: Allow the creation of new source on the API

``src/vnet/vxlan/vxlan.api``

* `3e38422ab <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3e38422ab>`_  vxlan: Fix L3 mode
* `839dcc0fb <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=839dcc0fb>`_  vxlan: add udp-port configuration support

``src/vnet/bfd/bfd.api``

* `4376ab2a9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4376ab2a9>`_  tests: use socket transport instead of shared memory

``src/vnet/interface.api``

* `fd0b399ff <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fd0b399ff>`_  interface: Add promisc on/off in api

``src/vnet/tunnel/tunnel_types.api``

* `a91cb4590 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a91cb4590>`_  tunnel: support copying TTL and flow label from inner to outer

``src/vnet/interface_types.api``

* `6a999d67d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a999d67d>`_  interface: RX/TX direction type in API

``src/vat2/test/vat2_test.api``

* `ab9f57355 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab9f57355>`_  api: crchcecker ignore version < 1.0.0 and outside of src directory
* `71134f26a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=71134f26a>`_  vat2: jsonconvert return checking - coverity
* `93c4b1bb3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=93c4b1bb3>`_  vppapigen: more _fromjson autogeneration coverity fixes
* `316967cfa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=316967cfa>`_  vppapigen: fix coverity issues in jsonconvert
* `cf0102b3b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cf0102b3b>`_  vppapigen: coverity issues in autogenerated code pass 3.
* `fb0afab7f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fb0afab7f>`_  vppapigen: fix fromjson coverity errors in generation

``src/plugins/gbp/gbp.api``

* `dc22c839f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dc22c839f>`_  tests: clean up gbp calls from vpp_papi_provider

``src/plugins/map/map.api``

* `9302cfea9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9302cfea9>`_  vppapigen: Support an 'autoendian' keyword for message definitions i.api files |

``src/plugins/arping/arping.api``

* `a77ae4708 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a77ae4708>`_  arping: add arping command

``src/plugins/linux-cp/lcp.api``

* `6bb77dec7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6bb77dec7>`_  linux-cp: A V2 variant of pair create API that returns the hosinterface created |
* `4376ab2a9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4376ab2a9>`_  tests: use socket transport instead of shared memory
* `44db1caef <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=44db1caef>`_  linux-cp: Linux Interface Mirroring for Control Plane Integration

``src/plugins/ikev2/ikev2_types.api``

* `68d275356 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68d275356>`_  ikev2: add per SA stats

``src/plugins/ikev2/ikev2.api``

* `af2cc6425 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=af2cc6425>`_  ikev2: support responder hostname
* `68d275356 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68d275356>`_  ikev2: add per SA stats
* `fab5e7f39 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fab5e7f39>`_  ikev2: use new counters data model & add more counters

``src/plugins/nat/det44/det44.api``

* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/nat/nat44-ed/nat44_ed.api``

* `e3f078fcf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e3f078fcf>`_  nat: fix byte order on ipfix message fields
* `e7a80a98b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e7a80a98b>`_  nat: NAT44ED fail if using old plugin option
* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/nat/nat64/nat64.api``

* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/nat/nat66/nat66.api``

* `ed2ee5e57 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ed2ee5e57>`_  nat: NAT66 plugin enable&disable calls update
* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/nat/pnat/pnat.api``

* `ec34fb772 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ec34fb772>`_  pnat: coverity errors
* `ab3151c52 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ab3151c52>`_  nat: pnat copy and clear byte instructions
* `18327be5d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=18327be5d>`_  nat: 1:1 policy NAT

``src/plugins/nat/lib/nat_types.api``

* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/nat/nat44-ei/nat44_ei.api``

* `01930f568 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=01930f568>`_  nat: report correct EI per-user session limit
* `e3f078fcf <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e3f078fcf>`_  nat: fix byte order on ipfix message fields
* `0eaf4e678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0eaf4e678>`_  nat: Final NAT44 EI/ED split patch

``src/plugins/af_xdp/af_xdp.api``

* `a42c41be4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a42c41be4>`_  af_xdp: workaround kernel race between poll() and sendmsg()

``src/plugins/mss_clamp/mss_clamp.api``

* `bf55e9931 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bf55e9931>`_  mss_clamp: TCP MSS clamping plugin

``src/plugins/rdma/rdma.api``

* `f5a45680e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f5a45680e>`_  rdma: add support for RSS configuration

``src/plugins/cnat/cnat.api``

* `516b0adf6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=516b0adf6>`_  cnat: Add calico/k8s src policy
* `3fd77f7de <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3fd77f7de>`_  cnat: Prepare extended snat policies
* `cc9a1a0d3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cc9a1a0d3>`_  cnat: add input feature node
* `4d237874e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4d237874e>`_  cnat: Add maglev support
* `27647a27c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=27647a27c>`_  cnat: fixes & prepare maglev