net/sfc: support tunnel TSO on EF10 native Tx datapath
[dpdk.git] / doc / guides / rel_notes / release_19_05.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2019 The DPDK contributors
3
4 DPDK Release 19.05
5 ==================
6
7 .. **Read this first.**
8
9    The text in the sections below explains how to update the release notes.
10
11    Use proper spelling, capitalization and punctuation in all sections.
12
13    Variable and config names should be quoted as fixed width text:
14    ``LIKE_THIS``.
15
16    Build the docs and view the output file to ensure the changes are correct::
17
18       make doc-guides-html
19
20       xdg-open build/doc/html/guides/rel_notes/release_19_05.html
21
22
23 New Features
24 ------------
25
26 .. This section should contain new features added in this release.
27    Sample format:
28
29    * **Add a title in the past tense with a full stop.**
30
31      Add a short 1-2 sentence description in the past tense.
32      The description should be enough to allow someone scanning
33      the release notes to understand the new feature.
34
35      If the feature adds a lot of sub-features you can use a bullet list
36      like this:
37
38      * Added feature foo to do something.
39      * Enhanced feature bar to do something else.
40
41      Refer to the previous release notes for examples.
42
43      Suggested order in release notes items:
44      * Core libs (EAL, mempool, ring, mbuf, buses)
45      * Device abstraction libs and PMDs
46        - ethdev (lib, PMDs)
47        - cryptodev (lib, PMDs)
48        - eventdev (lib, PMDs)
49        - etc
50      * Other libs
51      * Apps, Examples, Tools (if significant)
52
53      This section is a comment. Do not overwrite or remove it.
54      Also, make sure to start the actual text at the margin.
55      =========================================================
56
57 * **Added Stack API.**
58
59   Added a new stack API for configuration and use of a bounded stack of
60   pointers. The API provides MT-safe push and pop operations that can operate
61   on one or more pointers per operation.
62
63   The library supports two stack implementations: standard (lock-based) and lock-free.
64   The lock-free implementation is currently limited to x86-64 platforms.
65
66 * **Added Lock-Free Stack Mempool Handler.**
67
68   Added a new lock-free stack handler, which uses the newly added stack
69   library.
70
71 * **Updated KNI module and PMD.**
72
73   Updated the KNI kernel module to set the max_mtu according to the given
74   initial MTU size. Without it, the maximum MTU was 1500.
75
76   Updated the KNI PMD driver to set the mbuf_size and MTU based on
77   the given mb-pool. This provide the ability to pass jumbo frames
78   if the mb-pool contains suitable buffers' size.
79
80 * **Updated Solarflare network PMD.**
81
82   Updated the sfc_efx driver including the following changes:
83
84   * Added support for Rx descriptor status and related API in a secondary
85     process.
86   * Added support for Tx descriptor status API in a secondary process.
87   * Added support for RSS RETA and hash configuration get API in a secondary
88     process.
89   * Added support for Rx packet types list in a secondary process.
90   * Added Tx prepare to do Tx offloads checks.
91   * Added support for VXLAN and GENEVE encapsulated TSO.
92
93 * **Updated Mellanox drivers.**
94
95    New features and improvements were done in mlx4 and mlx5 PMDs:
96
97    * Added firmware version reading.
98
99 * **Renamed avf to iavf.**
100
101   Renamed Intel Ethernet Adaptive Virtual Function driver ``avf`` to ``iavf``,
102   which includes the directory name, lib name, filenames, makefile, docs,
103   macros, functions, structs and any other strings in the code.
104
105 * **Updated the enic driver.**
106
107   * Fixed several flow (director) bugs related to MARK, SCTP, VLAN, VXLAN, and
108     inner packet matching.
109   * Added limited support for RAW.
110   * Added limited support for RSS.
111   * Added limited support for PASSTHRU.
112
113 * **Updated the ixgbe driver.**
114
115   New features for VF:
116
117   * Added promiscuous mode support.
118
119 * **Updated the ice driver.**
120
121   * Added support of SSE and AVX2 instructions in Rx and Tx paths.
122   * Added package download support.
123   * Added Safe Mode support.
124   * Supported RSS for UPD/TCP/SCTP+IPV4/IPV6 packets.
125
126 * **Updated the QuickAssist Technology PMD.**
127
128   Added support for AES-XTS with 128 and 256 bit AES keys.
129
130 * **Updated AESNI-MB PMD.**
131
132   Added support for out-of-place operations.
133
134 * **Updated the IPsec library.**
135
136   The IPsec library has been updated with AES-CTR and 3DES-CBC cipher algorithms
137   support. The related ipsec-secgw test scripts have been added.
138
139 * **Updated the testpmd application.**
140
141   Improved testpmd application performance on ARM platform. For ``macswap``
142   forwarding mode, NEON intrinsics were used to do swap to save CPU cycles.
143
144
145 Removed Items
146 -------------
147
148 .. This section should contain removed items in this release. Sample format:
149
150    * Add a short 1-2 sentence description of the removed item
151      in the past tense.
152
153    This section is a comment. Do not overwrite or remove it.
154    Also, make sure to start the actual text at the margin.
155    =========================================================
156
157
158 API Changes
159 -----------
160
161 .. This section should contain API changes. Sample format:
162
163    * sample: Add a short 1-2 sentence description of the API change
164      which was announced in the previous releases and made in this release.
165      Start with a scope label like "ethdev:".
166      Use fixed width quotes for ``function_names`` or ``struct_names``.
167      Use the past tense.
168
169    This section is a comment. Do not overwrite or remove it.
170    Also, make sure to start the actual text at the margin.
171    =========================================================
172
173 * eal: the type of the ``attr_value`` parameter of the function
174   ``rte_service_attr_get()`` has been changed
175   from ``uint32_t *`` to ``uint64_t *``.
176
177 * vfio: Functions ``rte_vfio_container_dma_map`` and
178   ``rte_vfio_container_dma_unmap`` have been extended with an option to
179   request mapping or un-mapping to the default vfio container fd.
180
181
182 ABI Changes
183 -----------
184
185 .. This section should contain ABI changes. Sample format:
186
187    * sample: Add a short 1-2 sentence description of the ABI change
188      which was announced in the previous releases and made in this release.
189      Start with a scope label like "ethdev:".
190      Use fixed width quotes for ``function_names`` or ``struct_names``.
191      Use the past tense.
192
193    This section is a comment. Do not overwrite or remove it.
194    Also, make sure to start the actual text at the margin.
195    =========================================================
196
197 * ethdev: Additional fields in rte_eth_dev_info.
198
199   The ``rte_eth_dev_info`` structure has had two extra fields
200   added: ``min_mtu`` and ``max_mtu``. Each of these are of type ``uint16_t``.
201   The values of these fields can be set specifically by the PMD drivers as
202   supported values can vary from device to device.
203
204 * cryptodev: in 18.08 new structure ``rte_crypto_asym_op`` was introduced and
205   included into ``rte_crypto_op``. As ``rte_crypto_asym_op`` structure was
206   defined as cache-line aligned that caused unintended changes in
207   ``rte_crypto_op`` structure layout and alignment. Remove cache-line
208   alignment for ``rte_crypto_asym_op`` to restore expected ``rte_crypto_op``
209   layout and alignment.
210
211
212 Shared Library Versions
213 -----------------------
214
215 .. Update any library version updated in this release
216    and prepend with a ``+`` sign, like this:
217
218      libfoo.so.1
219    + libupdated.so.2
220      libbar.so.1
221
222    This section is a comment. Do not overwrite or remove it.
223    =========================================================
224
225 The libraries prepended with a plus sign were incremented in this version.
226
227 .. code-block:: diff
228
229      librte_acl.so.2
230      librte_bbdev.so.1
231      librte_bitratestats.so.2
232      librte_bpf.so.1
233      librte_bus_dpaa.so.2
234      librte_bus_fslmc.so.2
235      librte_bus_ifpga.so.2
236      librte_bus_pci.so.2
237      librte_bus_vdev.so.2
238      librte_bus_vmbus.so.2
239      librte_cfgfile.so.2
240      librte_cmdline.so.2
241      librte_compressdev.so.1
242    + librte_cryptodev.so.7
243      librte_distributor.so.1
244    + librte_eal.so.10
245      librte_efd.so.1
246    + librte_ethdev.so.12
247      librte_eventdev.so.6
248      librte_flow_classify.so.1
249      librte_gro.so.1
250      librte_gso.so.1
251      librte_hash.so.2
252      librte_ip_frag.so.1
253      librte_ipsec.so.1
254      librte_jobstats.so.1
255      librte_kni.so.2
256      librte_kvargs.so.1
257      librte_latencystats.so.1
258      librte_lpm.so.2
259      librte_mbuf.so.5
260      librte_member.so.1
261      librte_mempool.so.5
262      librte_meter.so.2
263      librte_metrics.so.1
264      librte_net.so.1
265      librte_pci.so.1
266      librte_pdump.so.3
267      librte_pipeline.so.3
268      librte_pmd_bnxt.so.2
269      librte_pmd_bond.so.2
270      librte_pmd_i40e.so.2
271      librte_pmd_ixgbe.so.2
272      librte_pmd_dpaa2_qdma.so.1
273      librte_pmd_ring.so.2
274      librte_pmd_softnic.so.1
275      librte_pmd_vhost.so.2
276      librte_port.so.3
277      librte_power.so.1
278      librte_rawdev.so.1
279      librte_reorder.so.1
280      librte_ring.so.2
281      librte_sched.so.2
282      librte_security.so.2
283    + librte_stack.so.1
284      librte_table.so.3
285      librte_timer.so.1
286      librte_vhost.so.4
287
288
289 Known Issues
290 ------------
291
292 .. This section should contain new known issues in this release. Sample format:
293
294    * **Add title in present tense with full stop.**
295
296      Add a short 1-2 sentence description of the known issue
297      in the present tense. Add information on any known workarounds.
298
299    This section is a comment. Do not overwrite or remove it.
300    Also, make sure to start the actual text at the margin.
301    =========================================================
302
303 * **No software AES-XTS implementation.**
304
305   There are currently no cryptodev software PMDs available which implement
306   support for the AES-XTS algorithm, so this feature can only be used
307   if compatible hardware and an associated PMD is available.
308
309
310 Tested Platforms
311 ----------------
312
313 .. This section should contain a list of platforms that were tested
314    with this release.
315
316    The format is:
317
318    * <vendor> platform with <vendor> <type of devices> combinations
319
320      * List of CPU
321      * List of OS
322      * List of devices
323      * Other relevant details...
324
325    This section is a comment. Do not overwrite or remove it.
326    Also, make sure to start the actual text at the margin.
327    =========================================================