raw/ioat: introduce IOAT driver
[dpdk.git] / doc / guides / rel_notes / release_19_08.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2019 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 19.08
7 ==================
8
9 .. **Read this first.**
10
11    The text in the sections below explains how to update the release notes.
12
13    Use proper spelling, capitalization and punctuation in all sections.
14
15    Variable and config names should be quoted as fixed width text:
16    ``LIKE_THIS``.
17
18    Build the docs and view the output file to ensure the changes are correct::
19
20       make doc-guides-html
21
22       xdg-open build/doc/html/guides/rel_notes/release_19_08.html
23
24
25 New Features
26 ------------
27
28 .. This section should contain new features added in this release.
29    Sample format:
30
31    * **Add a title in the past tense with a full stop.**
32
33      Add a short 1-2 sentence description in the past tense.
34      The description should be enough to allow someone scanning
35      the release notes to understand the new feature.
36
37      If the feature adds a lot of sub-features you can use a bullet list
38      like this:
39
40      * Added feature foo to do something.
41      * Enhanced feature bar to do something else.
42
43      Refer to the previous release notes for examples.
44
45      Suggested order in release notes items:
46      * Core libs (EAL, mempool, ring, mbuf, buses)
47      * Device abstraction libs and PMDs
48        - ethdev (lib, PMDs)
49        - cryptodev (lib, PMDs)
50        - eventdev (lib, PMDs)
51        - etc
52      * Other libs
53      * Apps, Examples, Tools (if significant)
54
55      This section is a comment. Do not overwrite or remove it.
56      Also, make sure to start the actual text at the margin.
57      =========================================================
58
59 * **Updated the EAL Pseudo-random Number Generator.**
60
61   The lrand48()-based rte_rand() function is replaced with a
62   DPDK-native combined Linear Feedback Shift Register (LFSR)
63   pseudo-random number generator (PRNG).
64
65   This new PRNG implementation is multi-thread safe, provides
66   higher-quality pseudo-random numbers (including full 64 bit
67   support) and improved performance.
68
69   In addition, <rte_random.h> is extended with a new function
70   rte_rand_max() which supplies unbiased, bounded pseudo-random
71   numbers.
72
73 * **Updated the bnxt PMD.**
74
75   Updated the bnxt PMD. The major enhancements include:
76
77   * Performance optimizations in non-vector Tx path
78   * Added support for SSE vector mode
79   * Updated HWRM API to version 1.10.0.74
80
81 * **Added support for Broadcom NetXtreme-E BCM57500 Ethernet controllers.**
82
83   Added support to the bnxt PMD for the BCM57500 (a.k.a. "Thor") family
84   of Ethernet controllers. These controllers support link speeds up to
85   200Gbps, 50G PAM-4, and PCIe 4.0.
86
87 * **Added hinic PMD.**
88
89   Added the new ``hinic`` net driver for Huawei Intelligent PCIE Network
90   Adapters based on the Huawei Ethernet Controller Hi1822.
91   See the :doc:`../nics/hinic` guide for more details on this new driver.
92
93 * **Updated the ice driver.**
94
95   Updated ice driver with new features and improvements, including:
96
97   * Enabled Tx outer/inner L3/L4 checksum offload.
98   * Enabled generic filter framework and supported switch filter.
99   * Supported UDP tunnel port add.
100
101 * **Updated Solarflare network PMD.**
102
103   Updated the Solarflare ``sfc_efx`` driver with changes including:
104
105   * Added support for Rx interrupts.
106
107 * **Added memif PMD.**
108
109   Added the new Shared Memory Packet Interface (``memif``) PMD.
110   See the :doc:`../nics/memif` guide for more details on this new driver.
111
112 * **Updated the AF_XDP PMD.**
113
114   Updated the AF_XDP PMD. The new features include:
115
116   * Enabled zero copy through mbuf's external memory mechanism to achieve
117     high performance
118   * Added multi-queue support to allow one af_xdp vdev with multiple netdev
119     queues
120   * Enabled need_wakeup feature which can provide efficient support for case
121     that application and driver executing on the same core.
122
123 * **Added Intel QuickData Technology PMD**
124
125   The PMD for Intel\ |reg|  QuickData Technology, part of
126   Intel\ |reg|  I/O Acceleration Technology `(Intel I/OAT)
127   <https://www.intel.com/content/www/us/en/wireless-network/accel-technology.html>`_,
128   allows data copies to be done by hardware instead
129   of via software, reducing cycles spent copying large blocks of data in
130   applications.
131
132 * **Updated telemetry library for global metrics support.**
133
134   Updated ``librte_telemetry`` to fetch the global metrics from the
135   ``librte_metrics`` library.
136
137 * **Added new telemetry mode for l3fwd-power application.**
138
139   Added telemetry mode to l3fwd-power application to report
140   application level busyness, empty and full polls of rte_eth_rx_burst().
141
142
143 Removed Items
144 -------------
145
146 .. This section should contain removed items in this release. Sample format:
147
148    * Add a short 1-2 sentence description of the removed item
149      in the past tense.
150
151    This section is a comment. Do not overwrite or remove it.
152    Also, make sure to start the actual text at the margin.
153    =========================================================
154
155 * Removed KNI ethtool, CONFIG_RTE_KNI_KMOD_ETHTOOL, support.
156
157 * build: armv8 crypto extension is disabled.
158
159
160 API Changes
161 -----------
162
163 .. This section should contain API changes. Sample format:
164
165    * sample: Add a short 1-2 sentence description of the API change
166      which was announced in the previous releases and made in this release.
167      Start with a scope label like "ethdev:".
168      Use fixed width quotes for ``function_names`` or ``struct_names``.
169      Use the past tense.
170
171    This section is a comment. Do not overwrite or remove it.
172    Also, make sure to start the actual text at the margin.
173    =========================================================
174
175 * The network structures, definitions and functions have
176   been prefixed by ``rte_`` to resolve conflicts with libc headers.
177
178 * malloc: The function ``rte_malloc_set_limit`` was never implemented
179   is deprecated and will be removed in a future release.
180
181 * eventdev: No longer marked as experimental.
182
183   The eventdev functions are no longer marked as experimental, and have
184   become part of the normal DPDK API and ABI. Any future ABI changes will be
185   announced at least one release before the ABI change is made. There are no
186   ABI breaking changes planned.
187
188
189 ABI Changes
190 -----------
191
192 .. This section should contain ABI changes. Sample format:
193
194    * sample: Add a short 1-2 sentence description of the ABI change
195      which was announced in the previous releases and made in this release.
196      Start with a scope label like "ethdev:".
197      Use fixed width quotes for ``function_names`` or ``struct_names``.
198      Use the past tense.
199
200    This section is a comment. Do not overwrite or remove it.
201    Also, make sure to start the actual text at the margin.
202    =========================================================
203
204 * eventdev: Event based Rx adapter callback
205
206   The mbuf pointer array in the event eth Rx adapter callback
207   has been replaced with an event array. Using
208   an event array allows the application to change attributes
209   of the events enqueued by the SW adapter.
210
211   The callback can drop packets and populate
212   a callback argument with the number of dropped packets.
213   Add a Rx adapter stats field to keep track of the total
214   number of dropped packets.
215
216
217 Shared Library Versions
218 -----------------------
219
220 .. Update any library version updated in this release
221    and prepend with a ``+`` sign, like this:
222
223      libfoo.so.1
224    + libupdated.so.2
225      libbar.so.1
226
227    This section is a comment. Do not overwrite or remove it.
228    =========================================================
229
230 The libraries prepended with a plus sign were incremented in this version.
231
232 .. code-block:: diff
233
234      librte_acl.so.2
235      librte_bbdev.so.1
236      librte_bitratestats.so.2
237      librte_bpf.so.1
238      librte_bus_dpaa.so.2
239      librte_bus_fslmc.so.2
240      librte_bus_ifpga.so.2
241      librte_bus_pci.so.2
242      librte_bus_vdev.so.2
243      librte_bus_vmbus.so.2
244      librte_cfgfile.so.2
245      librte_cmdline.so.2
246      librte_compressdev.so.1
247      librte_cryptodev.so.7
248      librte_distributor.so.1
249      librte_eal.so.10
250      librte_efd.so.1
251      librte_ethdev.so.12
252    + librte_eventdev.so.7
253      librte_flow_classify.so.1
254      librte_gro.so.1
255      librte_gso.so.1
256      librte_hash.so.2
257      librte_ip_frag.so.1
258      librte_ipsec.so.1
259      librte_jobstats.so.1
260      librte_kni.so.2
261      librte_kvargs.so.1
262      librte_latencystats.so.1
263      librte_lpm.so.2
264      librte_mbuf.so.5
265      librte_member.so.1
266      librte_mempool.so.5
267      librte_meter.so.3
268      librte_metrics.so.1
269      librte_net.so.1
270      librte_pci.so.1
271      librte_pdump.so.3
272      librte_pipeline.so.3
273      librte_pmd_bnxt.so.2
274      librte_pmd_bond.so.2
275      librte_pmd_i40e.so.2
276      librte_pmd_ixgbe.so.2
277      librte_pmd_dpaa2_qdma.so.1
278      librte_pmd_ring.so.2
279      librte_pmd_softnic.so.1
280      librte_pmd_vhost.so.2
281      librte_port.so.3
282      librte_power.so.1
283      librte_rawdev.so.1
284      librte_rcu.so.1
285      librte_reorder.so.1
286      librte_ring.so.2
287      librte_sched.so.2
288      librte_security.so.2
289      librte_stack.so.1
290      librte_table.so.3
291      librte_timer.so.1
292      librte_vhost.so.4
293
294
295 Known Issues
296 ------------
297
298 .. This section should contain new known issues in this release. Sample format:
299
300    * **Add title in present tense with full stop.**
301
302      Add a short 1-2 sentence description of the known issue
303      in the present tense. Add information on any known workarounds.
304
305    This section is a comment. Do not overwrite or remove it.
306    Also, make sure to start the actual text at the margin.
307    =========================================================
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    =========================================================
328