Punt socket: Fix coverity error for pathname length mismatch between API and sun_path.
[vpp.git] / RELEASE.md
1 # Release Notes    {#release_notes}
2
3 * @subpage release_notes_1707
4 * @subpage release_notes_1704
5 * @subpage release_notes_17011
6 * @subpage release_notes_1701
7 * @subpage release_notes_1609
8 * @subpage release_notes_1606
9
10 @page release_notes_1707 Release notes for VPP 17.07
11
12 More than 400 commits since the 1704 release.
13
14 ## Features
15 - Infrastructure
16   - make test; improved debuggability.
17   - TAB auto-completion on the CLI
18   - DPDK 17.05
19   - python 3 support in test infra
20
21 - Host stack
22   - Improved Linux TCP stack compatibility using IWL test suite (https://jira.fd.io/browse/VPP-720)
23   - Improved loss recovery (RFC5681, RFC6582, RF6675)
24   - Basic implementation of Eifel detection algorithm (RFC3522)
25   - Basic support for buffer chains
26   - Refactored session layer API
27   - Overall performance, scale and hardening
28
29 - Interfaces
30   - memif: IP mode, jumbo frames, multi queue
31   - virtio-user support
32   - vhost-usr; adaptive (poll/interupt) support.
33
34 - Network features
35   - MPLS Multicast FIB
36
37   - BFD FIB integration
38
39   - NAT64 support
40
41   - GRE over IPv6
42
43   - Segement routing MPLS
44
45   - IOAM configuration for SRv6 localsid
46
47   - LISP
48     - NSH support
49     - native forward static routes
50     - L2 ARP
51
52   - ACL multi-core suuport
53
54   - Flowprobe:
55     - Add flowstartns, flowendns and tcpcontrolbits
56     - Stateful flows and IPv6, L4 recording
57
58   - GTP-U support
59
60   - VXLAN GPE support for FIB2.0 and bypass.
61
62
63 ## Known issues
64
65 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
66
67 ## Issues fixed
68
69 For the full list of fixed issues please reffer to:
70 - fd.io [JIRA](https://jira.fd.io)
71 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1707)
72
73 @page release_notes_1704 Release notes for VPP 17.04
74
75 More than 500 commits since the 1701 release.
76
77 ## Features
78 - Infrastructure
79   - make test improvements
80   - vnet: add device-input threadplacement infra
81   - 64 bit per-thread counters
82   - process restart cli
83   - High performance timer wheels
84   - Plugin infrastructure improvements
85     - Support for .default_disabled, .version_required
86   - Added MAINTAINERS file
87
88 - Host stack
89   - TCP stack (experimental)
90   - DHCPv4 / DHCPv6 relay multi-destination
91   - DHCPv4 option 82
92   - ND proxy
93   - Attached hosts
94   - Consolidated DHCPv4 and DHCPv6 implementation
95
96 - Interfaces
97   - DPDK 17.02 (retire support for DPDK 16.07)
98   - Add memif - packet memory interface for intra-host communication
99   - vhost: support interrupt mode
100   - DPDK as plugin (retired vpp_lite)
101   - DPDPK input optimizations
102   - Loopback interface allocation scheme
103
104 - Network features
105   - IP Multicast FIB
106
107   - Bridging
108     - Learning on local interfaces
109     - Flushing of MACs from the L2 FIB
110
111   - SNAT
112     - CGN (Deterministic and dynamic)
113     - CGN configurable port allocation algorithm
114     - ICMP support
115     - Tentant VRF id for SNAT outside addresses
116     - Session dump / User dump
117     - Port allocation per protocol
118
119   - Security groups
120     - Routed interface support
121     - L2+L3 unified processing node
122     - Improve fragment handling
123
124   - Segement routing v6
125     - SR policies with weighted SID lists
126     - Binding SID
127     - SR steering policies
128     - SR Local SIDs
129     - Framework to expand local SIDs w/plugins
130     - Documentation
131
132   - IOAM
133     - UDP Pinger w/path fault isolation
134     - IOAM as type 2 metadata in NSH
135     - IAOM raw IPFIX collector and analyzer
136     - Anycast active server selection
137     - Documentation
138     - SRv6 Local SID
139     - IP6 HBH header and SR header co-existence
140     - Active probe
141
142   - LISP
143     - Statistics collection
144     - Generalize encap for overlay transport (vxlan-gpe support)
145     - Improve data plane speed
146
147   - GPE
148     - CLI
149     - NSH added to encap/decap path
150     - Renamed LISP GPE API to GPE
151
152   - MPLS
153     - Performance improvements (quad loop)
154
155   - BFD
156     - Command line interface
157     - Echo function
158     - Remote demand mode
159     - SHA1 authentication
160
161   - IPsec
162     - IKEv2 initiator features
163
164   - VXLAN
165     - unify IP4/IP6 control plane handling
166
167 ## API changes
168
169 - Python API: To avoid conflicts between VPP API messages names and
170   the Python API binding function names, VPP API methods are put in a
171   separate proxy object.
172   https://gerrit.fd.io/r/#/c/5570/
173   The api methods are now referenced as:
174     vpp_handle = VPP(jsonfiles)
175     vpp_handle.connect(...)
176     vpp = vpp_handle.api
177     vpp.show_version()
178     vpp_handle.disconnect()
179
180   For backwards compatibility VPP API methods are left in the main
181   name space (VPP), but will be removed from 17.07.
182
183   - Python API: Change from cPython to CFFI.
184
185 - create_loopback message to be replaced with create_loopback_instance
186   create_loopback will be removed from 17.07.
187   https://gerrit.fd.io/r/#/c/5572/
188
189 ## Known issues
190
191 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
192
193 ## Issues fixed
194
195 For the full list of fixed issues please reffer to:
196 - fd.io [JIRA](https://jira.fd.io)
197 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1704)
198
199 @page release_notes_17011 Release notes for VPP 17.01.1
200
201 This is bug fix release.
202
203 For the full list of fixed issues please reffer to:
204 - fd.io [JIRA](https://jira.fd.io)
205 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
206
207
208 @page release_notes_17011 Release notes for VPP 17.01.1
209
210 This is bug fix release.
211
212 For the full list of fixed issues please reffer to:
213 - fd.io [JIRA](https://jira.fd.io)
214 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
215
216 @page release_notes_1701 Release notes for VPP 17.01
217
218 @note This release was for a while known as 16.12.
219
220 ## Features
221
222 - [Integrated November 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_11.html)
223
224 - Complete rework of Forwarding Information Base (FIB)
225
226 - Performance Improvements
227   - Improvements in DPDK input and output nodes
228   - Improvements in L2 path
229   - Improvmeents in IPv4 lookup node
230
231 - Feature Arcs Improvements
232   - Consolidation of the code
233   - New feature arcs
234     - device-input
235     - interface-output
236
237 - DPDK Cryptodev Support
238   - Software and Hardware Crypto Support
239
240 - DPDK HQoS support
241
242 - Simple Port Analyzer (SPAN)
243
244 - Bidirectional Forwarding Detection
245   - Basic implementation
246
247 - IPFIX Improvements
248
249 - L2 GRE over IPSec tunnels
250
251 - Link Layer Discovery Protocol (LLDP)
252
253 - Vhost-user Improvements
254   - Performance Improvements
255   - Multiqueue
256   - Reconnect
257
258 - LISP Enhancements
259   - Source/Dest control plane support
260   - L2 over LISP and GRE
261   - Map-Register/Map-Notify/RLOC-probing support
262   - L2 API improvements, overall code hardening
263
264 - Plugins:
265   - New: ACL
266   - New: Flow per Packet
267   - Improved: SNAT
268     - Mutlithreading
269     - Flow export
270
271 - Doxygen Enhancements
272
273 - Luajit API bindings
274
275 - API Refactoring
276   - file split
277   - message signatures
278
279 - Python and Scapy based unit testing infrastructure
280   - Infrastructure
281   - Various tests
282
283 - Packet Generator improvements
284
285 - TUN/TAP jumbo frames support
286
287 - Other various bug fixes and improvements
288
289 ## Known issues
290
291 For the full list of issues please reffer to fd.io [JIRA](https://jira.fd.io).
292
293 ## Issues fixed
294
295 For the full list of fixed issues please reffer to:
296 - fd.io [JIRA](https://jira.fd.io)
297 - git [commit log](https://git.fd.io/vpp/log/?h=stable/1701)
298
299 @page release_notes_1609 Release notes for VPP 16.09
300
301 ## Features
302
303 - [Integrated July 2016 DPDK release](http://www.dpdk.org/doc/guides/rel_notes/release_16_07.html)
304   - DPDK-vhost is depreciated pending a complete rework of the original integration and
305     addressing of rx performance deltas.
306   - Patches required for DPDK 16.07:
307     - Correctly setting the Packet Type in the IGB, IXGBE and i40e drivers.
308     - Correctly setting checksum in the i40e driver.
309     - NXP DPAA2 PMD Driver.
310     - rte_delay (yield) functionality.
311
312 - Add “in tree” plugins:
313   - IPv6 ILA.
314   - iOAM.
315   - Load Balancer.
316   - SNAT.
317
318 - High-performance (line-rate) “neutron like” L4 port-filtering.
319
320 - API refactoring - addressing some of the issues around JVPP bindings.
321   - Accommodating plugins [(e.g. NSH_SFC)](https://wiki.fd.io/view/NSH_SFC)
322   - Binding for [python](https://wiki.fd.io/view/VPP/Python_API)
323
324 - LISP
325   - L2 LISP overlays
326   -  Multitenancy
327   - Multihoming
328   - RTR mode
329   - Map-resolver failover algorithm
330
331 - Support 64-bit vector lengths, huge shared-memory segments.
332
333 - Dynamic IP Feature ordering
334   - IP Features can now specify features they appear before and after
335
336 - 16.09 Builds
337   - Ubuntu 14.04 LTS - Trusty Tahr
338   - Ubuntu 16.04 LTS - Xenial Xerus
339   - CentOS 7
340   - More information on [VPP wiki](https://wiki.fd.io/view/VPP/Installing_VPP_binaries_from_packages)
341
342 - Performance, characterize and document performance for this release
343   [(more information on CSIT page)](https://wiki.fd.io/view/CSIT)
344
345    - IPv4 and IPv6 Scale - performance tests.
346      - Bidirectional 10k/100k/1M flows.
347      - 64B,570B, 1518B,9000B packet sizes.
348    - IPv6 iACL - performance
349      - DUT1 and DUT2 are configured with IPv6 routing, two static IPv6 /64 routes and IPv6 iAcl
350        security whitelist ingress /64 filter entries applied on links.
351      - TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
352        flow-group) with all packets containing Ethernet header, IPv6 header and generated payload.
353        MAC addresses are matching MAC addresses of the TG node interfaces.
354
355    - L2XC VXLANoIPv4 - performance
356      - DUT1 and DUT2 are configured with L2 cross-connect. VXLAN tunnels are configured between
357        L2XCs on DUT1 and DUT2.
358      - TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per
359        flow-group) with all packets containing Ethernet header, IPv4 header with IP protocol=61
360        and generated payload. MAC addresses are matching MAC addresses of the TG node interfaces.
361
362 - Documentation
363   - Autogenerated CLI documentation.
364   - Using doxygen to automate API/Node documentation.
365   - [(available online)](https://docs.fd.io/vpp/16.09/)
366
367 - Resolved all static analysis issues found by Coverity
368   - Beginning of 16.09 cycle: 505 issues.
369   - Release: 0 outstanding issues.
370
371
372 ## Known issues
373
374 Issues in fd.io are tracked in [JIRA](https://jira.fd.io).
375
376 Issue | Description
377 --- | ---
378 VPP-391 |   vpp debug version assert appeared in the process of start
379 VPP-380 |   Mapping algorithm compute wrong ea-bits when IPv4 prefix 0.0.0.0/0
380 VPP-371 |   load_one_plugin:63: Loaded plugin: message from vppctl
381 VPP-367 |   vpp packages need to depend on specific versions of each other
382 VPP-312 |   IP6 FIB gets in indeterminate state by duplicating commands
383 VPP-224 |   Lookup-in-vrf can not be set correctly
384 VPP-206 |   Fix classify table delete
385 VPP-203 |   Fix binary API for reading vpp node graph
386 VPP-147 |   Inconsistent behaviour when adding L2 FIB filter entry
387 VPP-99  |  VPP doesn't discard DHCPOFFER message with wrong XID
388
389
390 ## Issues fixed
391
392 Issues in fd.io are tracked in [JIRA](https://jira.fd.io).
393
394 Issue | Description
395 --- | ---
396 VPP-396 |   Ubuntu systems Graphviz bug
397 VPP-390 |   vpp-lib rpm fails to include *.so symlinks, causing linking problems with out of tree builds
398 VPP-388 |   IPSec output feature assumes packets have been ethernet rewritten
399 VPP-385 |   ARP for indirect adjacencies not working correctly
400 VPP-361 |   Memory leak on delete of VXLAN over IPv6 tunnel
401 VPP-357 |   VNI not set correctly when removing LISP fwd entries
402 VPP-349 |   sw_interface_vhost_user_dump not working
403 VPP-345 |   net/enic: bad L4 checksum ptype set on ICMP packets
404 VPP-340 |   MAP-T wrong destination address
405 VPP-330 |   Use fifo to store LISP pending map-requests
406 VPP-326 |   map_add_domain VAT command: unable to configure domain with mtu parameter
407 VPP-318 |   The map_add_domain VAT command accepts invalid arguments
408 VPP-315 |   Fix "show vxlan-gpe" issue
409 VPP-310 |   Mapping algorithm compute wrong ea-bits
410 VPP-239 |   LISP IP forwarding does not tag packets that hit negative mapping entries
411 VPP-235 |   Invalid help in VAT for sw_interface_set_l2_bridge
412 VPP-228 |   Mapping algorithm sends packet to wrong IPv6 address
413 VPP-214 |   vpp-api-test: api_ipsec_sad_add_del_entry: vector "ck" not initialized
414 VPP-200 |   VPP - TAP port create problem
415 VPP-189 |   Coverity Issues for 16.09
416 VPP-184 |   u16 translating to char ,not short
417 VPP-179 |   Adjacency share-count botch
418 VPP-163 |   "show ip6 interface" ignores non-global addresses
419 VPP-155 |   Netmap: Inconsistency in interface state between "show hardware" and "show interface"
420 VPP-145 |   Dynamically compute IP feature ordering based on constraints
421 VPP-137 |   VPP sends ARP with wrong requested IP
422 VPP-118 |   JVpp: 0 length arrays not handled properly in VPP responses
423 VPP-112 |   linux kernel info missing from build log
424 VPP-110 |   vxlan encap node should never touch a deleted tunnel
425 VPP-107 |   RPM build broken in master
426 VPP-92  |   segment routing is not properly filling out the segment list
427 VPP-91  |   segment routing add/del tunnel lookup doesn't work
428 VPP-84  |   af_packet throws a fatal error on EAGAIN
429 VPP-74  |   Clang compile fails due to warning in vlib/unix/cli.c
430 VPP-64  |   Top level "make pkg-deb" fails if CDPATH is set in user env.
431 VPP-48  |   Traceroute does not terminate when VPP is the target
432 VPP-23  |   CLI pager does not gracefully handle lines longer than the terminal width
433
434
435 @page release_notes_1606 Release notes for VPP 16.06
436
437
438 The FD.io Project, relentlessly focused on data IO speed and efficiency
439 supporting the creation of high performance, flexible, and scalable software
440 defined infrastructures, announces the availability of the community’s first
441 software release (16.06).
442
443 In the four months since launching, FD.io has brought together more than 75
444 developers from 11 different companies including network operators, solution
445 providers chip vendors, and network equipment vendors who are collaborating to
446 enhance and innovate around the Vector Packet Processing (VPP) technology. The
447 FD.io community has quickly formed to grow the number of projects from the
448 initial VPP project to an additional 6 projects addressing a diverse set of
449 requirements and usability across a variety of deployment environments.
450
451 The 16.06 release brings unprecedented performance: 480Gbps/200mpps with 8
452 million routes and 2k whitelist entries on standard high volume x86 servers.
453
454
455 ## Features
456
457 In addition to the existing full suite of vswitch/vrouter features, the new
458 16.06 release adds:
459
460 * Enhanced Switching and Routing:
461   * IPv6 Segment Routing multicast support.
462   * LISP xTR support.
463   * VXLAN over IPv6 underlay.
464   * Per interface whitelists.
465   * Shared adjacencies in FIB.
466
467 * New and improved interface support:
468   * Jumbo frame support for vhost-user.
469   * Netmap interface support.
470   * AF_Packet interface support.
471
472 * Expanded and improved programmability:
473   * Python API bindings.
474   * Enhanced JVPP Java API bindings.
475   * Debugging CLI.
476
477 * Expanded Hardware and Software Support:
478   * Support for ARM 32 targets including Rasberry Pi single-board computer.
479   * Support for DPDK 16.04.
480