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