blob: 61051ce7598ac4c6b6b5d5bf1d9c39c31d789da7 [file] [log] [blame]
Andrew Yourtchenko93d38822024-02-20 15:19:56 +00001Release notes for VPP 24.02
2===========================
3
4More than 262 commits since the previous release, including 123 fixes.
5
6Features
7--------
8
9- Build System
10
11 - Modify N\_PREFETCH on Arm N2 to achieve best perf (`bef2d6da4 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bef2d6da4>`_)
12 - Add ability to disable some plugins from packaging and tests (`bc37878ec <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bc37878ec>`_)
13
14- Infrastructure Library
15
16 - Native AES-CTR implementation (`9caef2a35 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9caef2a35>`_)
17
18- Plugins
19
20 - Amazon Elastic Network Adapter (ENA) device driver
21
22 - Amazon Elastic Network Adapter (ENA) native driver (`2d725c612 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2d725c612>`_)
23
24 - CNat
25
26 - Add flow hash config to cnat translation (`589fe7ca6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=589fe7ca6>`_)
27
28 - Crypto - ipsecmb
29
30 - Bump intel-ipsec-mb version to 1.4 (`40242b88e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=40242b88e>`_)
31 - Bump intel-ipsec-mb version to 1.5 (`adb2c6799 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=adb2c6799>`_)
32
33 - Crypto - native
34
35 - Add AES-CTR (`da3771c25 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da3771c25>`_)
36
37 - DPDK
38
39 - Add ConnectX-6LX and ConnectX-7 support (`029f039d5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=029f039d5>`_)
40 - Add Mellanox BlueField NICs (`006c071b0 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=006c071b0>`_)
41 - Bump to DPDK 23.11 (`327c32306 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=327c32306>`_)
42 - Bump rdma-core to 49.0 (`b1a1209ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=b1a1209ce>`_)
43 - Add ID for QAT 4xxx series VF support (`ebe2371e6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ebe2371e6>`_)
44
45 - GTPU
46
47 - Support non-G-PDU packets and PDU Session (`f9ab6985d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f9ab6985d>`_)
48
49 - IAVF Device driver
50
51 - New driver using new dev infra (`47447f1f5 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=47447f1f5>`_)
52
53 - IPv6 Segment Routing Mobile
54
55 - Implement SRv6 mobile API funcs (`68ac24428 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68ac24428>`_)
56
57 - Marvell Octeon device driver
58
59 - Native driver for Marvell Octeon SoC (`01fe7ab88 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=01fe7ab88>`_)
60
61 - NPTv6
62
63 - Icmp6 alg to handle icmp6 error messages (`ff344a98a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ff344a98a>`_)
64
65- VNET
66
67 - FLOW
68
69 - Add support for using l2tpv3 as RSS type (`6cb727394 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6cb727394>`_)
70
71 - IPSec
72
73 - Allow receiving encrypted IP packets with TFC padding (`8fce54637 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8fce54637>`_)
74
75 - New Device Drivers Infra
76
77 - New device driver infra (`38c619115 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=38c619115>`_)
78
79 - Session Layer
80
81 - Make port range configurable (`e111bbd12 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e111bbd12>`_)
82
83
84Known issues
85------------
86
87For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_.
88
89Fixed issues
90------------
91
92For the full list of fixed issues please refer to:
93- fd.io `JIRA <https://jira.fd.io>`_
94- git `commit log <https://git.fd.io/vpp/log/?h=master>`_
95
96
97API changes
98-----------
99
100Description of results:
101
102- *Definition changed*: indicates that the API file was modified between releases.
103- *Only in image*: indicates the API is new for this release.
104- *Only in file*: indicates the API has been removed in this release.
105
106============================================================= ==================
107Message Name Result
108============================================================= ==================
109cnat_translation_details definition changed
110cnat_translation_update definition changed
111dev_attach only in image
112dev_attach_reply only in image
113dev_create_port_if only in image
114dev_create_port_if_reply only in image
115dev_detach only in image
116dev_detach_reply only in image
117dev_remove_port_if only in image
118dev_remove_port_if_reply only in image
119dhcp_client_detect_enable_disable only in image
120dhcp_client_detect_enable_disable_reply only in image
121gtpu_add_del_forward only in image
122gtpu_add_del_forward_reply only in image
123gtpu_add_del_tunnel_v2 only in image
124gtpu_add_del_tunnel_v2_reply only in image
125gtpu_get_transfer_counts only in image
126gtpu_get_transfer_counts_reply only in image
127gtpu_tunnel_v2_details only in image
128gtpu_tunnel_v2_dump only in image
129ipsec_sa_v5_details only in image
130ipsec_sa_v5_dump only in image
131ipsec_sad_entry_add_v2 only in image
132ipsec_sad_entry_add_v2_reply only in image
133lldp_details only in image
134lldp_dump only in image
135lldp_dump_reply only in image
136ping_finished_event only in image
137rdma_create_v4 only in image
138rdma_create_v4_reply only in image
139sr_mobile_localsid_add_del only in image
140sr_mobile_localsid_add_del_reply only in image
141sr_mobile_policy_add only in image
142sr_mobile_policy_add_reply only in image
143urpf_interface_details only in image
144urpf_interface_dump only in image
145want_ping_finished_events only in image
146want_ping_finished_events_reply only in image
147============================================================= ==================
148
149Found 38 api message signature differences
150
151
152Newly deprecated API messages
153~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
154
155These messages are still there in the API, but can and probably
156will disappear in the next release.
157
158- rdma_create_v3
159
160In-progress API messages
161~~~~~~~~~~~~~~~~~~~~~~~~
162
163These messages are provided for testing and experimentation only.
164They are *not* subject to any compatibility process,
165and therefore can arbitrarily change or disappear at *any* moment.
166Also they may have less than satisfactory testing, making
167them unsuitable for other use than the technology preview.
168If you are intending to use these messages in production projects,
169please collaborate with the feature maintainer on their productization.
170
171- abf_itf_attach_add_del
172- abf_itf_attach_add_del_reply
173- abf_itf_attach_details
174- abf_itf_attach_dump
175- abf_plugin_get_version
176- abf_plugin_get_version_reply
177- abf_policy_add_del
178- abf_policy_add_del_reply
179- abf_policy_details
180- abf_policy_dump
181- acl_plugin_use_hash_lookup_get
182- acl_plugin_use_hash_lookup_get_reply
183- acl_plugin_use_hash_lookup_set
184- acl_plugin_use_hash_lookup_set_reply
185- bpf_trace_filter_set
186- bpf_trace_filter_set_reply
187- cnat_get_snat_addresses
188- cnat_get_snat_addresses_reply
189- cnat_session_details
190- cnat_session_dump
191- cnat_session_purge
192- cnat_session_purge_reply
193- cnat_set_snat_addresses
194- cnat_set_snat_addresses_reply
195- cnat_set_snat_policy
196- cnat_set_snat_policy_reply
197- cnat_snat_policy_add_del_exclude_pfx
198- cnat_snat_policy_add_del_exclude_pfx_reply
199- cnat_snat_policy_add_del_if
200- cnat_snat_policy_add_del_if_reply
201- cnat_translation_del
202- cnat_translation_del_reply
203- cnat_translation_details
204- cnat_translation_dump
205- cnat_translation_update
206- cnat_translation_update_reply
207- det44_get_timeouts_reply
208- det44_set_timeouts
209- det44_set_timeouts_reply
210- dev_attach
211- dev_attach_reply
212- dev_create_port_if
213- dev_create_port_if_reply
214- dev_detach
215- dev_detach_reply
216- dev_remove_port_if
217- dev_remove_port_if_reply
218- flowprobe_get_params
219- flowprobe_get_params_reply
220- flowprobe_interface_add_del
221- flowprobe_interface_add_del_reply
222- flowprobe_interface_details
223- flowprobe_interface_dump
224- flowprobe_set_params
225- flowprobe_set_params_reply
226- gbp_bridge_domain_add
227- gbp_bridge_domain_add_reply
228- gbp_bridge_domain_del
229- gbp_bridge_domain_del_reply
230- gbp_bridge_domain_details
231- gbp_bridge_domain_dump
232- gbp_bridge_domain_dump_reply
233- gbp_contract_add_del
234- gbp_contract_add_del_reply
235- gbp_contract_details
236- gbp_contract_dump
237- gbp_endpoint_add
238- gbp_endpoint_add_reply
239- gbp_endpoint_del
240- gbp_endpoint_del_reply
241- gbp_endpoint_details
242- gbp_endpoint_dump
243- gbp_endpoint_group_add
244- gbp_endpoint_group_add_reply
245- gbp_endpoint_group_del
246- gbp_endpoint_group_del_reply
247- gbp_endpoint_group_details
248- gbp_endpoint_group_dump
249- gbp_ext_itf_add_del
250- gbp_ext_itf_add_del_reply
251- gbp_ext_itf_details
252- gbp_ext_itf_dump
253- gbp_recirc_add_del
254- gbp_recirc_add_del_reply
255- gbp_recirc_details
256- gbp_recirc_dump
257- gbp_route_domain_add
258- gbp_route_domain_add_reply
259- gbp_route_domain_del
260- gbp_route_domain_del_reply
261- gbp_route_domain_details
262- gbp_route_domain_dump
263- gbp_route_domain_dump_reply
264- gbp_subnet_add_del
265- gbp_subnet_add_del_reply
266- gbp_subnet_details
267- gbp_subnet_dump
268- gbp_vxlan_tunnel_add
269- gbp_vxlan_tunnel_add_reply
270- gbp_vxlan_tunnel_del
271- gbp_vxlan_tunnel_del_reply
272- gbp_vxlan_tunnel_details
273- gbp_vxlan_tunnel_dump
274- gtpu_add_del_forward
275- gtpu_add_del_forward_reply
276- gtpu_add_del_tunnel_v2
277- gtpu_add_del_tunnel_v2_reply
278- gtpu_get_transfer_counts
279- gtpu_get_transfer_counts_reply
280- gtpu_tunnel_v2_details
281- gtpu_tunnel_v2_dump
282- ikev2_child_sa_details
283- ikev2_child_sa_dump
284- ikev2_initiate_del_child_sa
285- ikev2_initiate_del_child_sa_reply
286- ikev2_initiate_del_ike_sa
287- ikev2_initiate_del_ike_sa_reply
288- ikev2_initiate_rekey_child_sa
289- ikev2_initiate_rekey_child_sa_reply
290- ikev2_initiate_sa_init
291- ikev2_initiate_sa_init_reply
292- ikev2_nonce_get
293- ikev2_nonce_get_reply
294- ikev2_profile_add_del
295- ikev2_profile_add_del_reply
296- ikev2_profile_details
297- ikev2_profile_disable_natt
298- ikev2_profile_disable_natt_reply
299- ikev2_profile_dump
300- ikev2_profile_set_auth
301- ikev2_profile_set_auth_reply
302- ikev2_profile_set_id
303- ikev2_profile_set_id_reply
304- ikev2_profile_set_ipsec_udp_port
305- ikev2_profile_set_ipsec_udp_port_reply
306- ikev2_profile_set_liveness
307- ikev2_profile_set_liveness_reply
308- ikev2_profile_set_ts
309- ikev2_profile_set_ts_reply
310- ikev2_profile_set_udp_encap
311- ikev2_profile_set_udp_encap_reply
312- ikev2_sa_details
313- ikev2_sa_dump
314- ikev2_set_esp_transforms
315- ikev2_set_esp_transforms_reply
316- ikev2_set_ike_transforms
317- ikev2_set_ike_transforms_reply
318- ikev2_set_local_key
319- ikev2_set_local_key_reply
320- ikev2_set_responder
321- ikev2_set_responder_hostname
322- ikev2_set_responder_hostname_reply
323- ikev2_set_responder_reply
324- ikev2_set_sa_lifetime
325- ikev2_set_sa_lifetime_reply
326- ikev2_set_tunnel_interface
327- ikev2_set_tunnel_interface_reply
328- ikev2_traffic_selector_details
329- ikev2_traffic_selector_dump
330- ip_neighbor_config_get
331- ip_neighbor_config_get_reply
332- ip_route_add_del_v2
333- ip_route_add_del_v2_reply
334- ip_route_lookup_v2
335- ip_route_lookup_v2_reply
336- ip_route_v2_details
337- ip_route_v2_dump
338- ip_session_redirect_add
339- ip_session_redirect_add_reply
340- ip_session_redirect_add_v2
341- ip_session_redirect_add_v2_reply
342- ip_session_redirect_del
343- ip_session_redirect_del_reply
344- l2_emulation
345- l2_emulation_reply
346- lcp_default_ns_get_reply
347- lcp_default_ns_set
348- lcp_default_ns_set_reply
349- lcp_itf_pair_add_del_v2
350- lcp_itf_pair_add_del_v2_reply
351- lcp_itf_pair_details
352- lldp_details
353- mdata_enable_disable
354- mdata_enable_disable_reply
355- nat44_ed_vrf_tables_v2_details
356- nat44_ed_vrf_tables_v2_dump
357- nat44_ei_add_del_address_range
358- nat44_ei_add_del_address_range_reply
359- nat44_ei_add_del_static_mapping
360- nat44_ei_add_del_static_mapping_reply
361- nat44_ei_address_details
362- nat44_ei_address_dump
363- nat44_ei_del_session
364- nat44_ei_del_session_reply
365- nat44_ei_del_user
366- nat44_ei_del_user_reply
367- nat44_ei_forwarding_enable_disable
368- nat44_ei_forwarding_enable_disable_reply
369- nat44_ei_ha_flush
370- nat44_ei_ha_flush_reply
371- nat44_ei_ha_resync
372- nat44_ei_ha_resync_completed_event
373- nat44_ei_ha_resync_reply
374- nat44_ei_ha_set_failover
375- nat44_ei_ha_set_failover_reply
376- nat44_ei_ha_set_listener
377- nat44_ei_ha_set_listener_reply
378- nat44_ei_interface_add_del_feature
379- nat44_ei_interface_add_del_feature_reply
380- nat44_ei_interface_details
381- nat44_ei_interface_dump
382- nat44_ei_ipfix_enable_disable
383- nat44_ei_ipfix_enable_disable_reply
384- nat44_ei_plugin_enable_disable
385- nat44_ei_plugin_enable_disable_reply
386- nat44_ei_set_addr_and_port_alloc_alg
387- nat44_ei_set_addr_and_port_alloc_alg_reply
388- nat44_ei_set_fq_options
389- nat44_ei_set_fq_options_reply
390- nat44_ei_set_mss_clamping
391- nat44_ei_set_mss_clamping_reply
392- nat44_ei_set_timeouts
393- nat44_ei_set_timeouts_reply
394- nat44_ei_set_workers
395- nat44_ei_set_workers_reply
396- nat44_ei_show_fq_options
397- nat44_ei_show_fq_options_reply
398- nat44_ei_show_running_config
399- nat44_ei_show_running_config_reply
400- nat44_ei_static_mapping_details
401- nat44_ei_static_mapping_dump
402- nat44_ei_user_details
403- nat44_ei_user_dump
404- nat44_ei_user_session_details
405- nat44_ei_user_session_dump
406- nat44_ei_user_session_v2_details
407- nat44_ei_user_session_v2_dump
408- nat44_ei_worker_details
409- nat44_ei_worker_dump
410- nat64_plugin_enable_disable
411- nat64_plugin_enable_disable_reply
412- npt66_binding_add_del
413- npt66_binding_add_del_reply
414- oddbuf_enable_disable
415- oddbuf_enable_disable_reply
416- pg_interface_enable_disable_coalesce
417- pg_interface_enable_disable_coalesce_reply
418- ping_finished_event
419- pnat_binding_add
420- pnat_binding_add_reply
421- pnat_binding_add_v2
422- pnat_binding_add_v2_reply
423- pnat_binding_attach
424- pnat_binding_attach_reply
425- pnat_binding_del
426- pnat_binding_del_reply
427- pnat_binding_detach
428- pnat_binding_detach_reply
429- pnat_bindings_details
430- pnat_bindings_get
431- pnat_bindings_get_reply
432- pnat_interfaces_details
433- pnat_interfaces_get
434- pnat_interfaces_get_reply
435- sample_macswap_enable_disable
436- sample_macswap_enable_disable_reply
437- set_ip_flow_hash_v3
438- set_ip_flow_hash_v3_reply
439- sr_localsids_with_packet_stats_details
440- sr_localsids_with_packet_stats_dump
441- sr_mobile_localsid_add_del
442- sr_mobile_localsid_add_del_reply
443- sr_mobile_policy_add
444- sr_mobile_policy_add_reply
445- sr_policies_with_sl_index_details
446- sr_policies_with_sl_index_dump
447- sr_policy_add_v2
448- sr_policy_add_v2_reply
449- sr_policy_mod_v2
450- sr_policy_mod_v2_reply
451- sw_interface_ip6nd_ra_details
452- sw_interface_ip6nd_ra_dump
453- sw_interface_set_vxlan_gbp_bypass
454- sw_interface_set_vxlan_gbp_bypass_reply
455- test_addresses
456- test_addresses2
457- test_addresses2_reply
458- test_addresses3
459- test_addresses3_reply
460- test_addresses_reply
461- test_empty
462- test_empty_reply
463- test_enum
464- test_enum_reply
465- test_interface
466- test_interface_reply
467- test_prefix
468- test_prefix_reply
469- test_string
470- test_string2
471- test_string2_reply
472- test_string_reply
473- test_vla
474- test_vla2
475- test_vla2_reply
476- test_vla3
477- test_vla3_reply
478- test_vla4
479- test_vla4_reply
480- test_vla5
481- test_vla5_reply
482- test_vla_reply
483- trace_capture_packets
484- trace_capture_packets_reply
485- trace_clear_cache
486- trace_clear_cache_reply
487- trace_clear_capture
488- trace_clear_capture_reply
489- trace_details
490- trace_dump
491- trace_dump_reply
492- trace_filter_function_details
493- trace_filter_function_dump
494- trace_set_filter_function
495- trace_set_filter_function_reply
496- trace_set_filters
497- trace_set_filters_reply
498- trace_v2_details
499- trace_v2_dump
500- tracenode_enable_disable
501- tracenode_enable_disable_reply
502- vxlan_gbp_tunnel_add_del
503- vxlan_gbp_tunnel_add_del_reply
504- vxlan_gbp_tunnel_details
505- vxlan_gbp_tunnel_dump
506- want_ping_finished_events
507- want_ping_finished_events_reply
508
509Patches that changed API definitions
510~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
511
512
513``src/plugins/urpf/urpf.api``
514
515* `2fa69effc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2fa69effc>`_ urpf: add interface dump to API
516
517``src/plugins/srv6-mobile/sr_mobile_types.api``
518
519* `68ac24428 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68ac24428>`_ srv6-mobile: Implement SRv6 mobile API funcs
520
521``src/plugins/srv6-mobile/sr_mobile.api``
522
523* `68ac24428 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=68ac24428>`_ srv6-mobile: Implement SRv6 mobile API funcs
524
525``src/plugins/npt66/npt66.api``
526
527* `bdeee2194 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bdeee2194>`_ npt66: add show command and rx/tx counters
528
529``src/plugins/gtpu/gtpu.api``
530
531* `f9ab6985d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f9ab6985d>`_ gtpu: support non-G-PDU packets and PDU Session
532
533``src/plugins/dhcp/dhcp.api``
534
535* `f3be34e44 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f3be34e44>`_ dhcp: api to enable client detect on interface
536
537``src/plugins/ping/ping.api``
538
539* `bb1cde678 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=bb1cde678>`_ ping: Simple binary API for running ping based on events
540
541``src/plugins/lldp/lldp.api``
542
543* `9f8d3b9b2 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9f8d3b9b2>`_ lldp: dump api
544
545``src/plugins/rdma/rdma.api``
546
547* `04d262d1e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=04d262d1e>`_ rdma: add rdma_create_v4 that handles flags properly
548
549``src/plugins/cnat/cnat.api``
550
551* `589fe7ca6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=589fe7ca6>`_ cnat: add flow hash config to cnat translation
552
553``src/vnet/dev/dev.api``
554
555* `ddf6cec37 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ddf6cec37>`_ dev: initial set of APIs
556
557``src/vnet/ipsec/ipsec.api``
558
559* `0e2f188f7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0e2f188f7>`_ ipsec: huge anti-replay window support
560
561``src/vnet/ipsec/ipsec_types.api``
562
563* `0e2f188f7 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0e2f188f7>`_ ipsec: huge anti-replay window support
564
565``src/vnet/devices/virtio/virtio.api``
566
567* `00c59e496 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=00c59e496>`_ virtio: virtio_flags api use enumflag instead of enum