NAT44: fix nat44_user_session_dump and nat44_del_session crash with one worker (VPP...
[vpp.git] / RELEASE.md
1 # Release Notes    {#release_notes}
2
3 * @subpage release_notes_1801
4 * @subpage release_notes_1710
5 * @subpage release_notes_1707
6 * @subpage release_notes_1704
7 * @subpage release_notes_17011
8 * @subpage release_notes_1701
9 * @subpage release_notes_1609
10 * @subpage release_notes_1606
11
12 @page release_notes_1801 Release notes for VPP 18.01
13
14 More than 560 commits since the 17.10 release.
15
16 ## Features
17 - Infrastructure
18   - DPDK 17.11
19   - TCP Checksum Offload
20   - Arm64/Arm-v8 support
21   - SUSE packaging
22   - bihash_vec8_8 variant
23   - PCI rework to support VFIO
24   - chi-squared test calculator
25   
26 - SNAT / NAT
27   - One armed NAT
28   - Twice NAT44
29   - NAT hairpinning rework
30   - NAT64 multi-thread
31   - NAT64 IPFix
32   - NAT64 Fragmentation
33   - NAT: DS-Lite
34   - Remove old SNAT API
35   - ACL-based NAT
36
37 - VNET
38   - DNS name resolver
39   - BIER
40   - GENEVE Tunnel
41   - IPSec Openssl 1.1.0 api support
42   - FIB improvements
43   - tap v2
44   
45 - API
46   - VPP stats (Broadcast & Multicast support)
47   - SR MPLS
48   - VPP Object Model (VOM)
49   
50 - Host Stack
51   - VPP TCP Stack scale / congestion improvements
52   - Refactor UDP
53   - Namespace support
54   - Session rules table
55   - VPP Comms Library (VCL) improvements
56
57 - ACL
58   - ACL stats
59
60 - Plugins
61   - Kube-proxy
62   - L2 Emulation
63   - Memif
64
65 ## Known issues
66
67 For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io).
68
69 ## Issues fixed
70
71 For the full list of fixed issues please refer to:
72 - fd.io [JIRA](https://jira.fd.io)
73 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1801)
74
75 ## API changes
76
77 Message Name                                                 Result
78 af_packet_set_l4_cksum_offload                               definition changed
79 api_versions                                                 definition changed
80 app_namespace_add_del                                        definition changed
81 application_attach                                           definition changed
82 bier_disp_entry_add_del                                      definition changed
83 bier_disp_entry_details                                      only in image
84 bier_disp_entry_dump                                         only in image
85 bier_disp_table_add_del                                      definition changed
86 bier_disp_table_details                                      only in image
87 bier_disp_table_dump                                         only in image
88 bier_imp_add                                                 definition changed
89 bier_imp_del                                                 definition changed
90 bier_imp_details                                             only in image
91 bier_imp_dump                                                only in image
92 bier_route_add_del                                           definition changed
93 bier_route_details                                           only in image
94 bier_route_dump                                              only in image
95 bier_table_add_del                                           definition changed
96 bier_table_details                                           only in image
97 bier_table_dump                                              only in image
98 bind_sock_reply                                              definition changed
99 connect_session_reply                                        definition changed
100 connect_sock                                                 definition changed
101 connect_uri                                                  definition changed
102 dhcp_proxy_details                                           definition changed
103 dhcp_proxy_set_vss                                           definition changed
104 dns_enable_disable                                           definition changed
105 dns_name_server_add_del                                      definition changed
106 dns_resolve_ip                                               definition changed
107 dns_resolve_name                                             definition changed
108 dslite_add_del_pool_addr_range                               definition changed
109 dslite_set_aftr_addr                                         definition changed
110 geneve_add_del_tunnel                                        definition changed
111 geneve_tunnel_details                                        only in image
112 geneve_tunnel_dump                                           only in image
113 ip_add_del_route                                             definition changed
114 ip_container_proxy_add_del                                   definition changed
115 ip_mroute_add_del                                            definition changed
116 ip_neighbor_details                                          definition changed
117 ip_punt_police                                               definition changed
118 ip_punt_redirect                                             definition changed
119 ipsec_sa_details                                             only in image
120 ipsec_sa_dump                                                only in image
121 ipsec_sad_add_del_entry                                      definition changed
122 ipsec_tunnel_if_set_key                                      definition changed
123 ipsec_tunnel_if_set_sa                                       definition changed
124 kp_add_del_pod                                               definition changed
125 kp_add_del_vip                                               definition changed
126 kp_conf                                                      definition changed
127 l2_emulation                                                 definition changed
128 l2_fib_table_details                                         definition changed
129 l2fib_add_del                                                definition changed
130 memclnt_keepalive                                            definition changed
131 memfd_segment_create                                         definition changed
132 mpls_ip_bind_unbind                                          definition changed
133 mpls_route_add_del                                           definition changed
134 nat44_add_del_address_range                                  definition changed
135 nat44_add_del_identity_mapping                               definition changed
136 nat44_add_del_interface_addr                                 definition changed
137 nat44_add_del_lb_static_mapping                              definition changed
138 nat44_add_del_static_mapping                                 definition changed
139 nat44_address_details                                        definition changed
140 nat44_del_session                                            definition changed
141 nat44_forwarding_enable_disable                              definition changed
142 nat44_forwarding_is_enabled                                  definition changed
143 nat44_identity_mapping_details                               only in image
144 nat44_identity_mapping_dump                                  only in image
145 nat44_interface_addr_details                                 definition changed
146 nat44_lb_static_mapping_details                              definition changed
147 nat44_static_mapping_details                                 definition changed
148 nat64_add_del_interface_addr                                 definition changed
149 nat_get_reass                                                definition changed
150 nat_reass_details                                            only in image
151 nat_reass_dump                                               only in image
152 nat_set_reass                                                definition changed
153 reset_vrf                                                    definition changed
154 session_rule_add_del                                         definition changed
155 session_rules_details                                        only in image
156 session_rules_dump                                           only in image
157 snat_add_address_range                                       definition changed
158 snat_add_del_interface_addr                                  definition changed
159 snat_add_det_map                                             definition changed
160 snat_add_static_mapping                                      definition changed
161 snat_address_details                                         only in file
162 snat_address_dump                                            only in file
163 snat_control_ping                                            definition changed
164 snat_det_close_session_in                                    definition changed
165 snat_det_close_session_out                                   definition changed
166 snat_det_forward                                             definition changed
167 snat_det_get_timeouts                                        definition changed
168 snat_det_map_details                                         only in file
169 snat_det_map_dump                                            only in file
170 snat_det_reverse                                             definition changed
171 snat_det_session_details                                     only in file
172 snat_det_session_dump                                        only in file
173 snat_det_set_timeouts                                        definition changed
174 snat_interface_add_del_feature                               definition changed
175 snat_interface_add_del_output_feature                        definition changed
176 snat_interface_addr_details                                  only in file
177 snat_interface_addr_dump                                     only in file
178 snat_interface_details                                       only in file
179 snat_interface_dump                                          only in file
180 snat_interface_output_feature_details                        only in file
181 snat_interface_output_feature_dump                           only in file
182 snat_ipfix_enable_disable                                    definition changed
183 snat_set_workers                                             definition changed
184 snat_show_config                                             definition changed
185 snat_static_mapping_details                                  only in file
186 snat_static_mapping_dump                                     only in file
187 snat_user_details                                            only in file
188 snat_user_dump                                               only in file
189 snat_user_session_details                                    only in file
190 snat_user_session_dump                                       only in file
191 snat_worker_details                                          only in file
192 snat_worker_dump                                             only in file
193 sockclnt_create                                              definition changed
194 sockclnt_delete                                              definition changed
195 sr_localsids_details                                         only in image
196 sr_localsids_dump                                            only in image
197 sr_mpls_policy_add                                           definition changed
198 sr_mpls_policy_assign_endpoint_color                         definition changed
199 sr_mpls_policy_del                                           definition changed
200 sr_mpls_policy_mod                                           definition changed
201 sr_mpls_steering_add_del                                     definition changed
202 sr_set_encap_source                                          definition changed
203 stn_add_del_rule                                             definition changed
204 stn_rule_details                                             only in image
205 stn_rules_dump                                               only in image
206 sw_interface_set_geneve_bypass                               definition changed
207 sw_interface_set_lldp                                        definition changed
208 sw_interface_set_rx_mode                                     definition changed
209 sw_interface_tap_v2_details                                  only in image
210 sw_interface_tap_v2_dump                                     only in image
211 tap_create_v2                                                definition changed
212 tap_delete_v2                                                definition changed
213 udp_encap_add_del                                            definition changed
214 udp_encap_details                                            only in image
215 udp_encap_dump                                               only in image
216 vnet_ip4_mfib_counters                                       only in image
217 vnet_ip6_mfib_counters                                       only in image
218 want_ip4_mfib_stats                                          definition changed
219 want_ip6_mfib_stats                                          definition changed
220 Found 142 api message signature differences
221
222 - patches that changed api files
223
224 ./src/examples/sample-plugin/sample/sample.api
225 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
226
227 ./src/vnet/interface.api
228 b8d4481a Break up vpe.api
229 ad8015be devices: Add binary API for set interface <interface> rx-mode
230 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
231
232 ./src/vnet/feature/feature.api
233 b8d4481a Break up vpe.api
234
235 ./src/vnet/srv6/sr.api
236 1a5e301f SRv6 improvements to binary API
237 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
238
239 ./src/vnet/bier/bier.api
240 be302d72 BIER coverity fix in route downlaod
241 ceb4d05b BIER disposition default route
242 fa1da15c BIER: API documentation fixes.
243 9128637e BIER in non-MPLS netowrks
244 d792d9c0 BIER
245
246 ./src/vnet/vxlan-gpe/vxlan_gpe.api
247 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
248
249 ./src/vnet/unix/tap.api
250 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
251
252 ./src/vnet/lldp/lldp.api
253 9a6fcef4 LLDP: Add Management Address TLV
254 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
255
256 ./src/vnet/dns/dns.api
257 d2080159 Add reverse DNS (ip to name) resolution
258 6545716c VPP-1027: DNS name resolver
259
260 ./src/vnet/session/session.api
261 dcf55ce2 vppcom: improve listener session handling
262 6e8c6679 session: add app ns index to ns create api
263 c97a7398 session: add rule tags
264 6c36f53f session: add api to dump rules
265 1c710451 session: rules tables
266 ade70e45 session: return local transport endpoint in connect reply
267 cea194d8 session: add support for application namespacing
268 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
269
270 ./src/vnet/devices/af_packet/af_packet.api
271 92b0275a af_packet: invalid TCP/UDP offload checksum on RX node recalculation
272 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
273
274 ./src/vnet/devices/netmap/netmap.api
275 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
276
277 ./src/vnet/devices/tap/tapv2.api
278 73e7f427 tap_v2: include host-side parameters in the dump binary API
279 2df39094 tapv2: multiple improvements
280 c99b4cd1 tap_v2: move code to vnet/devices/tap
281
282 ./src/vnet/devices/virtio/vhost_user.api
283 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
284
285 ./src/vnet/lisp-gpe/lisp_gpe.api
286 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
287
288 ./src/vnet/srmpls/sr_mpls.api
289 42998828 SR-MPLS: binary API and automated steering
290
291 ./src/vnet/l2/l2.api
292 b8d4481a Break up vpe.api
293 57938f63 l2fib: MAC: Fix uint64 to u8 byte array
294 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
295
296 ./src/vnet/udp/udp.api
297 810086d8 UDP Encapsulation.
298
299 ./src/vnet/policer/policer.api
300 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
301
302 ./src/vnet/bfd/bfd.api
303 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
304
305 ./src/vnet/geneve/geneve.api
306 556033a0 Add API versioning to GENEVE tunnel implementation.
307 b598f1d3 Initial GENEVE TUNNEL implementation and tests.
308
309 ./src/vnet/gre/gre.api
310 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
311
312 ./src/vnet/map/map.api
313 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
314
315 ./src/vnet/flow/flow.api
316 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
317
318 ./src/vnet/pg/pg.api
319 b8d4481a Break up vpe.api
320
321 ./src/vnet/dhcp/dhcp.api
322 70bfcaf4 Add Support of DHCP VSS Type 0 where VPN-ID is ASCII
323 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
324
325 ./src/vnet/ipsec/ipsec.api
326 ca514fda Allow IPsec interface to have SAs reset
327 75d85609 Add API call to set keys on IPsec tunnel intf
328 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
329 28029530 Add API support to dump IPsec SAs
330
331 ./src/vnet/mpls/mpls.api
332 c42fc05b Remove the unused 'create VRF if needed' API parameters
333 b8d4481a Break up vpe.api
334 d792d9c0 BIER
335 d0a59722 Revert "Enforce FIB table creation before use"
336 f9342023 Enforce FIB table creation before use
337 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
338
339 ./src/vnet/ethernet/p2p_ethernet.api
340 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
341
342 ./src/vnet/span/span.api
343 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
344
345 ./src/vnet/lisp-cp/lisp.api
346 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
347
348 ./src/vnet/lisp-cp/one.api
349 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
350
351 ./src/vnet/vxlan/vxlan.api
352 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
353
354 ./src/vnet/ipsec-gre/ipsec_gre.api
355 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
356
357 ./src/vnet/classify/classify.api
358 b8d4481a Break up vpe.api
359 8527f12b add classify session action set-sr-policy-index
360 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
361
362 ./src/vnet/ip/punt.api
363 b8d4481a Break up vpe.api
364
365 ./src/vnet/ip/ip.api
366 c42fc05b Remove the unused 'create VRF if needed' API parameters
367 b8d4481a Break up vpe.api
368 af8dfbf6 Add sw_if_index to the ip_neighbor_details_t response.
369 d792d9c0 BIER
370 810086d8 UDP Encapsulation.
371 595992c5 ip: add container proxy api
372 0164a06d Remove unused 'not_last' parameter from ip_add_del_route
373 d0a59722 Revert "Enforce FIB table creation before use"
374 054c03ac Source Lookup progammable via API
375 f9342023 Enforce FIB table creation before use
376 d91c1dbd punt and drop features:  - new IPv4 and IPv6 feature arcs on the punt and drop nodes  - new features:    - redirect punted traffic to an interface and nexthop    - police punted traffic.
377 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
378 6f631156 Distributed Virtual Router Support
379
380 ./src/vnet/cop/cop.api
381 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
382
383 ./src/vnet/l2tp/l2tp.api
384 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
385
386 ./src/vpp/oam/oam.api
387 b8d4481a Break up vpe.api
388
389 ./src/vpp/stats/stats.api
390 ff233898 Stats for Multicast FIB
391 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
392
393 ./src/vpp/api/vpe.api
394 b8d4481a Break up vpe.api
395 d792d9c0 BIER
396 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
397 b598f1d3 Initial GENEVE TUNNEL implementation and tests.
398
399 ./src/plugins/ioam/udp-ping/udp_ping.api
400 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
401
402 ./src/plugins/ioam/ip6/ioam_cache.api
403 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
404
405 ./src/plugins/ioam/lib-pot/pot.api
406 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
407
408 ./src/plugins/ioam/lib-trace/trace.api
409 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
410
411 ./src/plugins/ioam/export/ioam_export.api
412 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
413
414 ./src/plugins/ioam/export-vxlan-gpe/vxlan_gpe_ioam_export.api
415 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
416
417 ./src/plugins/ioam/lib-vxlan-gpe/ioam_vxlan_gpe.api
418 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
419
420 ./src/plugins/pppoe/pppoe.api
421 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
422
423 ./src/plugins/dpdk/api/dpdk.api
424 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
425
426 ./src/plugins/acl/acl.api
427 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
428
429 ./src/plugins/gtpu/gtpu.api
430 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
431
432 ./src/plugins/l2e/l2e.api
433 4ec38711 L2 emulation: remove usued ip-table-id from API
434 55d03788 L2 Emulation
435
436 ./src/plugins/flowprobe/flowprobe.api
437 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
438
439 ./src/plugins/nat/nat.api
440 7b929793 Translate matching packets using NAT (VPP-1069)
441 b932d26e NAT: Twice NAT44 (VPP-969)
442 ab7a805f NAT44: identity NAT (VPP-1073)
443 c6fb36fc NAT: Remove old SNAT API (VPP-1070)
444 0938dcf1 NAT64 to use IPv4 address from interface (VPP-1051)
445 efcd1e9e SNAT: IP fragmentation (VPP-890)
446 8ebe6253 NAT: DS-Lite (VPP-1040)
447 5ba86f72 NAT: delete session API/CLI (VPP-1041)
448 36ea2d6d One armed NAT (VPP-1035)
449 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
450
451 ./src/plugins/memif/memif.api
452 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
453
454 ./src/plugins/kubeproxy/kp.api
455 c91f5024 Support kube-proxy data plane
456
457 ./src/plugins/lb/lb.api
458 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
459
460 ./src/plugins/stn/stn.api
461 0906c5cf Plugin for IP-Address to Interface Punting
462
463 ./src/vlibmemory/memclnt.api
464 0d056e5e vppapigen: support per-file (major,minor,patch) version stamps
465 59b2565c Repair vlib API socket server
466
467 @page release_notes_1710 Release notes for VPP 17.10
468
469 More than 400 commits since the 1707 release.
470
471 ## Features
472 - Infrastructure
473   - DPDK 17.08
474   - IP reassembly
475   - Bounded-index extensible hash bucket-level LRU cache
476   - Templated timer wheel improvements
477
478 - API
479   - C/C++ language binding
480   - API stats
481
482 - Host stack
483   - VPP TCP stack scale/congestion improvements
484   - VPP Comms Library (VCL)
485   - Overall performance, scale and hardening
486
487 - Network features
488   - IPSec rework - utilize new FIB
489   - VPLS and VPWS implementation
490
491   - NAT
492     - Renamed SNAT to NAT
493     - Performance / Scale
494     - Destination NAT44 with load-balancing
495     - In2out translation as an output feature on the outside interface
496     - Fullback to 3-tuple key for non TCP/UDP/ICMP sessions
497
498   - Security Groups/ACLs
499     - "Replace" semantics for adding a new MacIP acl
500     - Test suite tests for MacIP ACLs
501
502   - ONE-LISP
503     - Map-server fallback support
504     - Preemptive re-fetch of active mappings that are about to expire
505     - ND termination
506
507   - PPPoE
508     - PPPoE Control Plane packet dispatch
509     - PPPoE decapsulation
510     - PPPoE encapsulation
511
512 ## Known issues
513
514 For the full list of issues please refer to fd.io [JIRA](https://jira.fd.io).
515
516 ## Issues fixed
517
518 For the full list of fixed issues please refer to:
519 - fd.io [JIRA](https://jira.fd.io)
520 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1710)
521
522 ## API changes
523
524 Message Name                                                 Result
525 bridge_domain_add_del                                        definition changed
526 bridge_domain_details                                        definition changed
527 connect_session                                              definition changed
528 connect_sock                                                 definition changed
529 connect_sock_reply                                           definition changed
530 connect_uri_reply                                            definition changed
531 create_vhost_user_if                                         definition changed
532 dhcp_client_config                                           definition changed
533 ip4_arp_event                                                definition changed
534 ip6_fib_details                                              definition changed
535 ip6_nd_event                                                 definition changed
536 ip_add_del_route                                             definition changed
537 ip_fib_details                                               definition changed
538 ip_table_add_del                                             definition changed
539 l2_macs_event                                                only in image
540 macip_acl_add_replace                                        definition changed
541 macip_acl_interface_list_details                             only in image
542 macip_acl_interface_list_dump                                only in image
543 modify_vhost_user_if                                         definition changed
544 mpls_fib_details                                             definition changed
545 mpls_route_add_del                                           definition changed
546 mpls_table_add_del                                           definition changed
547 mpls_tunnel_add_del                                          definition changed
548 nat44_add_del_address_range                                  definition changed
549 nat44_add_del_interface_addr                                 definition changed
550 nat44_add_del_lb_static_mapping                              definition changed
551 nat44_add_del_static_mapping                                 definition changed
552 nat44_address_details                                        only in image
553 nat44_address_dump                                           only in image
554 nat44_interface_add_del_feature                              definition changed
555 nat44_interface_add_del_output_feature                       definition changed
556 nat44_interface_addr_details                                 only in image
557 nat44_interface_addr_dump                                    only in image
558 nat44_interface_details                                      only in image
559 nat44_interface_dump                                         only in image
560 nat44_interface_output_feature_details                       only in image
561 nat44_interface_output_feature_dump                          only in image
562 nat44_lb_static_mapping_details                              only in image
563 nat44_lb_static_mapping_dump                                 only in image
564 nat44_static_mapping_details                                 only in image
565 nat44_static_mapping_dump                                    only in image
566 nat44_user_details                                           only in image
567 nat44_user_dump                                              only in image
568 nat44_user_session_details                                   only in image
569 nat44_user_session_dump                                      only in image
570 nat_control_ping                                             definition changed
571 nat_det_add_del_map                                          definition changed
572 nat_det_close_session_in                                     definition changed
573 nat_det_close_session_out                                    definition changed
574 nat_det_forward                                              definition changed
575 nat_det_get_timeouts                                         definition changed
576 nat_det_map_details                                          only in image
577 nat_det_map_dump                                             only in image
578 nat_det_reverse                                              definition changed
579 nat_det_session_details                                      only in image
580 nat_det_session_dump                                         only in image
581 nat_det_set_timeouts                                         definition changed
582 nat_ipfix_enable_disable                                     definition changed
583 nat_set_workers                                              definition changed
584 nat_show_config                                              definition changed
585 nat_worker_details                                           only in image
586 nat_worker_dump                                              only in image
587 one_add_del_ndp_entry                                        definition changed
588 one_enable_disable_petr_mode                                 definition changed
589 one_enable_disable_pitr_mode                                 definition changed
590 one_enable_disable_xtr_mode                                  definition changed
591 one_get_transport_protocol                                   definition changed
592 one_map_register_fallback_threshold                          definition changed
593 one_map_register_set_ttl                                     definition changed
594 one_ndp_bd_get                                               definition changed
595 one_ndp_entries_get                                          definition changed
596 one_set_transport_protocol                                   definition changed
597 one_show_petr_mode                                           definition changed
598 one_show_pitr_mode                                           definition changed
599 one_show_xtr_mode                                            definition changed
600 p2p_ethernet_add                                             definition changed
601 pppoe_add_del_session                                        definition changed
602 pppoe_session_details                                        only in image
603 pppoe_session_dump                                           only in image
604 punt_socket_deregister                                       definition changed
605 punt_socket_register                                         definition changed
606 show_one_map_register_fallback_threshold                     definition changed
607 show_one_map_register_ttl                                    definition changed
608 snat_interface_add_del_output_feature                        definition changed
609 snat_interface_output_feature_details                        only in image
610 snat_interface_output_feature_dump                           only in image
611 sw_interface_event                                           only in image
612 sw_interface_set_flags                                       definition changed
613 sw_interface_span_dump                                       definition changed
614 sw_interface_span_enable_disable                             definition changed
615 sw_interface_vhost_user_details                              definition changed
616 tcp_configure_src_addresses                                  definition changed
617 vnet_per_interface_combined_counters                         only in image
618 vnet_per_interface_simple_counters                           only in image
619 want_interface_combined_stats                                definition changed
620 want_interface_simple_stats                                  definition changed
621 want_ip4_fib_stats                                           definition changed
622 want_ip4_nbr_stats                                           definition changed
623 want_ip6_fib_stats                                           definition changed
624 want_ip6_nbr_stats                                           definition changed
625 want_l2_macs_events                                          definition changed
626 want_per_interface_combined_stats                            definition changed
627 want_per_interface_simple_stats                              definition changed
628 Found 103 api message signature differences
629
630 Patches that updated the API files:
631
632 ./src/plugins/pppoe/pppoe.api
633 62f9cdd8 Add PPPoE Plugin
634
635 ./src/plugins/acl/acl.api
636 c29940c5 ACL-plugin add "replace" semantics for adding a new MacIP acl
637 de9fbf43 MAC IP ACL interface list dump (as an alternative to the get/reply)
638
639 ./src/plugins/nat/nat.api
640 704018cf NAT: Destination NAT44 with load-balancing (VPP-954)
641 2ba92e32 NAT: Rename snat plugin to nat (VPP-955)
642
643 ./src/vnet/interface.api
644 831fb59f Stats refactor
645 d292ab1e No context in SW interface event
646 a07bd708 Dedicated SW Interface Event
647
648 ./src/vnet/dhcp/dhcp.api
649 51822bf0 DHCP client option 61 "client_id"
650 4729b1ec DHCP complete event sends mask length
651
652 ./src/vnet/lldp/lldp.api
653 99a0e60e Add API support for LLDP config/interface set
654
655 ./src/vnet/lisp-cp/one.api
656 d630713d LISP: add neighbor discovery and CP protocol separation APIs
657 111a5cea LISP: Add APIs for enable/disable xTR/P-ITR/P-ETR modes
658 7048ff1e LISP: Map-server fallback feature
659 1e553a00 LISP: make TTL for map register messages configurable
660
661 ./src/vnet/ethernet/p2p_ethernet.api
662 15ac81c1 P2P Ethernet
663
664 ./src/vnet/mpls/mpls.api
665 2297af01 Add a name to the creation of an IP and MPLS table
666 28ab9cc1 FIB table add/delete API only
667 da78f957 L2 over MPLS
668 a0a908f1 FIB path weight incorrect in dump (VPP-922)
669 57b5860f FIB path preference
670
671 ./src/vnet/session/session.api
672 33e002b1 Fix session connect api message handling.
673
674 ./src/vnet/span/span.api
675 5b311202 SPAN/API:enable L2 dump
676 001fd406 SPAN:add l2 mirror
677
678 ./src/vnet/devices/virtio/vhost_user.api
679 4ba75f54 vhost: Remove operation mode in the API
680
681 ./src/vnet/vxlan-gpe/vxlan_gpe.api
682 04ffd0ad VPP crash on creating vxlan gpe interface. VPP-875
683
684 ./src/vnet/tcp/tcp.api
685 3bbcfab1 TCP source address automation
686
687 ./src/vnet/ip/ip.api
688 2297af01 Add a name to the creation of an IP and MPLS table
689 28ab9cc1 FIB table add/delete API only
690 57b5860f FIB path preference
691
692 ./src/vnet/lisp-gpe/lisp_gpe.api
693 af3d9771 Remove unused retval from gpe_native_fwd_rpath type definition
694
695 ./src/vnet/l2/l2.api
696 50570ece Update of free text tag patch for BD
697 48304141 Support for bridge domain free text tag
698 e531f4cb Increase default MAC learn limit and check it in learn-update path
699 8d00fff8 Add support for API client to receive L2 MAC events
700
701 ./src/vpp/api/vpe.api
702 8a19f12a Allow individual stats API and introduce stats.api
703 4802632d Punt socket: Fix coverity error for pathname length mismatch between API and sun_path.
704 f7a55ad7 PUNT socket: External control plane processes connected via UNIX domain sockets.
705 75e2f2ac API:fix arp/ND event messages - remove context
706 99a0e60e Add API support for LLDP config/interface set
707
708 ./src/vpp/stats/stats.api
709 831fb59f Stats refactor
710 8a19f12a Allow individual stats API and introduce stats.api
711
712 @page release_notes_1707 Release notes for VPP 17.07
713
714 More than 400 commits since the 1704 release.
715
716 ## Features
717 - Infrastructure
718   - make test; improved debuggability.
719   - TAB auto-completion on the CLI
720   - DPDK 17.05
721   - python 3 support in test infra
722
723 - Host stack
724   - Improved Linux TCP stack compatibility using IWL test suite (https://jira.fd.io/browse/VPP-720)
725   - Improved loss recovery (RFC5681, RFC6582, RF6675)
726   - Basic implementation of Eifel detection algorithm (RFC3522)
727   - Basic support for buffer chains
728   - Refactored session layer API
729   - Overall performance, scale and hardening
730
731 - Interfaces
732   - memif: IP mode, jumbo frames, multi queue
733   - virtio-user support
734   - vhost-usr; adaptive (poll/interupt) support.
735
736 - Network features
737   - MPLS Multicast FIB
738
739   - BFD FIB integration
740
741   - NAT64 support
742
743   - GRE over IPv6
744
745   - Segement routing MPLS
746
747   - IOAM configuration for SRv6 localsid
748
749   - LISP
750     - NSH support
751     - native forward static routes
752     - L2 ARP
753
754   - ACL multi-core suuport
755
756   - Flowprobe:
757     - Add flowstartns, flowendns and tcpcontrolbits
758     - Stateful flows and IPv6, L4 recording
759
760   - GTP-U support
761
762   - VXLAN GPE support for FIB2.0 and bypass.
763
764
765 ## Known issues
766
767 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
768
769 ## Issues fixed
770
771 For the full list of fixed issues please reffer to:
772 - fd.io [JIRA](https://jira.fd.io)
773 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1707)
774
775 @page release_notes_1704 Release notes for VPP 17.04
776
777 More than 500 commits since the 1701 release.
778
779 ## Features
780 - Infrastructure
781   - make test improvements
782   - vnet: add device-input threadplacement infra
783   - 64 bit per-thread counters
784   - process restart cli
785   - High performance timer wheels
786   - Plugin infrastructure improvements
787     - Support for .default_disabled, .version_required
788   - Added MAINTAINERS file
789
790 - Host stack
791   - TCP stack (experimental)
792   - DHCPv4 / DHCPv6 relay multi-destination
793   - DHCPv4 option 82
794   - ND proxy
795   - Attached hosts
796   - Consolidated DHCPv4 and DHCPv6 implementation
797
798 - Interfaces
799   - DPDK 17.02 (retire support for DPDK 16.07)
800   - Add memif - packet memory interface for intra-host communication
801   - vhost: support interrupt mode
802   - DPDK as plugin (retired vpp_lite)
803   - DPDPK input optimizations
804   - Loopback interface allocation scheme
805
806 - Network features
807   - IP Multicast FIB
808
809   - Bridging
810     - Learning on local interfaces
811     - Flushing of MACs from the L2 FIB
812
813   - SNAT
814     - CGN (Deterministic and dynamic)
815     - CGN configurable port allocation algorithm
816     - ICMP support
817     - Tentant VRF id for SNAT outside addresses
818     - Session dump / User dump
819     - Port allocation per protocol
820
821   - Security groups
822     - Routed interface support
823     - L2+L3 unified processing node
824     - Improve fragment handling
825
826   - Segement routing v6
827     - SR policies with weighted SID lists
828     - Binding SID
829     - SR steering policies
830     - SR Local SIDs
831     - Framework to expand local SIDs w/plugins
832     - Documentation
833
834   - IOAM
835     - UDP Pinger w/path fault isolation
836     - IOAM as type 2 metadata in NSH
837     - IAOM raw IPFIX collector and analyzer
838     - Anycast active server selection
839     - Documentation
840     - SRv6 Local SID
841     - IP6 HBH header and SR header co-existence
842     - Active probe
843
844   - LISP
845     - Statistics collection
846     - Generalize encap for overlay transport (vxlan-gpe support)
847     - Improve data plane speed
848
849   - GPE
850     - CLI
851     - NSH added to encap/decap path
852     - Renamed LISP GPE API to GPE
853
854   - MPLS
855     - Performance improvements (quad loop)
856
857   - BFD
858     - Command line interface
859     - Echo function
860     - Remote demand mode
861     - SHA1 authentication
862
863   - IPsec
864     - IKEv2 initiator features
865
866   - VXLAN
867     - unify IP4/IP6 control plane handling
868
869 ## API changes
870
871 - Python API: To avoid conflicts between VPP API messages names and
872   the Python API binding function names, VPP API methods are put in a
873   separate proxy object.
874   https://gerrit.fd.io/r/#/c/5570/
875   The api methods are now referenced as:
876     vpp_handle = VPP(jsonfiles)
877     vpp_handle.connect(...)
878     vpp = vpp_handle.api
879     vpp.show_version()
880     vpp_handle.disconnect()
881
882   For backwards compatibility VPP API methods are left in the main
883   name space (VPP), but will be removed from 17.07.
884
885   - Python API: Change from cPython to CFFI.
886
887 - create_loopback message to be replaced with create_loopback_instance
888   create_loopback will be removed from 17.07.
889   https://gerrit.fd.io/r/#/c/5572/
890
891 ## Known issues
892
893 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
894
895 ## Issues fixed
896
897 For the full list of fixed issues please reffer to:
898 - fd.io [JIRA](https://jira.fd.io)
899 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1704)
900
901 @page release_notes_17011 Release notes for VPP 17.01.1
902
903 This is bug fix release.
904
905 For the full list of fixed issues please reffer to:
906 - fd.io [JIRA](https://jira.fd.io)
907 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
908
909
910 @page release_notes_17011 Release notes for VPP 17.01.1
911
912 This is bug fix release.
913
914 For the full list of fixed issues please reffer to:
915 - fd.io [JIRA](https://jira.fd.io)
916 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
917
918 @page release_notes_1701 Release notes for VPP 17.01
919
920 @note This release was for a while known as 16.12.
921
922 ## Features
923
924 - [Integrated November 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_11.html)
925
926 - Complete rework of Forwarding Information Base (FIB)
927
928 - Performance Improvements
929   - Improvements in DPDK input and output nodes
930   - Improvements in L2 path
931   - Improvmeents in IPv4 lookup node
932
933 - Feature Arcs Improvements
934   - Consolidation of the code
935   - New feature arcs
936     - device-input
937     - interface-output
938
939 - DPDK Cryptodev Support
940   - Software and Hardware Crypto Support
941
942 - DPDK HQoS support
943
944 - Simple Port Analyzer (SPAN)
945
946 - Bidirectional Forwarding Detection
947   - Basic implementation
948
949 - IPFIX Improvements
950
951 - L2 GRE over IPSec tunnels
952
953 - Link Layer Discovery Protocol (LLDP)
954
955 - Vhost-user Improvements
956   - Performance Improvements
957   - Multiqueue
958   - Reconnect
959
960 - LISP Enhancements
961   - Source/Dest control plane support
962   - L2 over LISP and GRE
963   - Map-Register/Map-Notify/RLOC-probing support
964   - L2 API improvements, overall code hardening
965
966 - Plugins:
967   - New: ACL
968   - New: Flow per Packet
969   - Improved: SNAT
970     - Mutlithreading
971     - Flow export
972
973 - Doxygen Enhancements
974
975 - Luajit API bindings
976
977 - API Refactoring
978   - file split
979   - message signatures
980
981 - Python and Scapy based unit testing infrastructure
982   - Infrastructure
983   - Various tests
984
985 - Packet Generator improvements
986
987 - TUN/TAP jumbo frames support
988
989 - Other various bug fixes and improvements
990
991 ## Known issues
992
993 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
994
995 ## Issues fixed
996
997 For the full list of fixed issues please reffer to:
998 - fd.io [JIRA](https://jira.fd.io)
999 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
1000
1001 @page release_notes_1609 Release notes for VPP 16.09
1002
1003 ## Features
1004
1005 - [Integrated July 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_07.html)
1006   - DPDK-vhost is depreciated pending a complete rework of the original integration and
1007     addressing of rx performance deltas.
1008   - Patches required for DPDK 16.07:
1009     - Correctly setting the Packet Type in the IGB, IXGBE and i40e drivers.
1010     - Correctly setting checksum in the i40e driver.
1011     - NXP DPAA2 PMD Driver.
1012     - rte_delay (yield) functionality.
1013
1014 - Add “in tree” plugins:
1015   - IPv6 ILA.
1016   - iOAM.
1017   - Load Balancer.
1018   - SNAT.
1019
1020 - High-performance (line-rate) “neutron like” L4 port-filtering.
1021
1022 - API refactoring - addressing some of the issues around JVPP bindings.
1023   - Accommodating plugins [(e.g. NSH_SFC)](https://wiki.fd.io/view/NSH_SFC)
1024   - Binding for [python](https://wiki.fd.io/view/VPP/Python_API)
1025
1026 - LISP
1027   - L2 LISP overlays
1028   -  Multitenancy
1029   - Multihoming
1030   - RTR mode
1031   - Map-resolver failover algorithm
1032
1033 - Support 64-bit vector lengths, huge shared-memory segments.
1034
1035 - Dynamic IP Feature ordering
1036   - IP Features can now specify features they appear before and after
1037
1038 - 16.09 Builds
1039   - Ubuntu 14.04 LTS - Trusty Tahr
1040   - Ubuntu 16.04 LTS - Xenial Xerus
1041   - CentOS 7
1042   - More information on [VPP wiki](https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages)
1043
1044 - Performance, characterize and document performance for this release
1045   [(more information on CSIT page)](https://wiki.fd.io/view/CSIT)
1046
1047    - IPv4 and IPv6 Scale - performance tests.
1048      - Bidirectional 10k/100k/1M flows.
1049      - 64B,570B, 1518B,9000B packet sizes.
1050    - IPv6 iACL - performance
1051      - DUT1 and DUT2 are configured with IPv6 routing, two static IPv6 /64 routes and IPv6 iAcl
1052        security whitelist ingress /64 filter entries applied on links.
1053      - TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
1054        flow-group) with all packets containing Ethernet header, IPv6 header and generated payload.
1055        MAC addresses are matching MAC addresses of the TG node interfaces.
1056
1057    - L2XC VXLANoIPv4 - performance
1058      - DUT1 and DUT2 are configured with L2 cross-connect. VXLAN tunnels are configured between
1059        L2XCs on DUT1 and DUT2.
1060      - TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
1061        flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61
1062        and generated payload. MAC addresses are matching MAC addresses of the TG node interfaces.
1063
1064 - Documentation
1065   - Autogenerated CLI documentation.
1066   - Using doxygen to automate API/Node documentation.
1067   - [(available online)](https://docs.fd.io/vpp/16.09/)
1068
1069 - Resolved all static analysis issues found by Coverity
1070   - Beginning of 16.09 cycle: 505 issues.
1071   - Release: 0 outstanding issues.
1072
1073
1074 ## Known issues
1075
1076 Issues in fd.io are tracked in [JIRA](https://jira.fd.io).
1077
1078 Issue | Description
1079 --- | ---
1080 VPP-391 |   vpp debug version assert appeared in the process of start
1081 VPP-380 |   Mapping algorithm compute wrong ea-bits when IPv4 prefix 0.0.0.0/0
1082 VPP-371 |   load_one_plugin:63: Loaded plugin: message from vppctl
1083 VPP-367 |   vpp packages need to depend on specific versions of each other
1084 VPP-312 |   IP6 FIB gets in indeterminate state by duplicating commands
1085 VPP-224 |   Lookup-in-vrf can not be set correctly
1086 VPP-206 |   Fix classify table delete
1087 VPP-203 |   Fix binary API for reading vpp node graph
1088 VPP-147 |   Inconsistent behaviour when adding L2 FIB filter entry
1089 VPP-99  |  VPP doesn't discard DHCPOFFER message with wrong XID
1090
1091
1092 ## Issues fixed
1093
1094 Issues in fd.io are tracked in [JIRA](https://jira.fd.io).
1095
1096 Issue | Description
1097 --- | ---
1098 VPP-396 |   Ubuntu systems Graphviz bug
1099 VPP-390 |   vpp-lib rpm fails to include *.so symlinks, causing linking problems with out of tree builds
1100 VPP-388 |   IPSec output feature assumes packets have been ethernet rewritten
1101 VPP-385 |   ARP for indirect adjacencies not working correctly
1102 VPP-361 |   Memory leak on delete of VXLAN over IPv6 tunnel
1103 VPP-357 |   VNI not set correctly when removing LISP fwd entries
1104 VPP-349 |   sw_interface_vhost_user_dump not working
1105 VPP-345 |   net/enic: bad L4 checksum ptype set on ICMP packets
1106 VPP-340 |   MAP-T wrong destination address
1107 VPP-330 |   Use fifo to store LISP pending map-requests
1108 VPP-326 |   map_add_domain VAT command: unable to configure domain with mtu parameter
1109 VPP-318 |   The map_add_domain VAT command accepts invalid arguments
1110 VPP-315 |   Fix "show vxlan-gpe" issue
1111 VPP-310 |   Mapping algorithm compute wrong ea-bits
1112 VPP-239 |   LISP IP forwarding does not tag packets that hit negative mapping entries
1113 VPP-235 |   Invalid help in VAT for sw_interface_set_l2_bridge
1114 VPP-228 |   Mapping algorithm sends packet to wrong IPv6 address
1115 VPP-214 |   vpp-api-test: api_ipsec_sad_add_del_entry: vector "ck" not initialized
1116 VPP-200 |   VPP - TAP port create problem
1117 VPP-189 |   Coverity Issues for 16.09
1118 VPP-184 |   u16 translating to char ,not short
1119 VPP-179 |   Adjacency share-count botch
1120 VPP-163 |   "show ip6 interface" ignores non-global addresses
1121 VPP-155 |   Netmap: Inconsistency in interface state between "show hardware" and "show interface"
1122 VPP-145 |   Dynamically compute IP feature ordering based on constraints
1123 VPP-137 |   VPP sends ARP with wrong requested IP
1124 VPP-118 |   JVpp: 0 length arrays not handled properly in VPP responses
1125 VPP-112 |   linux kernel info missing from build log
1126 VPP-110 |   vxlan encap node should never touch a deleted tunnel
1127 VPP-107 |   RPM build broken in master
1128 VPP-92  |   segment routing is not properly filling out the segment list
1129 VPP-91  |   segment routing add/del tunnel lookup doesn't work
1130 VPP-84  |   af_packet throws a fatal error on EAGAIN
1131 VPP-74  |   Clang compile fails due to warning in vlib/unix/cli.c
1132 VPP-64  |   Top level "make pkg-deb" fails if CDPATH is set in user env.
1133 VPP-48  |   Traceroute does not terminate when VPP is the target
1134 VPP-23  |   CLI pager does not gracefully handle lines longer than the terminal width
1135
1136
1137 @page release_notes_1606 Release notes for VPP 16.06
1138
1139
1140 The FD.io Project, relentlessly focused on data IO speed and efficiency
1141 supporting the creation of high performance, flexible, and scalable software
1142 defined infrastructures, announces the availability of the community’s first
1143 software release (16.06).
1144
1145 In the four months since launching, FD.io has brought together more than 75
1146 developers from 11 different companies including network operators, solution
1147 providers chip vendors, and network equipment vendors who are collaborating to
1148 enhance and innovate around the Vector Packet Processing (VPP) technology. The
1149 FD.io community has quickly formed to grow the number of projects from the
1150 initial VPP project to an additional 6 projects addressing a diverse set of
1151 requirements and usability across a variety of deployment environments.
1152
1153 The 16.06 release brings unprecedented performance: 480Gbps/200mpps with 8
1154 million routes and 2k whitelist entries on standard high volume x86 servers.
1155
1156
1157 ## Features
1158
1159 In addition to the existing full suite of vswitch/vrouter features, the new
1160 16.06 release adds:
1161
1162 * Enhanced Switching and Routing:
1163   * IPv6 Segment Routing multicast support.
1164   * LISP xTR support.
1165   * VXLAN over IPv6 underlay.
1166   * Per interface whitelists.
1167   * Shared adjacencies in FIB.
1168
1169 * New and improved interface support:
1170   * Jumbo frame support for vhost-user.
1171   * Netmap interface support.
1172   * AF_Packet interface support.
1173
1174 * Expanded and improved programmability:
1175   * Python API bindings.
1176   * Enhanced JVPP Java API bindings.
1177   * Debugging CLI.
1178
1179 * Expanded Hardware and Software Support:
1180   * Support for ARM 32 targets including Rasberry Pi single-board computer.
1181   * Support for DPDK 16.04.
1182