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