ethdev: bump library version
[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 * ethdev: The old offload API is removed:
135
136   - Rx per-port ``rte_eth_conf.rxmode.[bit-fields]``
137   - Tx per-queue ``rte_eth_txconf.txq_flags``
138   - ``ETH_TXQ_FLAGS_NO*``
139
140   The transition bits are removed:
141
142   - ``rte_eth_conf.rxmode.ignore_offload_bitfield``
143   - ``ETH_TXQ_FLAGS_IGNORE``
144
145 * cryptodev: In struct ``struct rte_cryptodev_info``, field ``rte_pci_device *pci_dev``
146   has been replaced with field ``struct rte_device *device``.
147   Value 0 is accepted in ``sym.max_nb_sessions``, meaning that a device
148   supports an unlimited number of sessions.
149   Two new fields of type ``uint16_t`` have been added:
150   ``min_mbuf_headroom_req`` and ``min_mbuf_tailroom_req``.
151   These parameters specify the recommended headroom and tailroom for mbufs
152   to be processed by the PMD.
153
154 * cryptodev: Following functions were deprecated and are removed in 18.08:
155
156   - ``rte_cryptodev_queue_pair_start``
157   - ``rte_cryptodev_queue_pair_stop``
158   - ``rte_cryptodev_queue_pair_attach_sym_session``
159   - ``rte_cryptodev_queue_pair_detach_sym_session``
160
161 * cryptodev: Following functions were deprecated and are replaced by
162   other functions in 18.08:
163
164   - ``rte_cryptodev_get_header_session_size`` is replaced with
165     ``rte_cryptodev_sym_get_header_session_size``
166   - ``rte_cryptodev_get_private_session_size`` is replaced with
167     ``rte_cryptodev_sym_get_private_session_size``
168
169 * cryptodev: Feature flag ``RTE_CRYPTODEV_FF_MBUF_SCATTER_GATHER`` is
170   replaced with the following more explicit flags:
171
172   - ``RTE_CRYPTODEV_FF_IN_PLACE_SGL``
173   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_SGL_OUT``
174   - ``RTE_CRYPTODEV_FF_OOP_SGL_IN_LB_OUT``
175   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_SGL_OUT``
176   - ``RTE_CRYPTODEV_FF_OOP_LB_IN_LB_OUT``
177
178 * cryptodev: Renamed cryptodev experimental APIs:
179
180   Used user_data instead of private_data in following APIs to avoid confusion
181   with the existing session parameter ``sess_private_data[]`` and related APIs.
182
183   - ``rte_cryptodev_sym_session_set_private_data()`` changed to
184     ``rte_cryptodev_sym_session_set_user_data()``
185   - ``rte_cryptodev_sym_session_get_private_data()`` changed to
186     ``rte_cryptodev_sym_session_get_user_data()``
187
188 * compressdev: Feature flag ``RTE_COMP_FF_MBUF_SCATTER_GATHER`` is
189   replaced with the following more explicit flags:
190
191   - ``RTE_COMP_FF_OOP_SGL_IN_SGL_OUT``
192   - ``RTE_COMP_FF_OOP_SGL_IN_LB_OUT``
193   - ``RTE_COMP_FF_OOP_LB_IN_SGL_OUT``
194
195
196 ABI Changes
197 -----------
198
199 .. This section should contain ABI changes. Sample format:
200
201    * Add a short 1-2 sentence description of the ABI change
202      that was announced in the previous releases and made in this release.
203      Use fixed width quotes for ``function_names`` or ``struct_names``.
204      Use the past tense.
205
206    This section is a comment. Do not overwrite or remove it.
207    Also, make sure to start the actual text at the margin.
208    =========================================================
209
210
211 Removed Items
212 -------------
213
214 .. This section should contain removed items in this release. Sample format:
215
216    * Add a short 1-2 sentence description of the removed item
217      in the past tense.
218
219    This section is a comment. Do not overwrite or remove it.
220    Also, make sure to start the actual text at the margin.
221    =========================================================
222
223
224 Shared Library Versions
225 -----------------------
226
227 .. Update any library version updated in this release
228    and prepend with a ``+`` sign, like this:
229
230      librte_acl.so.2
231    + librte_cfgfile.so.2
232      librte_cmdline.so.2
233
234    This section is a comment. Do not overwrite or remove it.
235    =========================================================
236
237 The libraries prepended with a plus sign were incremented in this version.
238
239 .. code-block:: diff
240
241      librte_acl.so.2
242      librte_bbdev.so.1
243      librte_bitratestats.so.2
244      librte_bpf.so.1
245      librte_bus_dpaa.so.1
246      librte_bus_fslmc.so.1
247      librte_bus_pci.so.1
248      librte_bus_vdev.so.1
249    + librte_bus_vmbus.so.1
250      librte_cfgfile.so.2
251      librte_cmdline.so.2
252      librte_common_octeontx.so.1
253      librte_compressdev.so.1
254    + librte_cryptodev.so.5
255      librte_distributor.so.1
256      librte_eal.so.7
257    + librte_ethdev.so.10
258      librte_eventdev.so.4
259      librte_flow_classify.so.1
260      librte_gro.so.1
261      librte_gso.so.1
262      librte_hash.so.2
263      librte_ip_frag.so.1
264      librte_jobstats.so.1
265      librte_kni.so.2
266      librte_kvargs.so.1
267      librte_latencystats.so.1
268      librte_lpm.so.2
269      librte_mbuf.so.4
270    + librte_mempool.so.5
271      librte_meter.so.2
272      librte_metrics.so.1
273      librte_net.so.1
274      librte_pci.so.1
275      librte_pdump.so.2
276      librte_pipeline.so.3
277      librte_pmd_bnxt.so.2
278      librte_pmd_bond.so.2
279      librte_pmd_i40e.so.2
280      librte_pmd_ixgbe.so.2
281      librte_pmd_dpaa2_cmdif.so.1
282      librte_pmd_dpaa2_qdma.so.1
283      librte_pmd_ring.so.2
284      librte_pmd_softnic.so.1
285      librte_pmd_vhost.so.2
286      librte_port.so.3
287      librte_power.so.1
288      librte_rawdev.so.1
289      librte_reorder.so.1
290      librte_ring.so.2
291      librte_sched.so.1
292      librte_security.so.1
293      librte_table.so.3
294      librte_timer.so.1
295      librte_vhost.so.3
296
297
298 Known Issues
299 ------------
300
301 .. This section should contain new known issues in this release. Sample format:
302
303    * **Add title in present tense with full stop.**
304
305      Add a short 1-2 sentence description of the known issue
306      in the present tense. Add information on any known workarounds.
307
308    This section is a comment. Do not overwrite or remove it.
309    Also, make sure to start the actual text at the margin.
310    =========================================================
311
312
313 Tested Platforms
314 ----------------
315
316 .. This section should contain a list of platforms that were tested
317    with this release.
318
319    The format is:
320
321    * <vendor> platform with <vendor> <type of devices> combinations
322
323      * List of CPU
324      * List of OS
325      * List of devices
326      * Other relevant details...
327
328    This section is a comment. Do not overwrite or remove it.
329    Also, make sure to start the actual text at the margin.
330    =========================================================