1 Release notes for VPP 23.10
2 ===========================
4 More than 212 commits since the previous release, including 106 fixes.
13 - Api to return responder mac address (`8af78b8e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8af78b8e3>`_)
17 - Flag to disable rsession (`663103279 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=663103279>`_)
18 - Add host tag to bitmap in cnat snat (`f6beee077 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f6beee077>`_)
22 - Bump to DPDK 23.07 (`442189849 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=442189849>`_)
23 - Bump rdma-core to 46.1 (`61ab09472 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=61ab09472>`_)
27 - Add native idpf driver plugin (`737edea32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=737edea32>`_)
31 - Network prefix translation for ipv6 (`6ee3aa41c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6ee3aa41c>`_)
35 - Filtering feature (`77812045e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=77812045e>`_)
39 - Add support for chained buffers (`f2b6edb14 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f2b6edb14>`_)
43 - A plugin for managing child processes (`f234b0d46 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f234b0d46>`_)
47 - Basic MPLS support. (`44b3abe86 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=44b3abe86>`_)
53 - Add bpf support to pcap classifier (`3f4075574 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3f4075574>`_)
57 - Allow changing dispatch mode (`139aba204 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=139aba204>`_)
61 - Punt add punt socket support for icmp6 (`56b8abc07 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=56b8abc07>`_)
65 - Add simple stats collector (`6052f4b9d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6052f4b9d>`_)
71 For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
76 For the full list of fixed issues please refer to:
77 - fd.io `JIRA <https://jira.fd.io>`_
78 - git `commit log <https://git.fd.io/vpp/log/?h=master>`_
84 Description of results:
86 - *Definition changed*: indicates that the API file was modified between releases.
87 - *Only in image*: indicates the API is new for this release.
88 - *Only in file*: indicates the API has been removed in this release.
90 ============================================================= ==================
92 ============================================================= ==================
93 af_xdp_create_v3 only in image
94 af_xdp_create_v3_reply only in image
95 arping_acd only in image
96 arping_acd_reply only in image
97 bpf_trace_filter_set only in image
98 bpf_trace_filter_set_reply only in image
99 cnat_snat_policy_add_del_if definition changed
100 crypto_set_async_dispatch_v2 only in image
101 crypto_set_async_dispatch_v2_reply only in image
102 ip_neighbor_config_get only in image
103 ip_neighbor_config_get_reply only in image
104 ipsec_sa_v4_details only in image
105 ipsec_sa_v4_dump only in image
106 ipsec_sad_bind only in image
107 ipsec_sad_bind_reply only in image
108 ipsec_sad_unbind only in image
109 ipsec_sad_unbind_reply only in image
110 mpls_interface_details only in image
111 mpls_interface_dump only in image
112 nsh_add_del_entry only in image
113 nsh_add_del_entry_reply only in image
114 nsh_add_del_map only in image
115 nsh_add_del_map_reply only in image
116 nsh_entry_details only in image
117 nsh_entry_dump only in image
118 nsh_map_details only in image
119 nsh_map_dump only in image
120 pcap_set_filter_function only in image
121 pcap_set_filter_function_reply only in image
122 trace_filter_function_details only in image
123 trace_filter_function_dump only in image
124 trace_set_filter_function only in image
125 trace_set_filter_function_reply only in image
126 tracenode_enable_disable only in image
127 tracenode_enable_disable_reply only in image
128 ============================================================= ==================
130 Found 35 api message signature differences
133 Newly deprecated API messages
134 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
136 These messages are still there in the API, but can and probably
137 will disappear in the next release.
140 - af_packet_create_reply
141 - af_packet_create_v2
142 - af_packet_create_v2_reply
144 - af_xdp_create_reply
146 - af_xdp_create_v2_reply
147 - crypto_set_async_dispatch
148 - crypto_set_async_dispatch_reply
149 - ip_punt_redirect_details
150 - ip_punt_redirect_dump
151 - ipsec_sa_v2_details
153 - ipsec_sad_entry_add_del_v2
154 - ipsec_sad_entry_add_del_v2_reply
155 - lcp_itf_pair_add_del
156 - lcp_itf_pair_add_del_reply
158 - memclnt_create_reply
161 - memif_socket_filename_add_del
162 - memif_socket_filename_add_del_reply
163 - nat44_add_del_static_mapping
164 - nat44_add_del_static_mapping_reply
165 - nat44_user_session_details
166 - nat44_user_session_dump
167 - nat44_user_session_v2_details
168 - nat44_user_session_v2_dump
169 - pg_create_interface
170 - pg_create_interface_reply
173 - tap_create_v2_reply
174 - vxlan_add_del_tunnel
175 - vxlan_add_del_tunnel_reply
176 - vxlan_add_del_tunnel_v2
177 - vxlan_add_del_tunnel_v2_reply
178 - vxlan_tunnel_details
181 In-progress API messages
182 ~~~~~~~~~~~~~~~~~~~~~~~~
184 These messages are provided for testing and experimentation only.
185 They are *not* subject to any compatibility process,
186 and therefore can arbitrarily change or disappear at *any* moment.
187 Also they may have less than satisfactory testing, making
188 them unsuitable for other use than the technology preview.
189 If you are intending to use these messages in production projects,
190 please collaborate with the feature maintainer on their productization.
192 - abf_itf_attach_add_del
193 - abf_itf_attach_add_del_reply
194 - abf_itf_attach_details
195 - abf_itf_attach_dump
196 - abf_plugin_get_version
197 - abf_plugin_get_version_reply
199 - abf_policy_add_del_reply
202 - acl_plugin_use_hash_lookup_get
203 - acl_plugin_use_hash_lookup_get_reply
204 - acl_plugin_use_hash_lookup_set
205 - acl_plugin_use_hash_lookup_set_reply
206 - bpf_trace_filter_set
207 - bpf_trace_filter_set_reply
208 - cnat_get_snat_addresses
209 - cnat_get_snat_addresses_reply
210 - cnat_session_details
213 - cnat_session_purge_reply
214 - cnat_set_snat_addresses
215 - cnat_set_snat_addresses_reply
216 - cnat_set_snat_policy
217 - cnat_set_snat_policy_reply
218 - cnat_snat_policy_add_del_exclude_pfx
219 - cnat_snat_policy_add_del_exclude_pfx_reply
220 - cnat_snat_policy_add_del_if
221 - cnat_snat_policy_add_del_if_reply
222 - cnat_translation_del
223 - cnat_translation_del_reply
224 - cnat_translation_details
225 - cnat_translation_dump
226 - cnat_translation_update
227 - cnat_translation_update_reply
228 - det44_get_timeouts_reply
230 - det44_set_timeouts_reply
231 - flowprobe_get_params
232 - flowprobe_get_params_reply
233 - flowprobe_interface_add_del
234 - flowprobe_interface_add_del_reply
235 - flowprobe_interface_details
236 - flowprobe_interface_dump
237 - flowprobe_set_params
238 - flowprobe_set_params_reply
239 - gbp_bridge_domain_add
240 - gbp_bridge_domain_add_reply
241 - gbp_bridge_domain_del
242 - gbp_bridge_domain_del_reply
243 - gbp_bridge_domain_details
244 - gbp_bridge_domain_dump
245 - gbp_bridge_domain_dump_reply
246 - gbp_contract_add_del
247 - gbp_contract_add_del_reply
248 - gbp_contract_details
251 - gbp_endpoint_add_reply
253 - gbp_endpoint_del_reply
254 - gbp_endpoint_details
256 - gbp_endpoint_group_add
257 - gbp_endpoint_group_add_reply
258 - gbp_endpoint_group_del
259 - gbp_endpoint_group_del_reply
260 - gbp_endpoint_group_details
261 - gbp_endpoint_group_dump
262 - gbp_ext_itf_add_del
263 - gbp_ext_itf_add_del_reply
264 - gbp_ext_itf_details
267 - gbp_recirc_add_del_reply
270 - gbp_route_domain_add
271 - gbp_route_domain_add_reply
272 - gbp_route_domain_del
273 - gbp_route_domain_del_reply
274 - gbp_route_domain_details
275 - gbp_route_domain_dump
276 - gbp_route_domain_dump_reply
278 - gbp_subnet_add_del_reply
281 - gbp_vxlan_tunnel_add
282 - gbp_vxlan_tunnel_add_reply
283 - gbp_vxlan_tunnel_del
284 - gbp_vxlan_tunnel_del_reply
285 - gbp_vxlan_tunnel_details
286 - gbp_vxlan_tunnel_dump
287 - ikev2_child_sa_details
288 - ikev2_child_sa_dump
289 - ikev2_initiate_del_child_sa
290 - ikev2_initiate_del_child_sa_reply
291 - ikev2_initiate_del_ike_sa
292 - ikev2_initiate_del_ike_sa_reply
293 - ikev2_initiate_rekey_child_sa
294 - ikev2_initiate_rekey_child_sa_reply
295 - ikev2_initiate_sa_init
296 - ikev2_initiate_sa_init_reply
298 - ikev2_nonce_get_reply
299 - ikev2_profile_add_del
300 - ikev2_profile_add_del_reply
301 - ikev2_profile_details
302 - ikev2_profile_disable_natt
303 - ikev2_profile_disable_natt_reply
305 - ikev2_profile_set_auth
306 - ikev2_profile_set_auth_reply
307 - ikev2_profile_set_id
308 - ikev2_profile_set_id_reply
309 - ikev2_profile_set_ipsec_udp_port
310 - ikev2_profile_set_ipsec_udp_port_reply
311 - ikev2_profile_set_liveness
312 - ikev2_profile_set_liveness_reply
313 - ikev2_profile_set_ts
314 - ikev2_profile_set_ts_reply
315 - ikev2_profile_set_udp_encap
316 - ikev2_profile_set_udp_encap_reply
319 - ikev2_set_esp_transforms
320 - ikev2_set_esp_transforms_reply
321 - ikev2_set_ike_transforms
322 - ikev2_set_ike_transforms_reply
323 - ikev2_set_local_key
324 - ikev2_set_local_key_reply
325 - ikev2_set_responder
326 - ikev2_set_responder_hostname
327 - ikev2_set_responder_hostname_reply
328 - ikev2_set_responder_reply
329 - ikev2_set_sa_lifetime
330 - ikev2_set_sa_lifetime_reply
331 - ikev2_set_tunnel_interface
332 - ikev2_set_tunnel_interface_reply
333 - ikev2_traffic_selector_details
334 - ikev2_traffic_selector_dump
335 - ip_neighbor_config_get
336 - ip_neighbor_config_get_reply
337 - ip_route_add_del_v2
338 - ip_route_add_del_v2_reply
340 - ip_route_lookup_v2_reply
341 - ip_route_v2_details
343 - ip_session_redirect_add
344 - ip_session_redirect_add_reply
345 - ip_session_redirect_add_v2
346 - ip_session_redirect_add_v2_reply
347 - ip_session_redirect_del
348 - ip_session_redirect_del_reply
351 - lcp_default_ns_get_reply
353 - lcp_default_ns_set_reply
354 - lcp_itf_pair_add_del_v2
355 - lcp_itf_pair_add_del_v2_reply
356 - lcp_itf_pair_details
357 - mdata_enable_disable
358 - mdata_enable_disable_reply
359 - nat44_ed_vrf_tables_v2_details
360 - nat44_ed_vrf_tables_v2_dump
361 - nat44_ei_add_del_address_range
362 - nat44_ei_add_del_address_range_reply
363 - nat44_ei_add_del_static_mapping
364 - nat44_ei_add_del_static_mapping_reply
365 - nat44_ei_address_details
366 - nat44_ei_address_dump
367 - nat44_ei_del_session
368 - nat44_ei_del_session_reply
370 - nat44_ei_del_user_reply
371 - nat44_ei_forwarding_enable_disable
372 - nat44_ei_forwarding_enable_disable_reply
374 - nat44_ei_ha_flush_reply
376 - nat44_ei_ha_resync_completed_event
377 - nat44_ei_ha_resync_reply
378 - nat44_ei_ha_set_failover
379 - nat44_ei_ha_set_failover_reply
380 - nat44_ei_ha_set_listener
381 - nat44_ei_ha_set_listener_reply
382 - nat44_ei_interface_add_del_feature
383 - nat44_ei_interface_add_del_feature_reply
384 - nat44_ei_interface_details
385 - nat44_ei_interface_dump
386 - nat44_ei_ipfix_enable_disable
387 - nat44_ei_ipfix_enable_disable_reply
388 - nat44_ei_plugin_enable_disable
389 - nat44_ei_plugin_enable_disable_reply
390 - nat44_ei_set_addr_and_port_alloc_alg
391 - nat44_ei_set_addr_and_port_alloc_alg_reply
392 - nat44_ei_set_fq_options
393 - nat44_ei_set_fq_options_reply
394 - nat44_ei_set_mss_clamping
395 - nat44_ei_set_mss_clamping_reply
396 - nat44_ei_set_timeouts
397 - nat44_ei_set_timeouts_reply
398 - nat44_ei_set_workers
399 - nat44_ei_set_workers_reply
400 - nat44_ei_show_fq_options
401 - nat44_ei_show_fq_options_reply
402 - nat44_ei_show_running_config
403 - nat44_ei_show_running_config_reply
404 - nat44_ei_static_mapping_details
405 - nat44_ei_static_mapping_dump
406 - nat44_ei_user_details
408 - nat44_ei_user_session_details
409 - nat44_ei_user_session_dump
410 - nat44_ei_user_session_v2_details
411 - nat44_ei_user_session_v2_dump
412 - nat44_ei_worker_details
413 - nat44_ei_worker_dump
414 - nat64_plugin_enable_disable
415 - nat64_plugin_enable_disable_reply
416 - npt66_binding_add_del
417 - npt66_binding_add_del_reply
418 - oddbuf_enable_disable
419 - oddbuf_enable_disable_reply
420 - pg_interface_enable_disable_coalesce
421 - pg_interface_enable_disable_coalesce_reply
423 - pnat_binding_add_reply
424 - pnat_binding_add_v2
425 - pnat_binding_add_v2_reply
426 - pnat_binding_attach
427 - pnat_binding_attach_reply
429 - pnat_binding_del_reply
430 - pnat_binding_detach
431 - pnat_binding_detach_reply
432 - pnat_bindings_details
434 - pnat_bindings_get_reply
435 - pnat_interfaces_details
436 - pnat_interfaces_get
437 - pnat_interfaces_get_reply
438 - sample_macswap_enable_disable
439 - sample_macswap_enable_disable_reply
440 - set_ip_flow_hash_v3
441 - set_ip_flow_hash_v3_reply
442 - sr_localsids_with_packet_stats_details
443 - sr_localsids_with_packet_stats_dump
444 - sr_policies_with_sl_index_details
445 - sr_policies_with_sl_index_dump
447 - sr_policy_add_v2_reply
449 - sr_policy_mod_v2_reply
450 - sw_interface_ip6nd_ra_details
451 - sw_interface_ip6nd_ra_dump
452 - sw_interface_set_vxlan_gbp_bypass
453 - sw_interface_set_vxlan_gbp_bypass_reply
456 - test_addresses2_reply
458 - test_addresses3_reply
459 - test_addresses_reply
465 - test_interface_reply
482 - trace_capture_packets
483 - trace_capture_packets_reply
485 - trace_clear_cache_reply
486 - trace_clear_capture
487 - trace_clear_capture_reply
491 - trace_filter_function_details
492 - trace_filter_function_dump
493 - trace_set_filter_function
494 - trace_set_filter_function_reply
496 - trace_set_filters_reply
499 - tracenode_enable_disable
500 - tracenode_enable_disable_reply
501 - vxlan_gbp_tunnel_add_del
502 - vxlan_gbp_tunnel_add_del_reply
503 - vxlan_gbp_tunnel_details
504 - vxlan_gbp_tunnel_dump
506 Patches that changed API definitions
507 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
510 ``src/vlibmemory/memclnt.api``
512 * `7108cb15c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7108cb15c>`_ api: memclnt - Mark old message versions as deprecated
514 ``src/vnet/flow/flow.api``
516 * `9c7e03348 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9c7e03348>`_ flow: mark API as production
518 ``src/vnet/ipsec/ipsec.api``
520 * `63305843e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=63305843e>`_ api: ipsec - Mark old message versions as deprecated
521 * `1271e3a2a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1271e3a2a>`_ ipsec: manually binding an SA to a worker
522 * `f441b5d0e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f441b5d0e>`_ crypto: use fixed crypto frame pool
524 ``src/vnet/ipsec/ipsec_types.api``
526 * `84e665848 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=84e665848>`_ ipsec: add support for RFC-4543 ENCR_NULL_AUTH_AES_GMAC
528 ``src/vnet/crypto/crypto.api``
530 * `139aba204 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=139aba204>`_ crypto: allow changing dispatch mode
531 * `9a9604b09 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9a9604b09>`_ crypto: make crypto-dispatch node working in adaptive mode
533 ``src/vnet/devices/tap/tapv2.api``
535 * `74d9f0ae3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=74d9f0ae3>`_ api: tapv2 - Mark old message versions as deprecated
537 ``src/vnet/ip/ip.api``
539 * `755e3aa54 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=755e3aa54>`_ api: ip - Mark old message versions as deprecated
541 ``src/vnet/interface.api``
543 * `3f4075574 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3f4075574>`_ classify: add bpf support to pcap classifier
545 ``src/vnet/mpls/mpls.api``
547 * `8d61c59c3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8d61c59c3>`_ mpls: add mpls_interface_dump
549 ``src/vnet/srv6/sr.api``
551 * `238cf3bd4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=238cf3bd4>`_ sr: mark sr_policies_v2_details message as production
552 * `5c476e7ac <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5c476e7ac>`_ api: sr - Mark old message versions as deprecated
554 ``src/vnet/pg/pg.api``
556 * `be5676166 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=be5676166>`_ api: pg - Mark old message versions as deprecated
558 ``src/vnet/ip-neighbor/ip_neighbor.api``
560 * `e1cc87536 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e1cc87536>`_ ip-neighbor: add api for getting neighbor db config
562 ``src/plugins/tracedump/tracedump.api``
564 * `52fa5f21b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=52fa5f21b>`_ vlib: introduce trace filter functions
566 ``src/plugins/linux-cp/lcp.api``
568 * `fa6d21b4f <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fa6d21b4f>`_ api: lcp - Mark old message versions as deprecated
570 ``src/plugins/crypto_sw_scheduler/crypto_sw_scheduler.api``
572 * `a998f80cd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a998f80cd>`_ crypto-sw-scheduler: stabilize the API
574 ``src/plugins/adl/adl.api``
576 * `b116bf8f3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b116bf8f3>`_ adl: stabilize the API
578 ``src/plugins/nat/det44/det44.api``
580 * `ad417a8e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad417a8e6>`_ nat: mark several messages as production
582 ``src/plugins/nat/nat44-ed/nat44_ed.api``
584 * `b1239c488 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b1239c488>`_ api: nat44_ed - Mark old message versions as deprecated
586 ``src/plugins/af_xdp/af_xdp.api``
588 * `7f27ed666 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7f27ed666>`_ af_xdp: create_api_v3 without namespace keyword
590 ``src/plugins/cnat/cnat.api``
592 * `f6beee077 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f6beee077>`_ cnat: add host tag to bitmap in cnat snat
593 * `663103279 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=663103279>`_ cnat: flag to disable rsession
595 ``src/plugins/tracenode/tracenode.api``
597 * `77812045e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=77812045e>`_ tracenode: filtering feature
599 ``src/plugins/bpf_trace_filter/bpf_trace_filter.api``
601 * `ccd307095 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ccd307095>`_ bpf_trace_filter: plugin for BPF Trace Filtering
603 ``src/plugins/wireguard/wireguard.api``
605 * `f29d9f060 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f29d9f060>`_ wireguard: stabilize the API
607 ``src/plugins/memif/memif.api``
609 * `cfd8e4ec8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cfd8e4ec8>`_ api: memif - Mark old message versions as deprecated
611 ``src/plugins/vxlan/vxlan.api``
613 * `9ebd2b92e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9ebd2b92e>`_ api: vxlan - Mark old message versions as deprecated
615 ``src/plugins/af_packet/af_packet.api``
617 * `fe965a3a1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe965a3a1>`_ api: af_packet - Mark old message versions as deprecated
619 ``src/plugins/arping/arping.api``
621 * `8af78b8e3 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8af78b8e3>`_ arping: api to return responder mac address
623 ``src/plugins/npt66/npt66.api``
625 * `6ee3aa41c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6ee3aa41c>`_ npt66: network prefix translation for ipv6
627 ``src/plugins/idpf/idpf.api``
629 * `737edea32 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=737edea32>`_ idpf: add native idpf driver plugin