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