dd611b571979f6e2e28027348e722339c11674fc
[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.
54
55 * **Added ixgbe preferred Rx/Tx parameters.**
56
57   Rather than applications providing explicit Rx and Tx parameters such as
58   queue and burst sizes, they can request that the EAL instead uses preferred
59   values provided by the PMD, falling back to defaults within the EAL if the
60   PMD does not provide any. The provision of such tuned values now includes
61   the ixgbe PMD.
62
63 * **Added descriptor status check support for fm10k.**
64
65   ``rte_eth_rx_descritpr_status`` and ``rte_eth_tx_descriptor_status``
66   are supported by fm10K.
67
68 * **Updated the enic driver.**
69
70   * Add support for mbuf fast free offload.
71   * Add low cycle count Tx handler for no-offload Tx (except mbuf fast free).
72   * Add low cycle count Rx handler for non-scattered Rx.
73   * Minor performance improvements to scattered Rx handler.
74   * Add handlers to add/delete VxLAN port number.
75   * Add devarg to specify ingress VLAN rewrite mode.
76
77
78 API Changes
79 -----------
80
81 .. This section should contain API changes. Sample format:
82
83    * Add a short 1-2 sentence description of the API change.
84      Use fixed width quotes for ``function_names`` or ``struct_names``.
85      Use the past tense.
86
87    This section is a comment. Do not overwrite or remove it.
88    Also, make sure to start the actual text at the margin.
89    =========================================================
90
91 * Path to runtime config file has changed. The new path is determined as
92   follows:
93
94   - If DPDK is running as root, ``/var/run/dpdk/<prefix>/config``
95   - If DPDK is not running as root:
96
97     * If ``$XDG_RUNTIME_DIR`` is set, ``${XDG_RUNTIME_DIR}/dpdk/<prefix>/config``
98     * Otherwise, ``/tmp/dpdk/<prefix>/config``
99
100 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
101   has been replaced with field ``struct rte_device *device``.
102   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
103   supports an unlimited number of sessions.
104   Two new fields of type ``uint16_t`` have been added:
105   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
106   These parameters specify the recommended headroom and tailroom for mbufs
107   to be processed by the PMD.
108
109 * cryptodev: Following functions were deprecated and are removed in 18.08:
110
111   - ``rte_cryptodev_queue_pair_start``
112   - ``rte_cryptodev_queue_pair_stop``
113   - ``rte_cryptodev_queue_pair_attach_sym_session``
114   - ``rte_cryptodev_queue_pair_detach_sym_session``
115
116 * cryptodev: Following functions were deprecated and are replaced by
117   other functions in 18.08:
118
119   - ``rte_cryptodev_get_header_session_size`` is replaced with
120     ``rte_cryptodev_sym_get_header_session_size``
121   - ``rte_cryptodev_get_private_session_size`` is replaced with
122     ``rte_cryptodev_sym_get_private_session_size``
123
124 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
125   replaced with the following more explicit flags:
126
127   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
128   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
129   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
130   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
131   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
132
133 * cryptodev: Renamed cryptodev experimental APIs:
134
135   Used user_data instead of private_data in following APIs to avoid confusion
136   with the existing session parameter ``sess_private_data[]`` and related APIs.
137
138   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
139     ``rte_cryptodev_sym_session_set_user_data()``
140   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
141     ``rte_cryptodev_sym_session_get_user_data()``
142
143 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
144   replaced with the following more explicit flags:
145
146   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
147   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
148   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
149
150
151 ABI Changes
152 -----------
153
154 .. This section should contain ABI changes. Sample format:
155
156    * Add a short 1-2 sentence description of the ABI change
157      that was announced in the previous releases and made in this release.
158      Use fixed width quotes for ``function_names`` or ``struct_names``.
159      Use the past tense.
160
161    This section is a comment. Do not overwrite or remove it.
162    Also, make sure to start the actual text at the margin.
163    =========================================================
164
165
166 Removed Items
167 -------------
168
169 .. This section should contain removed items in this release. Sample format:
170
171    * Add a short 1-2 sentence description of the removed item
172      in the past tense.
173
174    This section is a comment. Do not overwrite or remove it.
175    Also, make sure to start the actual text at the margin.
176    =========================================================
177
178
179 Shared Library Versions
180 -----------------------
181
182 .. Update any library version updated in this release
183    and prepend with a ``+`` sign, like this:
184
185      librte_acl.so.2
186    + librte_cfgfile.so.2
187      librte_cmdline.so.2
188
189    This section is a comment. Do not overwrite or remove it.
190    =========================================================
191
192 The libraries prepended with a plus sign were incremented in this version.
193
194 .. code-block:: diff
195
196      librte_acl.so.2
197      librte_bbdev.so.1
198      librte_bitratestats.so.2
199      librte_bpf.so.1
200      librte_bus_dpaa.so.1
201      librte_bus_fslmc.so.1
202      librte_bus_pci.so.1
203      librte_bus_vdev.so.1
204    + librte_bus_vmbus.so.1
205      librte_cfgfile.so.2
206      librte_cmdline.so.2
207      librte_common_octeontx.so.1
208      librte_compressdev.so.1
209    + librte_cryptodev.so.5
210      librte_distributor.so.1
211      librte_eal.so.7
212      librte_ethdev.so.9
213      librte_eventdev.so.4
214      librte_flow_classify.so.1
215      librte_gro.so.1
216      librte_gso.so.1
217      librte_hash.so.2
218      librte_ip_frag.so.1
219      librte_jobstats.so.1
220      librte_kni.so.2
221      librte_kvargs.so.1
222      librte_latencystats.so.1
223      librte_lpm.so.2
224      librte_mbuf.so.4
225      librte_mempool.so.4
226      librte_meter.so.2
227      librte_metrics.so.1
228      librte_net.so.1
229      librte_pci.so.1
230      librte_pdump.so.2
231      librte_pipeline.so.3
232      librte_pmd_bnxt.so.2
233      librte_pmd_bond.so.2
234      librte_pmd_i40e.so.2
235      librte_pmd_ixgbe.so.2
236      librte_pmd_dpaa2_cmdif.so.1
237      librte_pmd_dpaa2_qdma.so.1
238      librte_pmd_ring.so.2
239      librte_pmd_softnic.so.1
240      librte_pmd_vhost.so.2
241      librte_port.so.3
242      librte_power.so.1
243      librte_rawdev.so.1
244      librte_reorder.so.1
245      librte_ring.so.2
246      librte_sched.so.1
247      librte_security.so.1
248      librte_table.so.3
249      librte_timer.so.1
250      librte_vhost.so.3
251
252
253 Known Issues
254 ------------
255
256 .. This section should contain new known issues in this release. Sample format:
257
258    * **Add title in present tense with full stop.**
259
260      Add a short 1-2 sentence description of the known issue
261      in the present tense. Add information on any known workarounds.
262
263    This section is a comment. Do not overwrite or remove it.
264    Also, make sure to start the actual text at the margin.
265    =========================================================
266
267
268 Tested Platforms
269 ----------------
270
271 .. This section should contain a list of platforms that were tested
272    with this release.
273
274    The format is:
275
276    * <vendor> platform with <vendor> <type of devices> combinations
277
278      * List of CPU
279      * List of OS
280      * List of devices
281      * Other relevant details...
282
283    This section is a comment. Do not overwrite or remove it.
284    Also, make sure to start the actual text at the margin.
285    =========================================================