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