aboutsummaryrefslogtreecommitdiffstats
path: root/docs/aboutvpp/releasenotes/v21.06.rst
diff options
context:
space:
mode:
Diffstat (limited to 'docs/aboutvpp/releasenotes/v21.06.rst')
-rw-r--r--docs/aboutvpp/releasenotes/v21.06.rst1477
1 files changed, 1477 insertions, 0 deletions
diff --git a/docs/aboutvpp/releasenotes/v21.06.rst b/docs/aboutvpp/releasenotes/v21.06.rst
new file mode 100644
index 00000000000..0c5820d868c
--- /dev/null
+++ b/docs/aboutvpp/releasenotes/v21.06.rst
@@ -0,0 +1,1477 @@
+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