net/ice: rework switch filter
[dpdk.git] / doc / guides / rel_notes / release_19_11.rst
1 ..  SPDX-License-Identifier: BSD-3-Clause
2     Copyright 2019 The DPDK contributors
3
4 .. include:: <isonum.txt>
5
6 DPDK Release 19.11
7 ==================
8
9 .. **Read this first.**
10
11    The text in the sections below explains how to update the release notes.
12
13    Use proper spelling, capitalization and punctuation in all sections.
14
15    Variable and config names should be quoted as fixed width text:
16    ``LIKE_THIS``.
17
18    Build the docs and view the output file to ensure the changes are correct::
19
20       make doc-guides-html
21
22       xdg-open build/doc/html/guides/rel_notes/release_19_11.html
23
24
25 New Features
26 ------------
27
28 .. This section should contain new features added in this release.
29    Sample format:
30
31    * **Add a title in the past tense with a full stop.**
32
33      Add a short 1-2 sentence description in the past tense.
34      The description should be enough to allow someone scanning
35      the release notes to understand the new feature.
36
37      If the feature adds a lot of sub-features you can use a bullet list
38      like this:
39
40      * Added feature foo to do something.
41      * Enhanced feature bar to do something else.
42
43      Refer to the previous release notes for examples.
44
45      Suggested order in release notes items:
46      * Core libs (EAL, mempool, ring, mbuf, buses)
47      * Device abstraction libs and PMDs
48        - ethdev (lib, PMDs)
49        - cryptodev (lib, PMDs)
50        - eventdev (lib, PMDs)
51        - etc
52      * Other libs
53      * Apps, Examples, Tools (if significant)
54
55      This section is a comment. Do not overwrite or remove it.
56      Also, make sure to start the actual text at the margin.
57      =========================================================
58
59 * **FreeBSD now supports `--base-virtaddr` EAL option.**
60
61   FreeBSD version now also supports setting base virtual address for mapping
62   pages and resources into its address space.
63
64 * **Added Lock-free Stack for aarch64.**
65
66   The lock-free stack implementation is enabled for aarch64 platforms.
67
68 * **Updated the enic driver.**
69
70   * Added support for Geneve with options offload.
71   * Added flow API implementation based on VIC Flow Manager API.
72
73 * **Added Hisilicon hns3 PMD.**
74
75   Added the new ``hns3`` net driver for the inbuilt Hisilicon Network
76   Subsystem 3(HNS3) network engine found in the Hisilicon Kunpeng 920 SoC.
77   See the :doc:`../nics/hns3` guide for more details on this new driver.
78
79 * **Added NXP PFE PMD.**
80
81   Added the new PFE driver for the NXP LS1012A platform. See the
82   :doc:`../nics/pfe` NIC driver guide for more details on this new driver.
83
84 * **Updated the Intel e1000 driver.**
85
86   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
87
88 * **Updated the Intel ixgbe driver.**
89
90   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
91
92 * **Updated the Intel i40e driver.**
93
94   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
95
96 * **Updated the Intel fm10k driver.**
97
98   Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
99
100 * **Added RX/TX packet burst mode get API.**
101
102   Added two new functions ``rte_eth_rx_burst_mode_get`` and
103   ``rte_eth_tx_burst_mode_get`` that allow an application
104   to retrieve the mode information about RX/TX packet burst
105   such as Scalar or Vector, and Vector technology like AVX2.
106   Another new function ``rte_eth_burst_mode_option_name`` is
107   provided for burst mode options stringification.
108
109 * **Updated the Intel ice driver.**
110
111   Updated the Intel ice driver with new features and improvements, including:
112
113   * Added support for device-specific DDP package loading.
114   * Added support for handling Receive Flex Descriptor.
115   * Added support for protocol extraction on per Rx queue.
116   * Added support for the ``RTE_ETH_DEV_CLOSE_REMOVE`` flag.
117   * Generic filter enhancement
118     - Supported pipeline mode.
119     - Supported new packet type like PPPoE for switch filter.
120
121 * **Added cryptodev asymmetric session-less operation.**
122
123   Added session-less option to cryptodev asymmetric structure. It works the same
124   way as symmetric crypto, corresponding xform is used directly by the crypto op.
125
126 * **Updated the Huawei hinic driver.**
127
128   Updated the Huawei hinic driver with new features and improvements, including:
129
130   * Enabled SR-IOV - Partially supported at this point, VFIO only.
131   * Supported VLAN filter and VLAN offload.
132   * Supported Unicast MAC filter and Multicast MAC filter.
133   * Supported Flow director for LACP, VRRP, BGP and so on.
134   * Supported FW version get.
135
136 * **Added Marvell NITROX symmetric crypto PMD.**
137
138   Added a symmetric crypto PMD for Marvell NITROX V security processor.
139   See the :doc:`../cryptodevs/nitrox` guide for more details on this new
140
141 * **Added asymmetric support to Marvell OCTEON TX crypto PMD.**
142
143   Added support for asymmetric operations in Marvell OCTEON TX cypto PMD.
144   Supports RSA and modexp operations.
145
146 * **Added Marvell OCTEON TX2 crypto PMD**
147
148   Added a new PMD driver for h/w crypto offload block on ``OCTEON TX2`` SoC.
149
150   See :doc:`../cryptodevs/octeontx2` for more details
151
152 * **Updated NXP crypto PMDs for PDCP support.**
153
154   PDCP support is added to DPAA_SEC and DPAA2_SEC PMDs using rte_security APIs.
155   Support is added for all sequence number sizes for control and user plane.
156   Test application is updated for unit testing.
157
158 * **Enabled Single Pass GCM acceleration on QAT GEN3.**
159
160   Added support for Single Pass GCM, available on QAT GEN3 only (Intel
161   QuickAssist Technology C4xxx). It is automatically chosen instead of the
162   classic 2-pass mode when running on QAT GEN3, significantly improving
163   the performance of AES GCM operations.
164
165 * **Updated the Intel QuickAssist Technology (QAT) asymmetric crypto PMD.**
166
167   * Added support for asymmetric session-less operations.
168   * Added support for RSA algorithm with pair (n, d) private key representation.
169   * Added support for RSA algorithm with quintuple private key representation.
170
171 * **Updated the Intel QuickAssist Technology (QAT) compression PMD.**
172
173   Added stateful decompression support in the Intel QuickAssist Technology PMD.
174   Please note that stateful compression is not supported.
175
176 * **Added external buffers support for dpdk-test-compress-perf tool.**
177
178   Added a command line option to dpdk-test-compress-perf tool to allocate
179   and use memory zones as external buffers instead of keeping the data directly
180   in mbuf areas.
181
182 * **Updated the IPSec library.**
183
184   Added SA Database API to ``librte_ipsec``. A new test-sad application is also
185   introduced to evaluate and perform custom functional and performance tests
186   for IPsec SAD implementation.
187
188 * **Introduced FIFO for NTB PMD.**
189
190   Introduced FIFO for NTB (Non-transparent Bridge) PMD to support
191   packet based processing.
192
193 * **Added eBPF JIT support for arm64.**
194
195   Added eBPF JIT support for arm64 architecture to improve the eBPF program
196   performance.
197
198 * **Updated testpmd.**
199
200   * Added a console command to testpmd app, ``show port (port_id) ptypes`` which
201     gives ability to print port supported ptypes in different protocol layers.
202
203
204 Removed Items
205 -------------
206
207 .. This section should contain removed items in this release. Sample format:
208
209    * Add a short 1-2 sentence description of the removed item
210      in the past tense.
211
212    This section is a comment. Do not overwrite or remove it.
213    Also, make sure to start the actual text at the margin.
214    =========================================================
215
216 * Removed duplicated set of commands for Rx offload configuration from testpmd::
217
218     port config all crc-strip|scatter|rx-cksum|rx-timestamp|
219                     hw-vlan|hw-vlan-filter|hw-vlan-strip|hw-vlan-extend on|off
220
221   The testpmd commands set that can be used instead
222   in order to enable or disable Rx offloading on all Rx queues of a port is::
223
224     port config <port_id> rx_offload crc_strip|scatter|
225                                      ipv4_cksum|udp_cksum|tcp_cksum|timestamp|
226                                      vlan_strip|vlan_filter|vlan_extend on|off
227
228
229 API Changes
230 -----------
231
232 .. This section should contain API changes. Sample format:
233
234    * sample: Add a short 1-2 sentence description of the API change
235      which was announced in the previous releases and made in this release.
236      Start with a scope label like "ethdev:".
237      Use fixed width quotes for ``function_names`` or ``struct_names``.
238      Use the past tense.
239
240    This section is a comment. Do not overwrite or remove it.
241    Also, make sure to start the actual text at the margin.
242    =========================================================
243
244 * ethdev: changed ``rte_eth_dev_infos_get`` return value from ``void`` to
245   ``int`` to provide a way to report various error conditions.
246
247 * ethdev: changed ``rte_eth_promiscuous_enable`` and
248   ``rte_eth_promiscuous_disable`` return value from ``void`` to ``int`` to
249   provide a way to report various error conditions.
250
251 * ethdev: changed ``rte_eth_allmulticast_enable`` and
252   ``rte_eth_allmulticast_disable`` return value from ``void`` to ``int`` to
253   provide a way to report various error conditions.
254
255 * ethdev: changed ``rte_eth_dev_xstats_reset`` return value from ``void`` to
256   ``int`` to provide a way to report various error conditions.
257
258 * ethdev: changed ``rte_eth_link_get`` and ``rte_eth_link_get_nowait``
259   return value from ``void`` to ``int`` to provide a way to report various
260   error conditions.
261
262 * ethdev: changed ``rte_eth_macaddr_get`` return value from ``void`` to
263   ``int`` to provide a way to report various error conditions.
264
265 * ethdev: changed ``rte_eth_dev_owner_delete`` return value from ``void`` to
266   ``int`` to provide a way to report various error conditions.
267
268 * event: The function ``rte_event_eth_tx_adapter_enqueue`` takes an additional
269   input as ``flags``. Flag ``RTE_EVENT_ETH_TX_ADAPTER_ENQUEUE_SAME_DEST`` which
270   has been introduced in this release is used when used when all the packets
271   enqueued in the tx adapter are destined for the same Ethernet port & Tx queue.
272
273
274 ABI Changes
275 -----------
276
277 .. This section should contain ABI changes. Sample format:
278
279    * sample: Add a short 1-2 sentence description of the ABI change
280      which was announced in the previous releases and made in this release.
281      Start with a scope label like "ethdev:".
282      Use fixed width quotes for ``function_names`` or ``struct_names``.
283      Use the past tense.
284
285    This section is a comment. Do not overwrite or remove it.
286    Also, make sure to start the actual text at the margin.
287    =========================================================
288
289
290 Shared Library Versions
291 -----------------------
292
293 .. Update any library version updated in this release
294    and prepend with a ``+`` sign, like this:
295
296      libfoo.so.1
297    + libupdated.so.2
298      libbar.so.1
299
300    This section is a comment. Do not overwrite or remove it.
301    =========================================================
302
303 The libraries prepended with a plus sign were incremented in this version.
304
305 .. code-block:: diff
306
307      librte_acl.so.2
308      librte_bbdev.so.1
309      librte_bitratestats.so.2
310      librte_bpf.so.1
311      librte_bus_dpaa.so.2
312      librte_bus_fslmc.so.2
313      librte_bus_ifpga.so.2
314      librte_bus_pci.so.2
315      librte_bus_vdev.so.2
316      librte_bus_vmbus.so.2
317      librte_cfgfile.so.2
318      librte_cmdline.so.2
319      librte_compressdev.so.1
320      librte_cryptodev.so.8
321      librte_distributor.so.1
322      librte_eal.so.11
323      librte_efd.so.1
324    + librte_ethdev.so.13
325    + librte_eventdev.so.8
326      librte_flow_classify.so.1
327      librte_gro.so.1
328      librte_gso.so.1
329      librte_hash.so.2
330      librte_ip_frag.so.1
331      librte_ipsec.so.1
332      librte_jobstats.so.1
333      librte_kni.so.2
334      librte_kvargs.so.1
335      librte_latencystats.so.1
336      librte_lpm.so.2
337      librte_mbuf.so.5
338      librte_member.so.1
339      librte_mempool.so.5
340      librte_meter.so.3
341      librte_metrics.so.1
342      librte_net.so.1
343      librte_pci.so.1
344      librte_pdump.so.3
345      librte_pipeline.so.3
346      librte_pmd_bnxt.so.2
347      librte_pmd_bond.so.2
348      librte_pmd_i40e.so.2
349      librte_pmd_ixgbe.so.2
350      librte_pmd_dpaa2_qdma.so.1
351      librte_pmd_ring.so.2
352      librte_pmd_softnic.so.1
353      librte_pmd_vhost.so.2
354      librte_port.so.3
355      librte_power.so.1
356      librte_rawdev.so.1
357      librte_rcu.so.1
358      librte_reorder.so.1
359      librte_ring.so.2
360      librte_sched.so.3
361      librte_security.so.2
362      librte_stack.so.1
363      librte_table.so.3
364      librte_timer.so.1
365      librte_vhost.so.4
366
367
368 Known Issues
369 ------------
370
371 .. This section should contain new known issues in this release. Sample format:
372
373    * **Add title in present tense with full stop.**
374
375      Add a short 1-2 sentence description of the known issue
376      in the present tense. Add information on any known workarounds.
377
378    This section is a comment. Do not overwrite or remove it.
379    Also, make sure to start the actual text at the margin.
380    =========================================================
381
382
383 Tested Platforms
384 ----------------
385
386 .. This section should contain a list of platforms that were tested
387    with this release.
388
389    The format is:
390
391    * <vendor> platform with <vendor> <type of devices> combinations
392
393      * List of CPU
394      * List of OS
395      * List of devices
396      * Other relevant details...
397
398    This section is a comment. Do not overwrite or remove it.
399    Also, make sure to start the actual text at the margin.
400    =========================================================
401
402 * **Updated Mellanox mlx5 driver.**
403
404   Updated Mellanox mlx5 driver with new features and improvements, including:
405
406   * Added support for VLAN pop flow offload command.
407   * Added support for VLAN push flow offload command.
408   * Added support for VLAN set PCP offload command.
409   * Added support for VLAN set VID offload command.
410