blob: 73410b5dfafa8c553650362a6ffe6cb3a171135e [file] [log] [blame]
Andrew Yourtchenko3e0600b2024-06-24 16:41:46 +02001Release notes for VPP 24.06
2===========================
3
4More than 284 commits since the previous release, including 124 fixes.
5
6
7Features
8--------
9
10- Binary API Libraries
11
12 - Provide api definition over api (`ac0babd41 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0babd41>`_)
13
14- Build System
15
16 - Enable building on AlmaLinux 9 (`088d1a016 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=088d1a016>`_)
17
18- Plugins
19
20 - Crypto - OpenSSL
21
22 - Refactor openssl API usage (`97c9f5e7c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=97c9f5e7c>`_)
23
24 - Crypto - native
25
26 - Add SHA2-HMAC (`9f2799fda <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9f2799fda>`_)
27
28 - DPDK
29
30 - Bump to DPDK 24.03 (`a0fd52301 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a0fd52301>`_)
31 - Bump rdma-core to 51.0 (`62af9bb64 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=62af9bb64>`_)
32
33 - Marvell Octeon device driver
34
35 - Add flow offload infra (`3d1459b14 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=3d1459b14>`_)
36 - Add support for VF device (`09c6cae8c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=09c6cae8c>`_)
37 - Add support for SDP device (`043560ef2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=043560ef2>`_)
38 - Add promisc support (`9abc01f25 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9abc01f25>`_)
39 - Add support for mac address update (`b448568fa <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b448568fa>`_)
40
41 - Wireguard
42
43 - Notify key changes to crypto engine (`6f8252e83 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6f8252e83>`_)
44
45- VNET
46
47 - New Device Drivers Infra
48
49 - Add per-port vnet flow (`4af3fdfdd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4af3fdfdd>`_)
50
51- Vector Library
52
53 - Improve automatic core pinning (`71c32a898 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=71c32a898>`_)
54
55
56Known issues
57------------
58
59For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
60
61Fixed issues
62------------
63
64For the full list of fixed issues please refer to:
65- fd.io `JIRA <https://jira.fd.io>`_
66- git `commit log <https://git.fd.io/vpp/log/?h=master>`_
67
68
69API changes
70-----------
71
72Description of results:
73
74- *Definition changed*: indicates that the API file was modified between releases.
75- *Only in image*: indicates the API is new for this release.
76- *Only in file*: indicates the API has been removed in this release.
77
78============================================================= ==================
79Message Name Result
80============================================================= ==================
81bpf_trace_filter_set_v2 only in image
82bpf_trace_filter_set_v2_reply only in image
83get_api_json only in image
84get_api_json_reply only in image
85ikev2_child_sa_v2_details only in image
86ikev2_child_sa_v2_dump only in image
87ikev2_sa_v2_details only in image
88ikev2_sa_v2_dump only in image
89ikev2_sa_v3_details only in image
90ikev2_sa_v3_dump only in image
91============================================================= ==================
92
93Found 10 api message signature differences
94
95
96Newly deprecated API messages
97~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
98
99These messages are still there in the API, but can and probably
100will disappear in the next release.
101
102- builtinurl_enable
103- builtinurl_enable_reply
104
105In-progress API messages
106~~~~~~~~~~~~~~~~~~~~~~~~
107
108These messages are provided for testing and experimentation only.
109They are *not* subject to any compatibility process,
110and therefore can arbitrarily change or disappear at *any* moment.
111Also they may have less than satisfactory testing, making
112them unsuitable for other use than the technology preview.
113If you are intending to use these messages in production projects,
114please collaborate with the feature maintainer on their productization.
115
116- abf_itf_attach_add_del
117- abf_itf_attach_add_del_reply
118- abf_itf_attach_details
119- abf_itf_attach_dump
120- abf_plugin_get_version
121- abf_plugin_get_version_reply
122- abf_policy_add_del
123- abf_policy_add_del_reply
124- abf_policy_details
125- abf_policy_dump
126- acl_plugin_use_hash_lookup_get
127- acl_plugin_use_hash_lookup_get_reply
128- acl_plugin_use_hash_lookup_set
129- acl_plugin_use_hash_lookup_set_reply
130- bpf_trace_filter_set
131- bpf_trace_filter_set_reply
132- bpf_trace_filter_set_v2
133- bpf_trace_filter_set_v2_reply
134- cnat_get_snat_addresses
135- cnat_get_snat_addresses_reply
136- cnat_session_details
137- cnat_session_dump
138- cnat_session_purge
139- cnat_session_purge_reply
140- cnat_set_snat_addresses
141- cnat_set_snat_addresses_reply
142- cnat_set_snat_policy
143- cnat_set_snat_policy_reply
144- cnat_snat_policy_add_del_exclude_pfx
145- cnat_snat_policy_add_del_exclude_pfx_reply
146- cnat_snat_policy_add_del_if
147- cnat_snat_policy_add_del_if_reply
148- cnat_translation_del
149- cnat_translation_del_reply
150- cnat_translation_details
151- cnat_translation_dump
152- cnat_translation_update
153- cnat_translation_update_reply
154- det44_get_timeouts_reply
155- det44_set_timeouts
156- det44_set_timeouts_reply
157- dev_attach
158- dev_attach_reply
159- dev_create_port_if
160- dev_create_port_if_reply
161- dev_detach
162- dev_detach_reply
163- dev_remove_port_if
164- dev_remove_port_if_reply
165- flowprobe_get_params
166- flowprobe_get_params_reply
167- flowprobe_interface_add_del
168- flowprobe_interface_add_del_reply
169- flowprobe_interface_details
170- flowprobe_interface_dump
171- flowprobe_set_params
172- flowprobe_set_params_reply
173- gbp_bridge_domain_add
174- gbp_bridge_domain_add_reply
175- gbp_bridge_domain_del
176- gbp_bridge_domain_del_reply
177- gbp_bridge_domain_details
178- gbp_bridge_domain_dump
179- gbp_bridge_domain_dump_reply
180- gbp_contract_add_del
181- gbp_contract_add_del_reply
182- gbp_contract_details
183- gbp_contract_dump
184- gbp_endpoint_add
185- gbp_endpoint_add_reply
186- gbp_endpoint_del
187- gbp_endpoint_del_reply
188- gbp_endpoint_details
189- gbp_endpoint_dump
190- gbp_endpoint_group_add
191- gbp_endpoint_group_add_reply
192- gbp_endpoint_group_del
193- gbp_endpoint_group_del_reply
194- gbp_endpoint_group_details
195- gbp_endpoint_group_dump
196- gbp_ext_itf_add_del
197- gbp_ext_itf_add_del_reply
198- gbp_ext_itf_details
199- gbp_ext_itf_dump
200- gbp_recirc_add_del
201- gbp_recirc_add_del_reply
202- gbp_recirc_details
203- gbp_recirc_dump
204- gbp_route_domain_add
205- gbp_route_domain_add_reply
206- gbp_route_domain_del
207- gbp_route_domain_del_reply
208- gbp_route_domain_details
209- gbp_route_domain_dump
210- gbp_route_domain_dump_reply
211- gbp_subnet_add_del
212- gbp_subnet_add_del_reply
213- gbp_subnet_details
214- gbp_subnet_dump
215- gbp_vxlan_tunnel_add
216- gbp_vxlan_tunnel_add_reply
217- gbp_vxlan_tunnel_del
218- gbp_vxlan_tunnel_del_reply
219- gbp_vxlan_tunnel_details
220- gbp_vxlan_tunnel_dump
221- gtpu_add_del_forward
222- gtpu_add_del_forward_reply
223- gtpu_add_del_tunnel_v2
224- gtpu_add_del_tunnel_v2_reply
225- gtpu_get_transfer_counts
226- gtpu_get_transfer_counts_reply
227- gtpu_tunnel_v2_details
228- gtpu_tunnel_v2_dump
229- ikev2_child_sa_v2_details
230- ikev2_child_sa_v2_dump
231- ikev2_initiate_del_child_sa
232- ikev2_initiate_del_child_sa_reply
233- ikev2_initiate_del_ike_sa
234- ikev2_initiate_del_ike_sa_reply
235- ikev2_initiate_rekey_child_sa
236- ikev2_initiate_rekey_child_sa_reply
237- ikev2_initiate_sa_init
238- ikev2_initiate_sa_init_reply
239- ikev2_nonce_get
240- ikev2_nonce_get_reply
241- ikev2_profile_add_del
242- ikev2_profile_add_del_reply
243- ikev2_profile_details
244- ikev2_profile_disable_natt
245- ikev2_profile_disable_natt_reply
246- ikev2_profile_dump
247- ikev2_profile_set_auth
248- ikev2_profile_set_auth_reply
249- ikev2_profile_set_id
250- ikev2_profile_set_id_reply
251- ikev2_profile_set_ipsec_udp_port
252- ikev2_profile_set_ipsec_udp_port_reply
253- ikev2_profile_set_liveness
254- ikev2_profile_set_liveness_reply
255- ikev2_profile_set_ts
256- ikev2_profile_set_ts_reply
257- ikev2_profile_set_udp_encap
258- ikev2_profile_set_udp_encap_reply
259- ikev2_sa_v3_details
260- ikev2_sa_v3_dump
261- ikev2_set_esp_transforms
262- ikev2_set_esp_transforms_reply
263- ikev2_set_ike_transforms
264- ikev2_set_ike_transforms_reply
265- ikev2_set_local_key
266- ikev2_set_local_key_reply
267- ikev2_set_responder
268- ikev2_set_responder_hostname
269- ikev2_set_responder_hostname_reply
270- ikev2_set_responder_reply
271- ikev2_set_sa_lifetime
272- ikev2_set_sa_lifetime_reply
273- ikev2_set_tunnel_interface
274- ikev2_set_tunnel_interface_reply
275- ikev2_traffic_selector_details
276- ikev2_traffic_selector_dump
277- ip_neighbor_config_get
278- ip_neighbor_config_get_reply
279- ip_route_add_del_v2
280- ip_route_add_del_v2_reply
281- ip_route_lookup_v2
282- ip_route_lookup_v2_reply
283- ip_route_v2_details
284- ip_route_v2_dump
285- ip_session_redirect_add
286- ip_session_redirect_add_reply
287- ip_session_redirect_add_v2
288- ip_session_redirect_add_v2_reply
289- ip_session_redirect_del
290- ip_session_redirect_del_reply
291- l2_emulation
292- l2_emulation_reply
293- lcp_default_ns_get_reply
294- lcp_default_ns_set
295- lcp_default_ns_set_reply
296- lcp_itf_pair_add_del_v2
297- lcp_itf_pair_add_del_v2_reply
298- lcp_itf_pair_add_del_v3
299- lcp_itf_pair_add_del_v3_reply
300- lcp_itf_pair_details
301- lldp_details
302- mdata_enable_disable
303- mdata_enable_disable_reply
304- nat44_ed_vrf_tables_v2_details
305- nat44_ed_vrf_tables_v2_dump
306- nat44_ei_add_del_address_range
307- nat44_ei_add_del_address_range_reply
308- nat44_ei_add_del_static_mapping
309- nat44_ei_add_del_static_mapping_reply
310- nat44_ei_address_details
311- nat44_ei_address_dump
312- nat44_ei_del_session
313- nat44_ei_del_session_reply
314- nat44_ei_del_user
315- nat44_ei_del_user_reply
316- nat44_ei_forwarding_enable_disable
317- nat44_ei_forwarding_enable_disable_reply
318- nat44_ei_ha_flush
319- nat44_ei_ha_flush_reply
320- nat44_ei_ha_resync
321- nat44_ei_ha_resync_completed_event
322- nat44_ei_ha_resync_reply
323- nat44_ei_ha_set_failover
324- nat44_ei_ha_set_failover_reply
325- nat44_ei_ha_set_listener
326- nat44_ei_ha_set_listener_reply
327- nat44_ei_interface_add_del_feature
328- nat44_ei_interface_add_del_feature_reply
329- nat44_ei_interface_details
330- nat44_ei_interface_dump
331- nat44_ei_ipfix_enable_disable
332- nat44_ei_ipfix_enable_disable_reply
333- nat44_ei_plugin_enable_disable
334- nat44_ei_plugin_enable_disable_reply
335- nat44_ei_set_addr_and_port_alloc_alg
336- nat44_ei_set_addr_and_port_alloc_alg_reply
337- nat44_ei_set_fq_options
338- nat44_ei_set_fq_options_reply
339- nat44_ei_set_mss_clamping
340- nat44_ei_set_mss_clamping_reply
341- nat44_ei_set_timeouts
342- nat44_ei_set_timeouts_reply
343- nat44_ei_set_workers
344- nat44_ei_set_workers_reply
345- nat44_ei_show_fq_options
346- nat44_ei_show_fq_options_reply
347- nat44_ei_show_running_config
348- nat44_ei_show_running_config_reply
349- nat44_ei_static_mapping_details
350- nat44_ei_static_mapping_dump
351- nat44_ei_user_details
352- nat44_ei_user_dump
353- nat44_ei_user_session_details
354- nat44_ei_user_session_dump
355- nat44_ei_user_session_v2_details
356- nat44_ei_user_session_v2_dump
357- nat44_ei_worker_details
358- nat44_ei_worker_dump
359- nat64_plugin_enable_disable
360- nat64_plugin_enable_disable_reply
361- npt66_binding_add_del
362- npt66_binding_add_del_reply
363- oddbuf_enable_disable
364- oddbuf_enable_disable_reply
365- pg_interface_enable_disable_coalesce
366- pg_interface_enable_disable_coalesce_reply
367- ping_finished_event
368- pnat_binding_add
369- pnat_binding_add_reply
370- pnat_binding_add_v2
371- pnat_binding_add_v2_reply
372- pnat_binding_attach
373- pnat_binding_attach_reply
374- pnat_binding_del
375- pnat_binding_del_reply
376- pnat_binding_detach
377- pnat_binding_detach_reply
378- pnat_bindings_details
379- pnat_bindings_get
380- pnat_bindings_get_reply
381- pnat_interfaces_details
382- pnat_interfaces_get
383- pnat_interfaces_get_reply
384- sample_macswap_enable_disable
385- sample_macswap_enable_disable_reply
386- set_ip_flow_hash_v3
387- set_ip_flow_hash_v3_reply
388- sr_localsids_with_packet_stats_details
389- sr_localsids_with_packet_stats_dump
390- sr_mobile_localsid_add_del
391- sr_mobile_localsid_add_del_reply
392- sr_mobile_policy_add
393- sr_mobile_policy_add_reply
394- sr_policies_with_sl_index_details
395- sr_policies_with_sl_index_dump
396- sr_policy_add_v2
397- sr_policy_add_v2_reply
398- sr_policy_mod_v2
399- sr_policy_mod_v2_reply
400- sw_interface_ip6nd_ra_details
401- sw_interface_ip6nd_ra_dump
402- sw_interface_set_vxlan_gbp_bypass
403- sw_interface_set_vxlan_gbp_bypass_reply
404- test_addresses
405- test_addresses2
406- test_addresses2_reply
407- test_addresses3
408- test_addresses3_reply
409- test_addresses_reply
410- test_empty
411- test_empty_reply
412- test_enum
413- test_enum_reply
414- test_interface
415- test_interface_reply
416- test_prefix
417- test_prefix_reply
418- test_string
419- test_string2
420- test_string2_reply
421- test_string_reply
422- test_vla
423- test_vla2
424- test_vla2_reply
425- test_vla3
426- test_vla3_reply
427- test_vla4
428- test_vla4_reply
429- test_vla5
430- test_vla5_reply
431- test_vla_reply
432- trace_capture_packets
433- trace_capture_packets_reply
434- trace_clear_cache
435- trace_clear_cache_reply
436- trace_clear_capture
437- trace_clear_capture_reply
438- trace_details
439- trace_dump
440- trace_dump_reply
441- trace_filter_function_details
442- trace_filter_function_dump
443- trace_set_filter_function
444- trace_set_filter_function_reply
445- trace_set_filters
446- trace_set_filters_reply
447- trace_v2_details
448- trace_v2_dump
449- tracenode_enable_disable
450- tracenode_enable_disable_reply
451- vxlan_gbp_tunnel_add_del
452- vxlan_gbp_tunnel_add_del_reply
453- vxlan_gbp_tunnel_details
454- vxlan_gbp_tunnel_dump
455- want_ping_finished_events
456- want_ping_finished_events_reply
457
458Patches that changed API definitions
459~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
460
461
462``src/vlibmemory/memclnt.api``
463
464* `ac0babd41 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ac0babd41>`_ api: provide api definition over api
465
466``src/plugins/builtinurl/builtinurl.api``
467
468* `a5668eb05 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a5668eb05>`_ builtinurl: mark api as deprecated
469
470``src/plugins/netmap/netmap.api``
471
472* `16cc51b88 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=16cc51b88>`_ netmap: Reinstate and update netmap plugin
473
474``src/plugins/bpf_trace_filter/bpf_trace_filter.api``
475
476* `5be4b869a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=5be4b869a>`_ bpf_trace_filter: support bpf filter optimization and dump
477
478``src/plugins/ikev2/ikev2.api``
479
480* `07b227407 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=07b227407>`_ ikev2: uptime
481* `f40a354da <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f40a354da>`_ ikev2: dump state and profile name in CLI and API
482
483``src/plugins/ikev2/ikev2_types.api``
484
485* `07b227407 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=07b227407>`_ ikev2: uptime
486* `f40a354da <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f40a354da>`_ ikev2: dump state and profile name in CLI and API
487
488``src/plugins/linux-cp/lcp.api``
489
490* `83ad79d69 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=83ad79d69>`_ linux-cp: add add_del_v3 and get_v2 methods
491
492``src/plugins/srmpls/sr_mpls.api``
493
494* `182d8b2dd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=182d8b2dd>`_ sr: move srmpls to a plugin