1 Release notes for VPP 22.06
2 ===========================
4 More than 485 commits since the previous release, including 230 fixes.
9 - Binary API Compiler for C and C++
11 - Support api clients within VPP process (`2ca88ff97 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2ca88ff97>`_)
15 - Make the build work on Debian 11 (`a47203128 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a47203128>`_)
17 - Infrastructure Library
19 - Add new bihash exports (`17ecd853e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=17ecd853e>`_)
25 - Bump to ipsecmb v1.2 (`c711bd08c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c711bd08c>`_)
29 - Support devargs for vmbus (`502714fc4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=502714fc4>`_)
30 - Bump to DPDK v22.03 (`2f132efc3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2f132efc3>`_)
34 - Add http protocol plugin (`0b65621d4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0b65621d4>`_)
36 - Host Stack Applications
38 - Add http throughput test server app (`cfcc42e29 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cfcc42e29>`_)
39 - Add support for SAPI in vpp\_echo (`d0d4b4337 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d0d4b4337>`_)
43 - Basic builtin prometheus stats exporter (`7285be2aa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7285be2aa>`_)
47 - Add support for reporting on inbound packets (`6f5ddf346 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6f5ddf346>`_)
51 - Linux Control Plane Netlink Listener (`616447c39 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=616447c39>`_)
55 - Feature support on interface output (`c454e8993 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c454e8993>`_)
61 - Add API to retrieve punt ACL tables (`7fc0ee7f6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7fc0ee7f6>`_)
65 - Af-packet v3 support (`219cbcb29 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=219cbcb29>`_)
66 - Add multi-queue support for af-packet (`5a7aa51f0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5a7aa51f0>`_)
70 - Add generic flow pattern for 5G flow enhancement (`3a3668201 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3a3668201>`_)
71 - Enable RSS queue group action for 5G enhancement (`b95e6d4e7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b95e6d4e7>`_)
72 - Support generic flow and RSS action in vapi (`337960b8a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=337960b8a>`_)
76 - Support per next-header next-nodes (`98ca76ab8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=98ca76ab8>`_)
80 - Add infra for safe pool reallocs (`53d8d4fd6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53d8d4fd6>`_)
84 - Make eventfd flag configurable from env (`794599bcc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=794599bcc>`_)
85 - Add support for reconnect (`8ccc6b350 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8ccc6b350>`_)
89 - Leave SIGCONT signal with its default handler (`8486283cd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8486283cd>`_)
95 For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
100 For the full list of fixed issues please refer to:
101 - fd.io `JIRA <https://jira.fd.io>`_
102 - git `commit log <https://git.fd.io/vpp/log/?h=master>`_
108 Description of results:
110 - *Definition changed*: indicates that the API file was modified between releases.
111 - *Only in image*: indicates the API is new for this release.
112 - *Only in file*: indicates the API has been removed in this release.
114 ============================================================= ==================
116 ============================================================= ==================
117 af_packet_create_v3 only in image
118 af_packet_create_v3_reply only in image
119 bfd_udp_upd only in image
120 bfd_udp_upd_reply only in image
121 dhcp_client_details definition changed
122 dhcp_compl_event definition changed
123 flow_add_v2 only in image
124 flow_add_v2_reply only in image
125 flow_classify_dump definition changed
126 flowprobe_get_params only in image
127 flowprobe_get_params_reply only in image
128 flowprobe_interface_add_del only in image
129 flowprobe_interface_add_del_reply only in image
130 flowprobe_interface_details only in image
131 flowprobe_interface_dump only in image
132 flowprobe_set_params only in image
133 flowprobe_set_params_reply only in image
134 ip_local_reass_enable_disable only in image
135 ip_local_reass_enable_disable_reply only in image
136 ip_local_reass_get only in image
137 ip_local_reass_get_reply only in image
138 memclnt_create_v2 only in image
139 memclnt_create_v2_reply only in image
140 nat44_ed_add_del_vrf_route only in image
141 nat44_ed_add_del_vrf_route_reply only in image
142 nat44_ed_add_del_vrf_table only in image
143 nat44_ed_add_del_vrf_table_reply only in image
144 nat44_ed_vrf_tables_details only in image
145 nat44_ed_vrf_tables_dump only in image
146 nat44_forwarding_is_enabled only in file
147 nat44_forwarding_is_enabled_reply only in file
148 nat44_interface_add_del_output_feature only in file
149 nat44_interface_add_del_output_feature_reply only in file
150 nat44_interface_output_feature_details only in file
151 nat44_interface_output_feature_dump only in file
152 nat44_plugin_enable_disable only in file
153 nat44_plugin_enable_disable_reply only in file
154 nat44_session_cleanup only in file
155 nat44_session_cleanup_reply only in file
156 nat_control_ping only in file
157 nat_control_ping_reply only in file
158 nat_get_timeouts only in file
159 nat_get_timeouts_reply only in file
160 nat_set_log_level only in file
161 nat_set_log_level_reply only in file
162 nat_show_config_2 only in file
163 nat_show_config_2_reply only in file
164 nat_show_config only in file
165 nat_show_config_reply only in file
166 pnat_binding_add definition changed
167 pnat_binding_add_v2 only in image
168 pnat_binding_add_v2_reply only in image
169 pnat_bindings_details definition changed
170 pnat_interfaces_details definition changed
171 policer_classify_dump definition changed
172 policer_output only in image
173 policer_output_reply only in image
174 punt_acl_get only in image
175 punt_acl_get_reply only in image
176 punt_socket_deregister definition changed
177 punt_socket_details definition changed
178 punt_socket_dump definition changed
179 punt_socket_register definition changed
180 session_rule_add_del definition changed
181 session_rules_details definition changed
182 set_punt definition changed
183 udp_decap_add_del definition changed
184 urpf_update definition changed
185 vrrp_vr_del only in image
186 vrrp_vr_del_reply only in image
187 vrrp_vr_update only in image
188 vrrp_vr_update_reply only in image
189 wg_set_async_mode only in image
190 wg_set_async_mode_reply only in image
191 wireguard_peer_add definition changed
192 wireguard_peers_details definition changed
193 ============================================================= ==================
195 Found 76 api message signature differences
198 Newly deprecated API messages
199 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
201 These messages are still there in the API, but can and probably
202 will disappear in the next release.
205 - nat44_del_user_reply
206 - nat_get_addr_and_port_alloc_alg
207 - nat_get_addr_and_port_alloc_alg_reply
210 - nat_ha_get_failover
211 - nat_ha_get_failover_reply
212 - nat_ha_get_listener
213 - nat_ha_get_listener_reply
215 - nat_ha_resync_completed_event
216 - nat_ha_resync_reply
217 - nat_ha_set_failover
218 - nat_ha_set_failover_reply
219 - nat_ha_set_listener
220 - nat_ha_set_listener_reply
221 - nat_set_addr_and_port_alloc_alg
222 - nat_set_addr_and_port_alloc_alg_reply
224 In-progress API messages
225 ~~~~~~~~~~~~~~~~~~~~~~~~
227 These messages are provided for testing and experimentation only.
228 They are *not* subject to any compatibility process,
229 and therefore can arbitrarily change or disappear at *any* moment.
230 Also they may have less than satisfactory testing, making
231 them unsuitable for other use than the technology preview.
232 If you are intending to use these messages in production projects,
233 please collaborate with the feature maintainer on their productization.
235 - abf_itf_attach_add_del
236 - abf_itf_attach_add_del_reply
237 - abf_itf_attach_details
238 - abf_itf_attach_dump
239 - abf_plugin_get_version
240 - abf_plugin_get_version_reply
242 - abf_policy_add_del_reply
245 - acl_plugin_use_hash_lookup_get
246 - acl_plugin_use_hash_lookup_get_reply
247 - acl_plugin_use_hash_lookup_set
248 - acl_plugin_use_hash_lookup_set_reply
249 - adl_allowlist_enable_disable
250 - adl_allowlist_enable_disable_reply
251 - adl_interface_enable_disable
252 - adl_interface_enable_disable_reply
253 - cnat_get_snat_addresses
254 - cnat_get_snat_addresses_reply
255 - cnat_session_details
258 - cnat_session_purge_reply
259 - cnat_set_snat_addresses
260 - cnat_set_snat_addresses_reply
261 - cnat_set_snat_policy
262 - cnat_set_snat_policy_reply
263 - cnat_snat_policy_add_del_exclude_pfx
264 - cnat_snat_policy_add_del_exclude_pfx_reply
265 - cnat_snat_policy_add_del_if
266 - cnat_snat_policy_add_del_if_reply
267 - cnat_translation_del
268 - cnat_translation_del_reply
269 - cnat_translation_details
270 - cnat_translation_dump
271 - cnat_translation_update
272 - cnat_translation_update_reply
273 - crypto_sw_scheduler_set_worker
274 - crypto_sw_scheduler_set_worker_reply
275 - det44_get_timeouts_reply
276 - det44_interface_add_del_feature
277 - det44_interface_add_del_feature_reply
278 - det44_interface_details
279 - det44_interface_dump
280 - det44_plugin_enable_disable
281 - det44_plugin_enable_disable_reply
283 - det44_set_timeouts_reply
294 - flowprobe_get_params
295 - flowprobe_get_params_reply
296 - flowprobe_interface_add_del
297 - flowprobe_interface_add_del_reply
298 - flowprobe_interface_details
299 - flowprobe_interface_dump
300 - flowprobe_set_params
301 - flowprobe_set_params_reply
302 - gbp_bridge_domain_add
303 - gbp_bridge_domain_add_reply
304 - gbp_bridge_domain_del
305 - gbp_bridge_domain_del_reply
306 - gbp_bridge_domain_details
307 - gbp_bridge_domain_dump
308 - gbp_bridge_domain_dump_reply
309 - gbp_contract_add_del
310 - gbp_contract_add_del_reply
311 - gbp_contract_details
314 - gbp_endpoint_add_reply
316 - gbp_endpoint_del_reply
317 - gbp_endpoint_details
319 - gbp_endpoint_group_add
320 - gbp_endpoint_group_add_reply
321 - gbp_endpoint_group_del
322 - gbp_endpoint_group_del_reply
323 - gbp_endpoint_group_details
324 - gbp_endpoint_group_dump
325 - gbp_ext_itf_add_del
326 - gbp_ext_itf_add_del_reply
327 - gbp_ext_itf_details
330 - gbp_recirc_add_del_reply
333 - gbp_route_domain_add
334 - gbp_route_domain_add_reply
335 - gbp_route_domain_del
336 - gbp_route_domain_del_reply
337 - gbp_route_domain_details
338 - gbp_route_domain_dump
339 - gbp_route_domain_dump_reply
341 - gbp_subnet_add_del_reply
344 - gbp_vxlan_tunnel_add
345 - gbp_vxlan_tunnel_add_reply
346 - gbp_vxlan_tunnel_del
347 - gbp_vxlan_tunnel_del_reply
348 - gbp_vxlan_tunnel_details
349 - gbp_vxlan_tunnel_dump
350 - ikev2_child_sa_details
351 - ikev2_child_sa_dump
352 - ikev2_initiate_del_child_sa
353 - ikev2_initiate_del_child_sa_reply
354 - ikev2_initiate_del_ike_sa
355 - ikev2_initiate_del_ike_sa_reply
356 - ikev2_initiate_rekey_child_sa
357 - ikev2_initiate_rekey_child_sa_reply
358 - ikev2_initiate_sa_init
359 - ikev2_initiate_sa_init_reply
361 - ikev2_nonce_get_reply
362 - ikev2_profile_add_del
363 - ikev2_profile_add_del_reply
364 - ikev2_profile_details
365 - ikev2_profile_disable_natt
366 - ikev2_profile_disable_natt_reply
368 - ikev2_profile_set_auth
369 - ikev2_profile_set_auth_reply
370 - ikev2_profile_set_id
371 - ikev2_profile_set_id_reply
372 - ikev2_profile_set_ipsec_udp_port
373 - ikev2_profile_set_ipsec_udp_port_reply
374 - ikev2_profile_set_liveness
375 - ikev2_profile_set_liveness_reply
376 - ikev2_profile_set_ts
377 - ikev2_profile_set_ts_reply
378 - ikev2_profile_set_udp_encap
379 - ikev2_profile_set_udp_encap_reply
382 - ikev2_set_esp_transforms
383 - ikev2_set_esp_transforms_reply
384 - ikev2_set_ike_transforms
385 - ikev2_set_ike_transforms_reply
386 - ikev2_set_local_key
387 - ikev2_set_local_key_reply
388 - ikev2_set_responder
389 - ikev2_set_responder_hostname
390 - ikev2_set_responder_hostname_reply
391 - ikev2_set_responder_reply
392 - ikev2_set_sa_lifetime
393 - ikev2_set_sa_lifetime_reply
394 - ikev2_set_tunnel_interface
395 - ikev2_set_tunnel_interface_reply
396 - ikev2_traffic_selector_details
397 - ikev2_traffic_selector_dump
398 - ip_route_add_del_v2
399 - ip_route_add_del_v2_reply
401 - ip_route_lookup_v2_reply
402 - ip_route_v2_details
406 - mdata_enable_disable
407 - mdata_enable_disable_reply
408 - nat44_ei_add_del_address_range
409 - nat44_ei_add_del_address_range_reply
410 - nat44_ei_add_del_static_mapping
411 - nat44_ei_add_del_static_mapping_reply
412 - nat44_ei_address_details
413 - nat44_ei_address_dump
414 - nat44_ei_del_session
415 - nat44_ei_del_session_reply
417 - nat44_ei_del_user_reply
418 - nat44_ei_forwarding_enable_disable
419 - nat44_ei_forwarding_enable_disable_reply
421 - nat44_ei_ha_flush_reply
423 - nat44_ei_ha_resync_completed_event
424 - nat44_ei_ha_resync_reply
425 - nat44_ei_ha_set_failover
426 - nat44_ei_ha_set_failover_reply
427 - nat44_ei_ha_set_listener
428 - nat44_ei_ha_set_listener_reply
429 - nat44_ei_interface_add_del_feature
430 - nat44_ei_interface_add_del_feature_reply
431 - nat44_ei_interface_details
432 - nat44_ei_interface_dump
433 - nat44_ei_ipfix_enable_disable
434 - nat44_ei_ipfix_enable_disable_reply
435 - nat44_ei_plugin_enable_disable
436 - nat44_ei_plugin_enable_disable_reply
437 - nat44_ei_set_addr_and_port_alloc_alg
438 - nat44_ei_set_addr_and_port_alloc_alg_reply
439 - nat44_ei_set_fq_options
440 - nat44_ei_set_fq_options_reply
441 - nat44_ei_set_mss_clamping
442 - nat44_ei_set_mss_clamping_reply
443 - nat44_ei_set_timeouts
444 - nat44_ei_set_timeouts_reply
445 - nat44_ei_set_workers
446 - nat44_ei_set_workers_reply
447 - nat44_ei_show_fq_options
448 - nat44_ei_show_fq_options_reply
449 - nat44_ei_show_running_config
450 - nat44_ei_show_running_config_reply
451 - nat44_ei_static_mapping_details
452 - nat44_ei_static_mapping_dump
453 - nat44_ei_user_details
455 - nat44_ei_user_session_details
456 - nat44_ei_user_session_dump
457 - nat44_ei_worker_details
458 - nat44_ei_worker_dump
459 - nat64_plugin_enable_disable
460 - nat64_plugin_enable_disable_reply
461 - oddbuf_enable_disable
462 - oddbuf_enable_disable_reply
463 - pg_interface_enable_disable_coalesce
464 - pg_interface_enable_disable_coalesce_reply
466 - pnat_binding_add_reply
467 - pnat_binding_add_v2
468 - pnat_binding_add_v2_reply
469 - pnat_binding_attach
470 - pnat_binding_attach_reply
472 - pnat_binding_del_reply
473 - pnat_binding_detach
474 - pnat_binding_detach_reply
475 - pnat_bindings_details
477 - pnat_bindings_get_reply
478 - pnat_interfaces_details
479 - pnat_interfaces_get
480 - pnat_interfaces_get_reply
481 - sample_macswap_enable_disable
482 - sample_macswap_enable_disable_reply
483 - sr_policies_with_sl_index_details
484 - sr_policies_with_sl_index_dump
485 - sw_interface_set_vxlan_gbp_bypass
486 - sw_interface_set_vxlan_gbp_bypass_reply
489 - test_addresses2_reply
491 - test_addresses3_reply
492 - test_addresses_reply
498 - test_interface_reply
515 - trace_capture_packets
516 - trace_capture_packets_reply
517 - trace_clear_capture
518 - trace_clear_capture_reply
523 - trace_set_filters_reply
524 - vxlan_gbp_tunnel_add_del
525 - vxlan_gbp_tunnel_add_del_reply
526 - vxlan_gbp_tunnel_details
527 - vxlan_gbp_tunnel_dump
528 - want_wireguard_peer_events
529 - want_wireguard_peer_events_reply
531 - wg_set_async_mode_reply
532 - wireguard_interface_create
533 - wireguard_interface_create_reply
534 - wireguard_interface_delete
535 - wireguard_interface_delete_reply
536 - wireguard_interface_details
537 - wireguard_interface_dump
539 - wireguard_peer_add_reply
540 - wireguard_peer_event
541 - wireguard_peer_remove
542 - wireguard_peer_remove_reply
543 - wireguard_peers_details
544 - wireguard_peers_dump
546 Patches that changed API definitions
547 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
550 ``src/vnet/ip/ip.api``
552 * `01c1fa41f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=01c1fa41f>`_ ip: reassembly - add a way to disable for forus
554 ``src/vnet/classify/classify.api``
556 * `7fc0ee7f6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7fc0ee7f6>`_ classify: add API to retrieve punt ACL tables
558 ``src/vnet/devices/af_packet/af_packet.api``
560 * `0bfc222e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0bfc222e3>`_ devices: add af-packet v3 api
562 ``src/vnet/policer/policer.api``
564 * `e5a3ae017 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e5a3ae017>`_ policer: output interface policer
566 ``src/vnet/bfd/bfd.api``
568 * `63f2c7d70 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=63f2c7d70>`_ bfd: Add an update API that has create new or modify existing semantics
570 ``src/vnet/flow/flow.api``
572 * `337960b8a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=337960b8a>`_ flow: support generic flow and RSS action in vapi
574 ``src/vnet/flow/flow_types.api``
576 * `337960b8a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=337960b8a>`_ flow: support generic flow and RSS action in vapi
578 ``src/vlibmemory/memclnt.api``
580 * `2ca88ff97 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2ca88ff97>`_ vapi: support api clients within vpp process
582 ``src/plugins/nat/nat44-ed/nat44_ed.api``
584 * `691c630b7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=691c630b7>`_ nat: VRF routing & FIB improvements
585 * `b68108203 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b68108203>`_ nat: nat44-ed cleanup & fixes
587 ``src/plugins/nat/pnat/pnat.api``
589 * `0891b6aa4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0891b6aa4>`_ pnat: add support to wildcard IP Protocol field if not specified
591 ``src/plugins/flowprobe/flowprobe.api``
593 * `86c7856ed <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=86c7856ed>`_ flowprobe: add api messages to obtain current state
594 * `6f5ddf346 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6f5ddf346>`_ flowprobe: add support for reporting on inbound packets
596 ``src/plugins/vrrp/vrrp.api``
598 * `7539e4b55 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7539e4b55>`_ vrrp: add stats support and update API
600 ``src/plugins/wireguard/wireguard.api``
602 * `39fdefdc9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=39fdefdc9>`_ wireguard: Document wireguard async mode default
603 * `f47917959 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f47917959>`_ wireguard: improve peer dump details
604 * `6a2c6a044 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6a2c6a044>`_ wireguard: improve sending WG interface dump details
605 * `492d7790f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=492d7790f>`_ wireguard: add async mode for encryption packets