607845f1722e69be17c9c13a8c9464dd48678a68
[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 * **Updated the AESNI MB PMD.**
80
81   The AESNI MB PMD has been updated with additional support for:
82
83   * 3DES for 8, 16 and 24 byte keys.
84
85 * **Added a new compression PMD using Intel's QuickAssist (QAT) device family.**
86
87   Added the new ``QAT`` compression driver, for compression and decompression
88   operations in software. See the :doc:`../compressdevs/qat_comp` compression
89   driver guide for details on this new driver.
90
91 * **Updated the ISA-L PMD.**
92
93   Added support for chained mbufs (input and output).
94
95
96 API Changes
97 -----------
98
99 .. This section should contain API changes. Sample format:
100
101    * Add a short 1-2 sentence description of the API change.
102      Use fixed width quotes for ``function_names`` or ``struct_names``.
103      Use the past tense.
104
105    This section is a comment. Do not overwrite or remove it.
106    Also, make sure to start the actual text at the margin.
107    =========================================================
108
109 * Path to runtime config file has changed. The new path is determined as
110   follows:
111
112   - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config``
113   - If DPDK is not running as root:
114
115     * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config``
116     * Otherwise, ``/tmp/dpdk/<prefix>/config``
117
118 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
119   has been replaced with field ``struct rte_device *device``.
120   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
121   supports an unlimited number of sessions.
122   Two new fields of type ``uint16_t`` have been added:
123   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
124   These parameters specify the recommended headroom and tailroom for mbufs
125   to be processed by the PMD.
126
127 * cryptodev: Following functions were deprecated and are removed in 18.08:
128
129   - ``rte_cryptodev_queue_pair_start``
130   - ``rte_cryptodev_queue_pair_stop``
131   - ``rte_cryptodev_queue_pair_attach_sym_session``
132   - ``rte_cryptodev_queue_pair_detach_sym_session``
133
134 * cryptodev: Following functions were deprecated and are replaced by
135   other functions in 18.08:
136
137   - ``rte_cryptodev_get_header_session_size`` is replaced with
138     ``rte_cryptodev_sym_get_header_session_size``
139   - ``rte_cryptodev_get_private_session_size`` is replaced with
140     ``rte_cryptodev_sym_get_private_session_size``
141
142 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
143   replaced with the following more explicit flags:
144
145   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
146   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
147   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
148   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
149   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
150
151 * cryptodev: Renamed cryptodev experimental APIs:
152
153   Used user_data instead of private_data in following APIs to avoid confusion
154   with the existing session parameter ``sess_private_data[]`` and related APIs.
155
156   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
157     ``rte_cryptodev_sym_session_set_user_data()``
158   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
159     ``rte_cryptodev_sym_session_get_user_data()``
160
161 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
162   replaced with the following more explicit flags:
163
164   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
165   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
166   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
167
168
169 ABI Changes
170 -----------
171
172 .. This section should contain ABI changes. Sample format:
173
174    * Add a short 1-2 sentence description of the ABI change
175      that was announced in the previous releases and made in this release.
176      Use fixed width quotes for ``function_names`` or ``struct_names``.
177      Use the past tense.
178
179    This section is a comment. Do not overwrite or remove it.
180    Also, make sure to start the actual text at the margin.
181    =========================================================
182
183
184 Removed Items
185 -------------
186
187 .. This section should contain removed items in this release. Sample format:
188
189    * Add a short 1-2 sentence description of the removed item
190      in the past tense.
191
192    This section is a comment. Do not overwrite or remove it.
193    Also, make sure to start the actual text at the margin.
194    =========================================================
195
196
197 Shared Library Versions
198 -----------------------
199
200 .. Update any library version updated in this release
201    and prepend with a ``+`` sign, like this:
202
203      librte_acl.so.2
204    + librte_cfgfile.so.2
205      librte_cmdline.so.2
206
207    This section is a comment. Do not overwrite or remove it.
208    =========================================================
209
210 The libraries prepended with a plus sign were incremented in this version.
211
212 .. code-block:: diff
213
214      librte_acl.so.2
215      librte_bbdev.so.1
216      librte_bitratestats.so.2
217      librte_bpf.so.1
218      librte_bus_dpaa.so.1
219      librte_bus_fslmc.so.1
220      librte_bus_pci.so.1
221      librte_bus_vdev.so.1
222    + librte_bus_vmbus.so.1
223      librte_cfgfile.so.2
224      librte_cmdline.so.2
225      librte_common_octeontx.so.1
226      librte_compressdev.so.1
227    + librte_cryptodev.so.5
228      librte_distributor.so.1
229      librte_eal.so.7
230      librte_ethdev.so.9
231      librte_eventdev.so.4
232      librte_flow_classify.so.1
233      librte_gro.so.1
234      librte_gso.so.1
235      librte_hash.so.2
236      librte_ip_frag.so.1
237      librte_jobstats.so.1
238      librte_kni.so.2
239      librte_kvargs.so.1
240      librte_latencystats.so.1
241      librte_lpm.so.2
242      librte_mbuf.so.4
243      librte_mempool.so.4
244      librte_meter.so.2
245      librte_metrics.so.1
246      librte_net.so.1
247      librte_pci.so.1
248      librte_pdump.so.2
249      librte_pipeline.so.3
250      librte_pmd_bnxt.so.2
251      librte_pmd_bond.so.2
252      librte_pmd_i40e.so.2
253      librte_pmd_ixgbe.so.2
254      librte_pmd_dpaa2_cmdif.so.1
255      librte_pmd_dpaa2_qdma.so.1
256      librte_pmd_ring.so.2
257      librte_pmd_softnic.so.1
258      librte_pmd_vhost.so.2
259      librte_port.so.3
260      librte_power.so.1
261      librte_rawdev.so.1
262      librte_reorder.so.1
263      librte_ring.so.2
264      librte_sched.so.1
265      librte_security.so.1
266      librte_table.so.3
267      librte_timer.so.1
268      librte_vhost.so.3
269
270
271 Known Issues
272 ------------
273
274 .. This section should contain new known issues in this release. Sample format:
275
276    * **Add title in present tense with full stop.**
277
278      Add a short 1-2 sentence description of the known issue
279      in the present tense. Add information on any known workarounds.
280
281    This section is a comment. Do not overwrite or remove it.
282    Also, make sure to start the actual text at the margin.
283    =========================================================
284
285
286 Tested Platforms
287 ----------------
288
289 .. This section should contain a list of platforms that were tested
290    with this release.
291
292    The format is:
293
294    * <vendor> platform with <vendor> <type of devices> combinations
295
296      * List of CPU
297      * List of OS
298      * List of devices
299      * Other relevant details...
300
301    This section is a comment. Do not overwrite or remove it.
302    Also, make sure to start the actual text at the margin.
303    =========================================================