summaryrefslogtreecommitdiffstats
path: root/docs/aboutvpp/releasenotes/v21.06.rst
diff options
context:
space:
mode:
authorNathan Skrzypczak <nathan.skrzypczak@gmail.com>2021-08-19 11:38:06 +0200
committerDave Wallace <dwallacelf@gmail.com>2021-10-13 23:22:32 +0000
commit9ad39c026c8a3c945a7003c4aa4f5cb1d4c80160 (patch)
tree3cca19635417e28ae381d67ae31c75df2925032d /docs/aboutvpp/releasenotes/v21.06.rst
parentf47122e07e1ecd0151902a3cabe46c60a99bee8e (diff)
docs: better docs, mv doxygen to sphinx
This patch refactors the VPP sphinx docs in order to make it easier to consume for external readers as well as VPP developers. It also makes sphinx the single source of documentation, which simplifies maintenance and operation. Most important updates are: - reformat the existing documentation as rst - split RELEASE.md and move it into separate rst files - remove section 'events' - remove section 'archive' - remove section 'related projects' - remove section 'feature by release' - remove section 'Various links' - make (Configuration reference, CLI docs, developer docs) top level items in the list - move 'Use Cases' as part of 'About VPP' - move 'Troubleshooting' as part of 'Getting Started' - move test framework docs into 'Developer Documentation' - add a 'Contributing' section for gerrit, docs and other contributer related infos - deprecate doxygen and test-docs targets - redirect the "make doxygen" target to "make docs" Type: refactor Change-Id: I552a5645d5b7964d547f99b1336e2ac24e7c209f Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com> Signed-off-by: Andrew Yourtchenko <ayourtch@gmail.com>
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