blob: e760de282a68c5003b228eee46e3daf8f37b1965 [file] [log] [blame]
Nathan Skrzypczak9ad39c02021-08-19 11:38:06 +02001Release notes for VPP 18.01
2===========================
3
4More than 560 commits since the 17.10 release.
5
6Features
7--------
8
9- Infrastructure
10
11 - DPDK 17.11
12 - TCP Checksum Offload
13 - Arm64/Arm-v8 support
14 - SUSE packaging
15 - bihash_vec8_8 variant
16 - PCI rework to support VFIO
17 - chi-squared test calculator
18
19- SNAT / NAT
20
21 - One armed NAT
22 - Twice NAT44
23 - NAT hairpinning rework
24 - NAT64 multi-thread
25 - NAT64 IPFIX
26 - NAT64 Fragmentation
27 - NAT: DS-Lite
28 - Remove old SNAT API
29 - ACL-based NAT
30
31- VNET
32
33 - DNS name resolver
34 - BIER
35 - GENEVE Tunnel
36 - IPSec Openssl 1.1.0 api support
37 - FIB improvements
38 - tap v2
39
40- API
41
42 - VPP stats (Broadcast & Multicast support)
43 - SR MPLS
44 - VPP Object Model (VOM)
45
46- Host Stack
47
48 - VPP TCP Stack scale / congestion improvements
49 - Refactor UDP
50 - Namespace support
51 - Session rules table
52 - VPP Comms Library (VCL) improvements
53
54- ACL
55
56 - ACL stats
57
58- Plugins
59
60 - Kube-proxy
61 - L2 Emulation
62 - Memif
63
64Known issues
65------------
66
67For the full list of issues please refer to fd.io
68`JIRA <https://jira.fd.io>`__.
69
70Issues fixed
71------------
72
73For the full list of fixed issues please refer to:
74
75- fd.io `JIRA <https://jira.fd.io>`__
76- git `commit log <https://git.fd.io/vpp/log/?h=stable/1801>`__
77
78
79API changes
80-----------
81
82===================================== ==================
83Message Name Result
84===================================== ==================
85af_packet_set_l4_cksum_offload definition changed
86api_versions definition changed
87app_namespace_add_del definition changed
88application_attach definition changed
89bier_disp_entry_add_del definition changed
90bier_disp_entry_details only in image
91bier_disp_entry_dump only in image
92bier_disp_table_add_del definition changed
93bier_disp_table_details only in image
94bier_disp_table_dump only in image
95bier_imp_add definition changed
96bier_imp_del definition changed
97bier_imp_details only in image
98bier_imp_dump only in image
99bier_route_add_del definition changed
100bier_route_details only in image
101bier_route_dump only in image
102bier_table_add_del definition changed
103bier_table_details only in image
104bier_table_dump only in image
105bind_sock_reply definition changed
106connect_session_reply definition changed
107connect_sock definition changed
108connect_uri definition changed
109dhcp_proxy_details definition changed
110dhcp_proxy_set_vss definition changed
111dns_enable_disable definition changed
112dns_name_server_add_del definition changed
113dns_resolve_ip definition changed
114dns_resolve_name definition changed
115dslite_add_del_pool_addr_range definition changed
116dslite_set_aftr_addr definition changed
117geneve_add_del_tunnel definition changed
118geneve_tunnel_details only in image
119geneve_tunnel_dump only in image
120ip_add_del_route definition changed
121ip_container_proxy_add_del definition changed
122ip_mroute_add_del definition changed
123ip_neighbor_details definition changed
124ip_punt_police definition changed
125ip_punt_redirect definition changed
126ipsec_sa_details only in image
127ipsec_sa_dump only in image
128ipsec_sad_add_del_entry definition changed
129ipsec_tunnel_if_set_key definition changed
130ipsec_tunnel_if_set_sa definition changed
131kp_add_del_pod definition changed
132kp_add_del_vip definition changed
133kp_conf definition changed
134l2_emulation definition changed
135l2_fib_table_details definition changed
136l2fib_add_del definition changed
137memclnt_keepalive definition changed
138memfd_segment_create definition changed
139mpls_ip_bind_unbind definition changed
140mpls_route_add_del definition changed
141nat44_add_del_address_range definition changed
142nat44_add_del_identity_mapping definition changed
143nat44_add_del_interface_addr definition changed
144nat44_add_del_lb_static_mapping definition changed
145nat44_add_del_static_mapping definition changed
146nat44_address_details definition changed
147nat44_del_session definition changed
148nat44_forwarding_enable_disable definition changed
149nat44_forwarding_is_enabled definition changed
150nat44_identity_mapping_details only in image
151nat44_identity_mapping_dump only in image
152nat44_interface_addr_details definition changed
153nat44_lb_static_mapping_details definition changed
154nat44_static_mapping_details definition changed
155nat64_add_del_interface_addr definition changed
156nat_get_reass definition changed
157nat_reass_details only in image
158nat_reass_dump only in image
159nat_set_reass definition changed
160reset_vrf definition changed
161session_rule_add_del definition changed
162session_rules_details only in image
163session_rules_dump only in image
164snat_add_address_range definition changed
165snat_add_del_interface_addr definition changed
166snat_add_det_map definition changed
167snat_add_static_mapping definition changed
168snat_address_details only in file
169snat_address_dump only in file
170snat_control_ping definition changed
171snat_det_close_session_in definition changed
172snat_det_close_session_out definition changed
173snat_det_forward definition changed
174snat_det_get_timeouts definition changed
175snat_det_map_details only in file
176snat_det_map_dump only in file
177snat_det_reverse definition changed
178snat_det_session_details only in file
179snat_det_session_dump only in file
180snat_det_set_timeouts definition changed
181snat_interface_add_del_feature definition changed
182snat_interface_add_del_output_feature definition changed
183snat_interface_addr_details only in file
184snat_interface_addr_dump only in file
185snat_interface_details only in file
186snat_interface_dump only in file
187snat_interface_output_feature_details only in file
188snat_interface_output_feature_dump only in file
189snat_ipfix_enable_disable definition changed
190snat_set_workers definition changed
191snat_show_config definition changed
192snat_static_mapping_details only in file
193snat_static_mapping_dump only in file
194snat_user_details only in file
195snat_user_dump only in file
196snat_user_session_details only in file
197snat_user_session_dump only in file
198snat_worker_details only in file
199snat_worker_dump only in file
200sockclnt_create definition changed
201sockclnt_delete definition changed
202sr_localsids_details only in image
203sr_localsids_dump only in image
204sr_mpls_policy_add definition changed
205sr_mpls_policy_assign_endpoint_color definition changed
206sr_mpls_policy_del definition changed
207sr_mpls_policy_mod definition changed
208sr_mpls_steering_add_del definition changed
209sr_set_encap_source definition changed
210stn_add_del_rule definition changed
211stn_rule_details only in image
212stn_rules_dump only in image
213sw_interface_set_geneve_bypass definition changed
214sw_interface_set_lldp definition changed
215sw_interface_set_rx_mode definition changed
216sw_interface_tap_v2_details only in image
217sw_interface_tap_v2_dump only in image
218tap_create_v2 definition changed
219tap_delete_v2 definition changed
220udp_encap_add_del definition changed
221udp_encap_details only in image
222udp_encap_dump only in image
223vnet_ip4_mfib_counters only in image
224vnet_ip6_mfib_counters only in image
225want_ip4_mfib_stats definition changed
226want_ip6_mfib_stats definition changed
227===================================== ==================
228
229Found 142 api message signature differences
230
231Patches that changed API definitions
232~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
233
234* ``./src/examples/sample-plugin/sample/sample.api`` 0d056e5e vppapigen:
235 support per-file (major,minor,patch) version stamps
236* ``./src/vnet/interface.api b8d4481a`` Break up vpe.api ad8015be devices: Add
237 binary API for set interface rx-mode 0d056e5e vppapigen: support
238 per-file (major,minor,patch) version stamps
239* ``./src/vnet/feature/feature.api`` b8d4481a Break up vpe.api
240* ``./src/vnet/srv6/sr.api`` 1a5e301f SRv6 improvements to binary API 0d056e5e
241 vppapigen: support per-file (major,minor,patch) version stamps
242* ``./src/vnet/bier/bier.api`` be302d72 BIER coverity fix in route downlaod
243 ceb4d05b BIER disposition default route fa1da15c BIER: API documentation
244 fixes. 9128637e BIER in non-MPLS netowrks d792d9c0 BIER
245* ``./src/vnet/vxlan-gpe/vxlan_gpe.api`` 0d056e5e vppapigen: support per-file
246 (major,minor,patch) version stamps
247* ``./src/vnet/unix/tap.api`` 0d056e5e vppapigen: support per-file
248 (major,minor,patch) version stamps
249* ``./src/vnet/lldp/lldp.api`` 9a6fcef4 LLDP: Add Management Address TLV
250 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
251* ``./src/vnet/dns/dns.api`` d2080159 Add reverse DNS (ip to name) resolution
252 6545716c VPP-1027: DNS name resolver
253* ``./src/vnet/session/session.api`` dcf55ce2 vppcom: improve listener session
254 handling 6e8c6679 session: add app ns index to ns create api c97a7398
255 session: add rule tags 6c36f53f session: add api to dump rules 1c710451
256 session: rules tables ade70e45 session: return local transport endpoint
257 in connect reply cea194d8 session: add support for application
258 namespacing 0d056e5e vppapigen: support per-file (major,minor,patch)
259 version stamps
260* ``./src/vnet/devices/af_packet/af_packet.api`` 92b0275a af_packet: invalid
261 TCP/UDP offload checksum on RX node recalculation 0d056e5e vppapigen:
262 support per-file (major,minor,patch) version stamps
263* ``./src/vnet/devices/netmap/netmap.api`` 0d056e5e vppapigen: support
264 per-file (major,minor,patch) version stamps
265* ``./src/vnet/devices/tap/tapv2.api`` 73e7f427 tap_v2: include host-side
266 parameters in the dump binary API 2df39094 tapv2: multiple improvements
267 c99b4cd1 tap_v2: move code to vnet/devices/tap
268* ``./src/vnet/devices/virtio/vhost_user.api`` 0d056e5e vppapigen: support
269 per-file (major,minor,patch) version stamps
270* ``./src/vnet/lisp-gpe/lisp_gpe.api`` 0d056e5e vppapigen: support per-file
271 (major,minor,patch) version stamps
272* ``./src/vnet/srmpls/sr_mpls.api`` 42998828 SR-MPLS: binary API and automated
273 steering
274* ``./src/vnet/l2/l2.api`` b8d4481a Break up vpe.api 57938f63 l2fib: MAC: Fix
275 uint64 to u8 byte array 0d056e5e vppapigen: support per-file
276 (major,minor,patch) version stamps
277* ``./src/vnet/udp/udp.api`` 810086d8 UDP Encapsulation.
278* ``./src/vnet/policer/policer.api`` 0d056e5e vppapigen: support per-file
279 (major,minor,patch) version stamps
280* ``./src/vnet/bfd/bfd.api`` 0d056e5e vppapigen: support per-file
281 (major,minor,patch) version stamps
282* ``./src/vnet/geneve/geneve.api`` 556033a0 Add API versioning to GENEVE
283 tunnel implementation. b598f1d3 Initial GENEVE TUNNEL implementation and
284 tests.
285* ``./src/vnet/gre/gre.api`` 0d056e5e vppapigen: support per-file
286 (major,minor,patch) version stamps
287* ``./src/vnet/map/map.api`` 0d056e5e vppapigen: support per-file
288 (major,minor,patch) version stamps
289* ``./src/vnet/flow/flow.api`` 0d056e5e vppapigen: support per-file
290 (major,minor,patch) version stamps
291* ``./src/vnet/pg/pg.api`` b8d4481a Break up vpe.api
292* ``./src/vnet/dhcp/dhcp.api`` 70bfcaf4 Add Support of DHCP VSS Type 0 where
293 VPN-ID is ASCII 0d056e5e vppapigen: support per-file (major,minor,patch)
294 version stamps
295* ``./src/vnet/ipsec/ipsec.api`` ca514fda Allow IPsec interface to have SAs
296 reset 75d85609 Add API call to set keys on IPsec tunnel intf 0d056e5e
297 vppapigen: support per-file (major,minor,patch) version stamps 28029530
298 Add API support to dump IPsec SAs
299* ``./src/vnet/mpls/mpls.api`` c42fc05b Remove the unused create VRF if
300 needed API parameters b8d4481a Break up vpe.api d792d9c0 BIER d0a59722
301 Revert Enforce FIB table creation before use f9342023 Enforce FIB
302 table creation before use 0d056e5e vppapigen: support per-file
303 (major,minor,patch) version stamps
304* ``./src/vnet/ethernet/p2p_ethernet.api`` 0d056e5e vppapigen: support
305 per-file (major,minor,patch) version stamps
306* ``./src/vnet/span/span.api`` 0d056e5e vppapigen: support per-file
307 (major,minor,patch) version stamps
308* ``./src/vnet/lisp-cp/lisp.api`` 0d056e5e vppapigen: support per-file
309 (major,minor,patch) version stamps
310* ``./src/vnet/lisp-cp/one.api`` 0d056e5e vppapigen: support per-file
311 (major,minor,patch) version stamps
312* ``./src/vnet/vxlan/vxlan.api`` 0d056e5e vppapigen: support per-file
313 (major,minor,patch) version stamps
314* ``./src/vnet/ipsec-gre/ipsec_gre.api`` 0d056e5e vppapigen: support per-file
315 (major,minor,patch) version stamps
316* ``./src/vnet/classify/classify.api`` b8d4481a Break up vpe.api 8527f12b add
317 classify session action set-sr-policy-index 0d056e5e vppapigen: support
318 per-file (major,minor,patch) version stamps
319* ``./src/vnet/ip/punt.api`` b8d4481a Break up vpe.api
320* ``./src/vnet/ip/ip.api`` c42fc05b Remove the unused create VRF if needed
321 API parameters b8d4481a Break up vpe.api af8dfbf6 Add sw_if_index to the
322 ip_neighbor_details_t response. d792d9c0 BIER 810086d8 UDP
323 Encapsulation. 595992c5 ip: add container proxy api 0164a06d Remove
324 unused not_last parameter from ip_add_del_route d0a59722 Revert
325 Enforce FIB table creation before use 054c03ac Source Lookup
326 progammable via API f9342023 Enforce FIB table creation before use
327 d91c1dbd punt and drop features: - new IPv4 and IPv6 feature arcs on the
328 punt and drop nodes - new features: - redirect punted traffic to an
329 interface and nexthop - police punted traffic. 0d056e5e vppapigen:
330 support per-file (major,minor,patch) version stamps 6f631156 Distributed
331 Virtual Router Support
332* ``./src/vnet/cop/cop.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
333* ``./src/vnet/l2tp/l2tp.api`` 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
334* ``./src/vpp/oam/oam.api`` b8d4481a Break up vpe.api
335* ``./src/vpp/stats/stats.api`` ff233898 Stats for Multicast FIB 0d056e5e
336 vppapigen: support per-file (major,minor,patch) version stamps
337* ``./src/vpp/api/vpe.api`` b8d4481a Break up vpe.api d792d9c0 BIER 0d056e5e
338 vppapigen: support per-file (major,minor,patch) version stamps b598f1d3
339 Initial GENEVE TUNNEL implementation and tests.
340* ``./src/plugins/ioam/udp-ping/udp_ping.api`` 0d056e5e vppapigen: support
341 per-file (major,minor,patch) version stamps
342* ``./src/plugins/ioam/ip6/ioam_cache.api`` 0d056e5e vppapigen: support
343 per-file (major,minor,patch) version stamps
344* ``./src/plugins/ioam/lib-pot/pot.api`` 0d056e5e vppapigen: support per-file
345 (major,minor,patch) version stamps
346* ``./src/plugins/ioam/lib-trace/trace.api`` 0d056e5e vppapigen: support
347 per-file (major,minor,patch) version stamps
348* ``./src/plugins/ioam/export/ioam_export.api`` 0d056e5e vppapigen: support
349 per-file (major,minor,patch) version stamps
350* ``./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api`` 0d056e5e
351 vppapigen: support per-file (major,minor,patch) version stamps
352* ``./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api`` 0d056e5e vppapigen:
353 support per-file (major,minor,patch) version stamps
354* ``./src/plugins/pppoe/pppoe.api`` 0d056e5e vppapigen: support per-file
355 (major,minor,patch) version stamps
356* ``./src/plugins/dpdk/api/dpdk.api`` 0d056e5e vppapigen: support per-file
357 (major,minor,patch) version stamps
358* ``./src/plugins/acl/acl.api`` 0d056e5e vppapigen: support per-file
359 (major,minor,patch) version stamps
360* ``./src/plugins/gtpu/gtpu.api`` 0d056e5e vppapigen: support per-file
361 (major,minor,patch) version stamps
362* ``./src/plugins/l2e/l2e.api`` 4ec38711 L2 emulation: remove usued
363 ip-table-id from API 55d03788 L2 Emulation
364* ``./src/plugins/flowprobe/flowprobe.api`` 0d056e5e vppapigen: support
365 per-file (major,minor,patch) version stamps
366* ``./src/plugins/nat/nat.api`` 7b929793 Translate matching packets using NAT
367 (VPP-1069) b932d26e NAT: Twice NAT44 (VPP-969) ab7a805f NAT44: identity
368 NAT (VPP-1073) c6fb36fc NAT: Remove old SNAT API (VPP-1070) 0938dcf1
369 NAT64 to use IPv4 address from interface (VPP-1051) efcd1e9e SNAT: IP
370 fragmentation (VPP-890) 8ebe6253 NAT: DS-Lite (VPP-1040) 5ba86f72 NAT:
371 delete session API/CLI (VPP-1041) 36ea2d6d One armed NAT (VPP-1035)
372 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
373* ``./src/plugins/memif/memif.api`` 0d056e5e vppapigen: support per-file
374 (major,minor,patch) version stamps
375* ``./src/plugins/kubeproxy/kp.api`` c91f5024 Support kube-proxy data plane
376* ``./src/plugins/lb/lb.api`` 0d056e5e vppapigen: support per-file
377 (major,minor,patch) version stamps
378* ``./src/plugins/stn/stn.api`` 0906c5cf Plugin for IP-Address to Interface
379 Punting
380* ``./src/vlibmemory/memclnt.api 0d056e5e`` vppapigen: support per-file
381 (major,minor,patch) version stamps 59b2565c Repair vlib API socket
382 server