blob: d2375a11f01a32f523947239ce6b3ac5f7d4a6ce [file] [log] [blame]
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +02001Release notes for VPP 21.10
2===========================
3
Nathan Skrzypczak8b7e8ae2021-11-22 17:44:30 +01004More than 358 commits since the previous release, including 187 fixes.
5
6Features
7--------
8
9- Infrastructure Library
10
11 - Add array mask func (`0ec7dad7a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0ec7dad7a>`_)
12 - Add abstract socket & netns fns (`4cef6de59 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=4cef6de59>`_)
13 - Move format\_table from perfmon (`0e6584014 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=0e6584014>`_)
14
15- Plugins
16
17 - DPDK
18
19 - Bump to 21.05 (`9303b1089 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=9303b1089>`_)
20 - Bump to 21.08 (`8990f095a <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8990f095a>`_)
21
22 - Bufmon
23
24 - Add buffer monitoring plugin (`e09a2337b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=e09a2337b>`_)
25
26 - Performance counter
27
28 - Adding support for papi TMAM (`c3cb2075d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=c3cb2075d>`_)
29
30 - Snort plugin
31
32 - Snort3 plugin and DAQ (`839b1473e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=839b1473e>`_)
33
34 - Vmxnet3 device driver
35
36 - Support manual thread assignment toz tx queue (`a57a7005d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a57a7005d>`_)
37
38- Python binding for the VPP API
39
40 - Remove shared memory transport (`041372b79 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=041372b79>`_)
41
42- VNET
43
44 - - IP6 Neighbor Discovery
45 - Add ip6-nd proxy (`cebb47733 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cebb47733>`_)
46
47 - FIB
48
49 - A 16-8-8 and a 8-8-8-8 versions of an ip4\_fib\_t (`d6953332d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=d6953332d>`_)
50 - Compiile time option to use 8-8-8-8 stride tries for FIB rather than 16-8-8-8 (`a70b015ce <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=a70b015ce>`_)
51
52 - FLOW
53
54 - Add esp spi rss type (`da6520b4e <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da6520b4e>`_)
55
56 - Hash
57
58 - Add support for hashing infra (`41b23bc95 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=41b23bc95>`_)
59
60 - IPv4 LPM
61
62 - Allow the 'ip6 enable' on tunnel interface types (`dfef64b4c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=dfef64b4c>`_)
63 - Source address selection (`8034a36a9 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8034a36a9>`_)
64 - Punt redirect add nh in api (`2a1783fd6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2a1783fd6>`_)
65 - Show ip table CLI (`14b472e37 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=14b472e37>`_)
66
67 - Interface Common
68
69 - Add custom interface name support (`f49734d3b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49734d3b>`_)
70
71 - Packet Generator
72
73 - A Tunnel mode variant of a pg interface (`6197cb730 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6197cb730>`_)
74
75 - Segment Routing (IPv6 and MPLS)
76
77 - Extend the srv6 sid list structure (`ad8b82d83 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ad8b82d83>`_)
78
79 - Session Layer
80
81 - Optimize ct fifo segment allocations (`da78c5abc <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=da78c5abc>`_)
82 - Support abstract sockets for app ns (`7cb471a02 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7cb471a02>`_)
83 - Add sock\_name option to add\_ns (`1a9e2f96d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1a9e2f96d>`_)
84
85 - UDP
86
87 - Add udp decapsulation (`8a6f5d394 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8a6f5d394>`_)
88
89- VPP Comms Library
90
91 - Basic support for epoll level-triggered evts (`fe286f7d1 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=fe286f7d1>`_)
92
93Known issues
94------------
95
96
97For the full list of issues please refer to fd.io `JIRA <https://jira.fd.io>`_).
98
99Fixed issues
100------------
101
102For the full list of fixed issues please refer to:
103- fd.io `JIRA <https://jira.fd.io>`_)
104- git `commit log <https://git.fd.io/vpp/log/?h=stable/2110>`_)
105
106
107API changes
108-----------
109
110Description of results:
111
112- *Definition changed*: indicates that the API file was modified between releases.
113- *Only in image*: indicates the API is new for this release.
114- *Only in file*: indicates the API has been removed in this release.
115
116=============================================== ==================
117Message Name Result
118=============================================== ==================
119acl_plugin_use_hash_lookup_get only in image
120acl_plugin_use_hash_lookup_get_reply only in image
121acl_plugin_use_hash_lookup_set only in image
122acl_plugin_use_hash_lookup_set_reply only in image
123add_del_ip_punt_redirect_v2 only in image
124add_del_ip_punt_redirect_v2_reply only in image
125app_namespace_add_del_v2 only in image
126app_namespace_add_del_v2_reply only in image
127app_namespace_add_del_v3 only in image
128app_namespace_add_del_v3_reply only in image
129ip6nd_proxy_enable_disable only in image
130ip6nd_proxy_enable_disable_reply only in image
131ip_punt_redirect_v2_details only in image
132ip_punt_redirect_v2_dump only in image
133ipsec_sad_entry_add only in image
134ipsec_sad_entry_add_reply only in image
135ipsec_sad_entry_del only in image
136ipsec_sad_entry_del_reply only in image
137pg_create_interface_v2 only in image
138pg_create_interface_v2_reply only in image
139sw_interface_set_interface_name only in image
140sw_interface_set_interface_name_reply only in image
141udp_decap_add_del only in image
142udp_decap_add_del_reply only in image
143=============================================== ==================
144
145Found 24 api message signature differences
146
147
148Newly deprecated API messages
149~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
150
151These messages are still there in the API, but can and probably
152will disappear in the next release.
153
154- app_namespace_add_del
155- app_namespace_add_del_reply
156- ip_punt_redirect
157- ip_punt_redirect_reply
158
159In-progress API messages
160~~~~~~~~~~~~~~~~~~~~~~~~
161
162These messages are provided for testing and experimentation only.
163They are *not* subject to any compatibility process,
164and therefore can arbitrarily change or disappear at *any* moment.
165Also they may have less than satisfactory testing, making
166them unsuitable for other use than the technology preview.
167If you are intending to use these messages in production projects,
168please collaborate with the feature maintainer on their productization.
169
170- abf_itf_attach_add_del
171- abf_itf_attach_add_del_reply
172- abf_itf_attach_details
173- abf_itf_attach_dump
174- abf_plugin_get_version
175- abf_plugin_get_version_reply
176- abf_policy_add_del
177- abf_policy_add_del_reply
178- abf_policy_details
179- abf_policy_dump
180- acl_plugin_use_hash_lookup_get
181- acl_plugin_use_hash_lookup_get_reply
182- acl_plugin_use_hash_lookup_set
183- acl_plugin_use_hash_lookup_set_reply
184- adl_allowlist_enable_disable
185- adl_allowlist_enable_disable_reply
186- adl_interface_enable_disable
187- adl_interface_enable_disable_reply
188- af_xdp_create
189- af_xdp_create_reply
190- af_xdp_delete
191- af_xdp_delete_reply
192- cnat_get_snat_addresses
193- cnat_get_snat_addresses_reply
194- cnat_session_details
195- cnat_session_dump
196- cnat_session_purge
197- cnat_session_purge_reply
198- cnat_set_snat_addresses
199- cnat_set_snat_addresses_reply
200- cnat_set_snat_policy
201- cnat_set_snat_policy_reply
202- cnat_snat_policy_add_del_exclude_pfx
203- cnat_snat_policy_add_del_exclude_pfx_reply
204- cnat_snat_policy_add_del_if
205- cnat_snat_policy_add_del_if_reply
206- cnat_translation_del
207- cnat_translation_del_reply
208- cnat_translation_details
209- cnat_translation_dump
210- cnat_translation_update
211- cnat_translation_update_reply
212- crypto_sw_scheduler_set_worker
213- crypto_sw_scheduler_set_worker_reply
214- det44_get_timeouts_reply
215- det44_interface_add_del_feature
216- det44_interface_add_del_feature_reply
217- det44_interface_details
218- det44_interface_dump
219- det44_plugin_enable_disable
220- det44_plugin_enable_disable_reply
221- det44_set_timeouts
222- det44_set_timeouts_reply
223- flow_add
224- flow_add_reply
225- flow_del
226- flow_del_reply
227- flow_disable
228- flow_disable_reply
229- flow_enable
230- flow_enable_reply
231- gbp_bridge_domain_add
232- gbp_bridge_domain_add_reply
233- gbp_bridge_domain_del
234- gbp_bridge_domain_del_reply
235- gbp_bridge_domain_details
236- gbp_bridge_domain_dump
237- gbp_bridge_domain_dump_reply
238- gbp_contract_add_del
239- gbp_contract_add_del_reply
240- gbp_contract_details
241- gbp_contract_dump
242- gbp_endpoint_add
243- gbp_endpoint_add_reply
244- gbp_endpoint_del
245- gbp_endpoint_del_reply
246- gbp_endpoint_details
247- gbp_endpoint_dump
248- gbp_endpoint_group_add
249- gbp_endpoint_group_add_reply
250- gbp_endpoint_group_del
251- gbp_endpoint_group_del_reply
252- gbp_endpoint_group_details
253- gbp_endpoint_group_dump
254- gbp_ext_itf_add_del
255- gbp_ext_itf_add_del_reply
256- gbp_ext_itf_details
257- gbp_ext_itf_dump
258- gbp_recirc_add_del
259- gbp_recirc_add_del_reply
260- gbp_recirc_details
261- gbp_recirc_dump
262- gbp_route_domain_add
263- gbp_route_domain_add_reply
264- gbp_route_domain_del
265- gbp_route_domain_del_reply
266- gbp_route_domain_details
267- gbp_route_domain_dump
268- gbp_route_domain_dump_reply
269- gbp_subnet_add_del
270- gbp_subnet_add_del_reply
271- gbp_subnet_details
272- gbp_subnet_dump
273- gbp_vxlan_tunnel_add
274- gbp_vxlan_tunnel_add_reply
275- gbp_vxlan_tunnel_del
276- gbp_vxlan_tunnel_del_reply
277- gbp_vxlan_tunnel_details
278- gbp_vxlan_tunnel_dump
279- ikev2_child_sa_details
280- ikev2_child_sa_dump
281- ikev2_initiate_del_child_sa
282- ikev2_initiate_del_child_sa_reply
283- ikev2_initiate_del_ike_sa
284- ikev2_initiate_del_ike_sa_reply
285- ikev2_initiate_rekey_child_sa
286- ikev2_initiate_rekey_child_sa_reply
287- ikev2_initiate_sa_init
288- ikev2_initiate_sa_init_reply
289- ikev2_nonce_get
290- ikev2_nonce_get_reply
291- ikev2_profile_add_del
292- ikev2_profile_add_del_reply
293- ikev2_profile_details
294- ikev2_profile_disable_natt
295- ikev2_profile_disable_natt_reply
296- ikev2_profile_dump
297- ikev2_profile_set_auth
298- ikev2_profile_set_auth_reply
299- ikev2_profile_set_id
300- ikev2_profile_set_id_reply
301- ikev2_profile_set_ipsec_udp_port
302- ikev2_profile_set_ipsec_udp_port_reply
303- ikev2_profile_set_liveness
304- ikev2_profile_set_liveness_reply
305- ikev2_profile_set_ts
306- ikev2_profile_set_ts_reply
307- ikev2_profile_set_udp_encap
308- ikev2_profile_set_udp_encap_reply
309- ikev2_sa_details
310- ikev2_sa_dump
311- ikev2_set_esp_transforms
312- ikev2_set_esp_transforms_reply
313- ikev2_set_ike_transforms
314- ikev2_set_ike_transforms_reply
315- ikev2_set_local_key
316- ikev2_set_local_key_reply
317- ikev2_set_responder
318- ikev2_set_responder_hostname
319- ikev2_set_responder_hostname_reply
320- ikev2_set_responder_reply
321- ikev2_set_sa_lifetime
322- ikev2_set_sa_lifetime_reply
323- ikev2_set_tunnel_interface
324- ikev2_set_tunnel_interface_reply
325- ikev2_traffic_selector_details
326- ikev2_traffic_selector_dump
327- ip_route_add_del_v2
328- ip_route_add_del_v2_reply
329- ip_route_lookup_v2
330- ip_route_lookup_v2_reply
331- ip_route_v2_details
332- ip_route_v2_dump
333- l2_emulation
334- l2_emulation_reply
335- mdata_enable_disable
336- mdata_enable_disable_reply
337- nat44_add_del_static_mapping_v2
338- nat44_add_del_static_mapping_v2_reply
339- nat44_ed_plugin_enable_disable
340- nat44_ed_plugin_enable_disable_reply
341- nat44_ed_set_fq_options
342- nat44_ed_set_fq_options_reply
343- nat44_ed_show_fq_options
344- nat44_ed_show_fq_options_reply
345- nat44_ei_add_del_address_range
346- nat44_ei_add_del_address_range_reply
347- nat44_ei_add_del_static_mapping
348- nat44_ei_add_del_static_mapping_reply
349- nat44_ei_address_details
350- nat44_ei_address_dump
351- nat44_ei_del_session
352- nat44_ei_del_session_reply
353- nat44_ei_del_user
354- nat44_ei_del_user_reply
355- nat44_ei_forwarding_enable_disable
356- nat44_ei_forwarding_enable_disable_reply
357- nat44_ei_ha_flush
358- nat44_ei_ha_flush_reply
359- nat44_ei_ha_resync
360- nat44_ei_ha_resync_completed_event
361- nat44_ei_ha_resync_reply
362- nat44_ei_ha_set_failover
363- nat44_ei_ha_set_failover_reply
364- nat44_ei_ha_set_listener
365- nat44_ei_ha_set_listener_reply
366- nat44_ei_interface_add_del_feature
367- nat44_ei_interface_add_del_feature_reply
368- nat44_ei_interface_details
369- nat44_ei_interface_dump
370- nat44_ei_ipfix_enable_disable
371- nat44_ei_ipfix_enable_disable_reply
372- nat44_ei_plugin_enable_disable
373- nat44_ei_plugin_enable_disable_reply
374- nat44_ei_set_addr_and_port_alloc_alg
375- nat44_ei_set_addr_and_port_alloc_alg_reply
376- nat44_ei_set_fq_options
377- nat44_ei_set_fq_options_reply
378- nat44_ei_set_mss_clamping
379- nat44_ei_set_mss_clamping_reply
380- nat44_ei_set_timeouts
381- nat44_ei_set_timeouts_reply
382- nat44_ei_set_workers
383- nat44_ei_set_workers_reply
384- nat44_ei_show_fq_options
385- nat44_ei_show_fq_options_reply
386- nat44_ei_show_running_config
387- nat44_ei_show_running_config_reply
388- nat44_ei_static_mapping_details
389- nat44_ei_static_mapping_dump
390- nat44_ei_user_details
391- nat44_ei_user_dump
392- nat44_ei_user_session_details
393- nat44_ei_user_session_dump
394- nat44_ei_worker_details
395- nat44_ei_worker_dump
396- nat44_show_running_config
397- nat44_show_running_config_reply
398- nat64_plugin_enable_disable
399- nat64_plugin_enable_disable_reply
400- oddbuf_enable_disable
401- oddbuf_enable_disable_reply
402- pg_interface_enable_disable_coalesce
403- pg_interface_enable_disable_coalesce_reply
404- pnat_binding_add
405- pnat_binding_add_reply
406- pnat_binding_attach
407- pnat_binding_attach_reply
408- pnat_binding_del
409- pnat_binding_del_reply
410- pnat_binding_detach
411- pnat_binding_detach_reply
412- pnat_bindings_details
413- pnat_bindings_get
414- pnat_bindings_get_reply
415- pnat_interfaces_details
416- pnat_interfaces_get
417- pnat_interfaces_get_reply
418- sample_macswap_enable_disable
419- sample_macswap_enable_disable_reply
420- sr_policies_with_sl_index_details
421- sr_policies_with_sl_index_dump
422- sw_interface_set_vxlan_gbp_bypass
423- sw_interface_set_vxlan_gbp_bypass_reply
424- test_addresses
425- test_addresses2
426- test_addresses2_reply
427- test_addresses3
428- test_addresses3_reply
429- test_addresses_reply
430- test_empty
431- test_empty_reply
432- test_enum
433- test_enum_reply
434- test_interface
435- test_interface_reply
436- test_prefix
437- test_prefix_reply
438- test_string
439- test_string2
440- test_string2_reply
441- test_string_reply
442- test_vla
443- test_vla2
444- test_vla2_reply
445- test_vla3
446- test_vla3_reply
447- test_vla4
448- test_vla4_reply
449- test_vla5
450- test_vla5_reply
451- test_vla_reply
452- trace_capture_packets
453- trace_capture_packets_reply
454- trace_clear_capture
455- trace_clear_capture_reply
456- trace_details
457- trace_dump
458- trace_dump_reply
459- trace_set_filters
460- trace_set_filters_reply
461- vxlan_gbp_tunnel_add_del
462- vxlan_gbp_tunnel_add_del_reply
463- vxlan_gbp_tunnel_details
464- vxlan_gbp_tunnel_dump
465- wireguard_interface_create
466- wireguard_interface_create_reply
467- wireguard_interface_delete
468- wireguard_interface_delete_reply
469- wireguard_interface_details
470- wireguard_interface_dump
471- wireguard_peer_add
472- wireguard_peer_add_reply
473- wireguard_peer_remove
474- wireguard_peer_remove_reply
475- wireguard_peers_details
476- wireguard_peers_dump
477
478Patches that changed API definitions
479~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
480
481
482``src/vnet/session/session.api``
483
484* `1a9e2f96d <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1a9e2f96d>`_ session: Add sock_name option to add_ns
485* `7cb471a02 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=7cb471a02>`_ session vcl: support abstract sockets for app ns
486
487``src/vnet/pg/pg.api``
488
489* `6197cb730 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=6197cb730>`_ pg: A Tunnel mode variant of a pg interface
490
491``src/vnet/ipsec/ipsec.api``
492
493* `ff2e4138c <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=ff2e4138c>`_ ipsec: Split the SA add_del API into an separate add and del
494
495``src/vnet/ipsec/ipsec_types.api``
496
497* `53dd08c59 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=53dd08c59>`_ ipsec: Derive the TUNNEL_V6 flag from the configured address types
498
499``src/vnet/ip6-nd/ip6_nd.api``
500
501* `cebb47733 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=cebb47733>`_ ip6-nd: add ip6-nd proxy
502
503``src/vnet/udp/udp.api``
504
505* `8a6f5d394 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=8a6f5d394>`_ udp: add udp decapsulation
506
507``src/vnet/interface.api``
508
509* `f49734d3b <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f49734d3b>`_ interface: add custom interface name support
510
511``src/vnet/ip/ip.api``
512
513* `2a1783fd6 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2a1783fd6>`_ ip: punt redirect add nh in api
514
515``src/plugins/acl/acl.api``
516
517* `1d342b9c8 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=1d342b9c8>`_ acl: add API call for setting the toggle to select between linear and bihash-based lookups
518
519``src/plugins/nat/nat44-ed/nat44_ed.api``
520
521* `2ac5c11cd <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=2ac5c11cd>`_ nat: Revert "nat: nat44-ed add session timing out indicator in api"
522* `f059a3452 <https://gerrit.fd.io/r/gitweb?p=vpp.git;a=commit;h=f059a3452>`_ nat: nat44-ed add session timing out indicator in api
523