9849fec7d0befa9b7cbeb37bf722ac11e736d7be
[dpdk.git] / doc / guides / rel_notes / release_18_08.rst
1 DPDK Release 18.08
2 ==================
3
4 .. **Read this first.**
5
6    The text in the sections below explains how to update the release notes.
7
8    Use proper spelling, capitalization and punctuation in all sections.
9
10    Variable and config names should be quoted as fixed width text:
11    ``LIKE_THIS``.
12
13    Build the docs and view the output file to ensure the changes are correct::
14
15       make doc-guides-html
16
17       xdg-open build/doc/html/guides/rel_notes/release_18_08.html
18
19
20 New Features
21 ------------
22
23 .. This section should contain new features added in this release.
24    Sample format:
25
26    * **Add a title in the past tense with a full stop.**
27
28      Add a short 1-2 sentence description in the past tense.
29      The description should be enough to allow someone scanning
30      the release notes to understand the new feature.
31
32      If the feature adds a lot of sub-features you can use a bullet list
33      like this:
34
35      * Added feature foo to do something.
36      * Enhanced feature bar to do something else.
37
38      Refer to the previous release notes for examples.
39
40      This section is a comment. Do not overwrite or remove it.
41      Also, make sure to start the actual text at the margin.
42      =========================================================
43
44 * **Added support for Hyper-V netvsc PMD.**
45
46   The new ``netvsc`` poll mode driver provides native support for
47   networking on Hyper-V. See the :doc:`../nics/netvsc` NIC driver guide
48   for more details on this new driver.
49
50 * **Added Flow API support for CXGBE PMD.**
51
52   Flow API support has been added to CXGBE Poll Mode Driver to offload
53   flows to Chelsio T5/T6 NICs. Support added for:
54   * Wildcard (LE-TCAM) and Exact (HASH) match filters.
55   * Match items: physical ingress port, IPv4, IPv6, TCP and UDP.
56   * Action items: queue, drop, count, and physical egress port redirect.
57
58 * **Added ixgbe preferred Rx/Tx parameters.**
59
60   Rather than applications providing explicit Rx and Tx parameters such as
61   queue and burst sizes, they can request that the EAL instead uses preferred
62   values provided by the PMD, falling back to defaults within the EAL if the
63   PMD does not provide any. The provision of such tuned values now includes
64   the ixgbe PMD.
65
66 * **Added descriptor status check support for fm10k.**
67
68   ``rte_eth_rx_descritpr_status`` and ``rte_eth_tx_descriptor_status``
69   are supported by fm10K.
70
71 * **Updated the enic driver.**
72
73   * Add low cycle count Tx handler for no-offload Tx.
74   * Add low cycle count Rx handler for non-scattered Rx.
75   * Minor performance improvements to scattered Rx handler.
76   * Add handlers to add/delete VxLAN port number.
77   * Add devarg to specify ingress VLAN rewrite mode.
78
79 * **SoftNIC PMD rework.**
80
81   The SoftNIC PMD infrastructure is restructured to use the Packet Framework,
82   which makes it more flexible, modular and easier to add new functionality
83   in future.
84
85 * **Updated the AESNI MB PMD.**
86
87   The AESNI MB PMD has been updated with additional support for:
88
89   * 3DES for 8, 16 and 24 byte keys.
90
91 * **Added a new compression PMD using Intel's QuickAssist (QAT) device family.**
92
93   Added the new ``QAT`` compression driver, for compression and decompression
94   operations in software. See the :doc:`../compressdevs/qat_comp` compression
95   driver guide for details on this new driver.
96
97 * **Updated the ISA-L PMD.**
98
99   Added support for chained mbufs (input and output).
100
101
102 API Changes
103 -----------
104
105 .. This section should contain API changes. Sample format:
106
107    * Add a short 1-2 sentence description of the API change.
108      Use fixed width quotes for ``function_names`` or ``struct_names``.
109      Use the past tense.
110
111    This section is a comment. Do not overwrite or remove it.
112    Also, make sure to start the actual text at the margin.
113    =========================================================
114
115 * Path to runtime config file has changed. The new path is determined as
116   follows:
117
118   - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config``
119   - If DPDK is not running as root:
120
121     * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config``
122     * Otherwise, ``/tmp/dpdk/<prefix>/config``
123
124 * mempool: Following functions were deprecated and are removed in 18.08:
125
126   - ``rte_mempool_populate_iova_tab``
127   - ``rte_mempool_populate_phys_tab``
128   - ``rte_mempool_populate_phys`` (``rte_mempool_populate_iova`` should be used)
129   - ``rte_mempool_virt2phy`` (``rte_mempool_virt2iova`` should be used)
130   - ``rte_mempool_xmem_create``
131   - ``rte_mempool_xmem_size``
132   - ``rte_mempool_xmem_usage``
133
134 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
135   has been replaced with field ``struct rte_device *device``.
136   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
137   supports an unlimited number of sessions.
138   Two new fields of type ``uint16_t`` have been added:
139   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
140   These parameters specify the recommended headroom and tailroom for mbufs
141   to be processed by the PMD.
142
143 * cryptodev: Following functions were deprecated and are removed in 18.08:
144
145   - ``rte_cryptodev_queue_pair_start``
146   - ``rte_cryptodev_queue_pair_stop``
147   - ``rte_cryptodev_queue_pair_attach_sym_session``
148   - ``rte_cryptodev_queue_pair_detach_sym_session``
149
150 * cryptodev: Following functions were deprecated and are replaced by
151   other functions in 18.08:
152
153   - ``rte_cryptodev_get_header_session_size`` is replaced with
154     ``rte_cryptodev_sym_get_header_session_size``
155   - ``rte_cryptodev_get_private_session_size`` is replaced with
156     ``rte_cryptodev_sym_get_private_session_size``
157
158 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
159   replaced with the following more explicit flags:
160
161   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
162   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
163   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
164   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
165   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
166
167 * cryptodev: Renamed cryptodev experimental APIs:
168
169   Used user_data instead of private_data in following APIs to avoid confusion
170   with the existing session parameter ``sess_private_data[]`` and related APIs.
171
172   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
173     ``rte_cryptodev_sym_session_set_user_data()``
174   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
175     ``rte_cryptodev_sym_session_get_user_data()``
176
177 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
178   replaced with the following more explicit flags:
179
180   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
181   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
182   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
183
184
185 ABI Changes
186 -----------
187
188 .. This section should contain ABI changes. Sample format:
189
190    * Add a short 1-2 sentence description of the ABI change
191      that was announced in the previous releases and made in this release.
192      Use fixed width quotes for ``function_names`` or ``struct_names``.
193      Use the past tense.
194
195    This section is a comment. Do not overwrite or remove it.
196    Also, make sure to start the actual text at the margin.
197    =========================================================
198
199
200 Removed Items
201 -------------
202
203 .. This section should contain removed items in this release. Sample format:
204
205    * Add a short 1-2 sentence description of the removed item
206      in the past tense.
207
208    This section is a comment. Do not overwrite or remove it.
209    Also, make sure to start the actual text at the margin.
210    =========================================================
211
212
213 Shared Library Versions
214 -----------------------
215
216 .. Update any library version updated in this release
217    and prepend with a ``+`` sign, like this:
218
219      librte_acl.so.2
220    + librte_cfgfile.so.2
221      librte_cmdline.so.2
222
223    This section is a comment. Do not overwrite or remove it.
224    =========================================================
225
226 The libraries prepended with a plus sign were incremented in this version.
227
228 .. code-block:: diff
229
230      librte_acl.so.2
231      librte_bbdev.so.1
232      librte_bitratestats.so.2
233      librte_bpf.so.1
234      librte_bus_dpaa.so.1
235      librte_bus_fslmc.so.1
236      librte_bus_pci.so.1
237      librte_bus_vdev.so.1
238    + librte_bus_vmbus.so.1
239      librte_cfgfile.so.2
240      librte_cmdline.so.2
241      librte_common_octeontx.so.1
242      librte_compressdev.so.1
243    + librte_cryptodev.so.5
244      librte_distributor.so.1
245      librte_eal.so.7
246      librte_ethdev.so.9
247      librte_eventdev.so.4
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_jobstats.so.1
254      librte_kni.so.2
255      librte_kvargs.so.1
256      librte_latencystats.so.1
257      librte_lpm.so.2
258      librte_mbuf.so.4
259    + librte_mempool.so.5
260      librte_meter.so.2
261      librte_metrics.so.1
262      librte_net.so.1
263      librte_pci.so.1
264      librte_pdump.so.2
265      librte_pipeline.so.3
266      librte_pmd_bnxt.so.2
267      librte_pmd_bond.so.2
268      librte_pmd_i40e.so.2
269      librte_pmd_ixgbe.so.2
270      librte_pmd_dpaa2_cmdif.so.1
271      librte_pmd_dpaa2_qdma.so.1
272      librte_pmd_ring.so.2
273      librte_pmd_softnic.so.1
274      librte_pmd_vhost.so.2
275      librte_port.so.3
276      librte_power.so.1
277      librte_rawdev.so.1
278      librte_reorder.so.1
279      librte_ring.so.2
280      librte_sched.so.1
281      librte_security.so.1
282      librte_table.so.3
283      librte_timer.so.1
284      librte_vhost.so.3
285
286
287 Known Issues
288 ------------
289
290 .. This section should contain new known issues in this release. Sample format:
291
292    * **Add title in present tense with full stop.**
293
294      Add a short 1-2 sentence description of the known issue
295      in the present tense. Add information on any known workarounds.
296
297    This section is a comment. Do not overwrite or remove it.
298    Also, make sure to start the actual text at the margin.
299    =========================================================
300
301
302 Tested Platforms
303 ----------------
304
305 .. This section should contain a list of platforms that were tested
306    with this release.
307
308    The format is:
309
310    * <vendor> platform with <vendor> <type of devices> combinations
311
312      * List of CPU
313      * List of OS
314      * List of devices
315      * Other relevant details...
316
317    This section is a comment. Do not overwrite or remove it.
318    Also, make sure to start the actual text at the margin.
319    =========================================================