1 .. SPDX-License-Identifier: BSD-3-Clause
2 Copyright 2019 The DPDK contributors
7 .. **Read this first.**
9 The text in the sections below explains how to update the release notes.
11 Use proper spelling, capitalization and punctuation in all sections.
13 Variable and config names should be quoted as fixed width text:
16 Build the docs and view the output file to ensure the changes are correct::
20 xdg-open build/doc/html/guides/rel_notes/release_19_05.html
26 .. This section should contain new features added in this release.
29 * **Add a title in the past tense with a full stop.**
31 Add a short 1-2 sentence description in the past tense.
32 The description should be enough to allow someone scanning
33 the release notes to understand the new feature.
35 If the feature adds a lot of sub-features you can use a bullet list
38 * Added feature foo to do something.
39 * Enhanced feature bar to do something else.
41 Refer to the previous release notes for examples.
43 Suggested order in release notes items:
44 * Core libs (EAL, mempool, ring, mbuf, buses)
45 * Device abstraction libs and PMDs
47 - cryptodev (lib, PMDs)
48 - eventdev (lib, PMDs)
51 * Apps, Examples, Tools (if significant)
53 This section is a comment. Do not overwrite or remove it.
54 Also, make sure to start the actual text at the margin.
55 =========================================================
57 * **Added new armv8 machine targets.**
59 Added new armv8 machine targets:
61 * BlueField (Mellanox)
65 * **Added Windows Support.**
67 Added Windows support to build Hello World sample application.
69 * **Added Stack Library.**
71 Added a new stack library and APIs for configuration and use of a bounded
72 stack of pointers. The API provides multi-thread safe push and pop
73 operations that can operate on one or more pointers per operation.
75 The library supports two stack implementations: standard (lock-based) and
76 lock-free. The lock-free implementation is currently limited to x86-64
79 * **Added Lock-Free Stack Mempool Handler.**
81 Added a new lock-free stack handler, which uses the newly added stack
84 * **Added RCU library.**
86 Added RCU library supporting a quiescent state based memory reclamation method.
87 This library helps identify the quiescent state of the reader threads so
88 that the writers can free the memory associated with the lock free data
91 * **Updated KNI module and PMD.**
93 Updated the KNI kernel module to set the ``max_mtu`` according to the given
94 initial MTU size. Without it, the maximum MTU was 1500.
96 Updated the KNI PMD driver to set the ``mbuf_size`` and MTU based on
97 the given mb-pool. This provide the ability to pass jumbo frames
98 if the mb-pool contains a suitable buffer size.
100 * **Added the AF_XDP PMD.**
102 Added a Linux-specific PMD driver for AF_XDP. This PMD can create an AF_XDP socket
103 and bind it to a specific netdev queue. It allows a DPDK application to send
104 and receive raw packets through the socket which would bypass the kernel
105 network stack to achieve high performance packet processing.
107 * **Added a net PMD NFB.**
109 Added the new ``nfb`` net driver for Netcope NFB cards. See
110 the :doc:`../nics/nfb` NIC guide for more details on this new driver.
112 * **Added IPN3KE net PMD.**
114 Added the new ``ipn3ke`` net driver for the IntelĀ® FPGA PAC (Programmable
115 Acceleration Card) N3000. See the :doc:`../nics/ipn3ke` NIC guide for more
116 details on this new driver.
118 In addition ``ifpga_rawdev`` was also updated to support IntelĀ® FPGA PAC
119 N3000 with SPI interface access, I2C Read/Write, and Ethernet PHY configuration.
121 * **Updated Solarflare network PMD.**
123 Updated the Solarflare ``sfc_efx`` driver with changes including:
125 * Added support for Rx descriptor status and related API in a secondary
127 * Added support for Tx descriptor status API in a secondary process.
128 * Added support for RSS RETA and hash configuration reading API in a
130 * Added support for Rx packet types list in a secondary process.
131 * Added Tx prepare to do Tx offloads checks.
132 * Added support for VXLAN and GENEVE encapsulated TSO.
134 * **Updated Mellanox mlx4 driver.**
136 Updated Mellanox mlx4 driver with new features and improvements, including:
138 * Added firmware version reading.
139 * Added support for secondary processes.
140 * Added support of per-process device registers. Reserving identical VA space
141 is not needed anymore.
142 * Added support for multicast address list interfaces.
144 * **Updated Mellanox mlx5 driver.**
146 Updated Mellanox mlx5 driver with new features and improvements, including:
148 * Added firmware version reading.
149 * Added support for new naming scheme of representor.
150 * Added support for new PCI device DMA map/unmap API.
151 * Added support for multiport InfiniBand device.
152 * Added control of excessive memory pinning by kernel.
153 * Added support of DMA memory registration by secondary process.
154 * Added support of per-process device registers. Reserving identical VA space
155 is not required anymore.
156 * Added support for jump action for both E-Switch and NIC.
157 * Added Support for multiple rte_flow groups in NIC steering.
158 * Flow engine re-designed to support large scale deployments. this includes:
159 * Support millions of offloaded flow rules.
160 * Fast flow insertion and deletion up to 1M flow update per second.
162 * **Renamed avf to iavf.**
164 Renamed Intel Ethernet Adaptive Virtual Function driver ``avf`` to ``iavf``,
165 which includes the directory name, lib name, filenames, makefile, docs,
166 macros, functions, structs and any other strings in the code.
168 * **Updated the enic driver.**
170 Updated enic driver with new features and improvements, including:
172 * Fixed several flow (director) bugs related to MARK, SCTP, VLAN, VXLAN, and
173 inner packet matching.
174 * Added limited support for RAW.
175 * Added limited support for RSS.
176 * Added limited support for PASSTHRU.
178 * **Updated the ixgbe driver.**
180 Updated the ixgbe driver to add promiscuous mode support for the VF.
182 * **Updated the ice driver.**
184 Updated ice driver with new features and improvements, including:
186 * Added support of SSE and AVX2 instructions in Rx and Tx paths.
187 * Added package download support.
188 * Added Safe Mode support.
189 * Supported RSS for UPD/TCP/SCTP+IPV4/IPV6 packets.
191 * **Updated the i40e driver.**
193 New features for PF in the i40e driver:
195 * Added support for VXLAN-GPE packet.
196 * Added support for VXLAN-GPE classification.
198 * **Updated the ENETC driver.**
200 Updated ENETC driver with new features and improvements, including:
202 * Added physical addressing mode support.
203 * Added SXGMII interface support.
204 * Added basic statistics support.
205 * Added promiscuous and allmulticast mode support.
206 * Added MTU update support.
207 * Added jumbo frame support.
208 * Added queue start/stop.
209 * Added CRC offload support.
210 * Added Rx checksum offload validation support.
212 * **Updated the atlantic PMD.**
214 Added MACSEC hardware offload experimental API.
216 * **Updated the Intel QuickAssist Technology (QAT) compression PMD.**
218 Updated the Intel QuickAssist Technology (QAT) compression PMD to simplify,
219 and make more robust, the handling of Scatter Gather Lists (SGLs) with more
222 * **Updated the QuickAssist Technology (QAT) symmetric crypto PMD.**
224 Added support for AES-XTS with 128 and 256 bit AES keys.
226 * **Added Intel QuickAssist Technology PMD for asymmetric crypto.**
228 Added a new QAT Crypto PMD which provides asymmetric cryptography
229 algorithms. Modular exponentiation and modular multiplicative
230 inverse algorithms were added in this release.
232 * **Updated AESNI-MB PMD.**
234 Added support for out-of-place operations.
236 * **Updated the IPsec library.**
238 The IPsec library has been updated with AES-CTR and 3DES-CBC cipher algorithms
239 support. The related ``ipsec-secgw`` test scripts have been added.
241 * **Updated the testpmd application.**
243 Improved the ``testpmd`` application performance on ARM platform. For ``macswap``
244 forwarding mode, NEON intrinsics are now used to do swap to save CPU cycles.
246 * **Updated power management library.**
248 Added support for Intel Speed Select Technology - Base Frequency (SST-BF).
249 The ``rte_power_get_capabilities`` struct now has a bit in it's returned mask
250 indicating if it is a high frequency core.
252 * **Updated distributor sample application.**
254 Added support for the Intel SST-BF feature so that the distributor core is
255 pinned to a high frequency core if available.
261 .. This section should contain API changes. Sample format:
263 * sample: Add a short 1-2 sentence description of the API change
264 which was announced in the previous releases and made in this release.
265 Start with a scope label like "ethdev:".
266 Use fixed width quotes for ``function_names`` or ``struct_names``.
269 This section is a comment. Do not overwrite or remove it.
270 Also, make sure to start the actual text at the margin.
271 =========================================================
273 * eal: the type of the ``attr_value`` parameter of the function
274 ``rte_service_attr_get()`` has been changed
275 from ``uint32_t *`` to ``uint64_t *``.
277 * meter: replace ``enum rte_meter_color`` in the meter library with new
278 ``rte_color`` definition added in 19.02. Replacements with ``rte_color``
279 values has been performed in many places such as ``rte_mtr.h`` and
280 ``rte_tm.h`` to consolidate multiple color definitions.
282 * vfio: Functions ``rte_vfio_container_dma_map`` and
283 ``rte_vfio_container_dma_unmap`` have been extended with an option to
284 request mapping or un-mapping to the default vfio container fd.
286 * power: ``rte_power_set_env`` and ``rte_power_unset_env`` functions
287 have been modified to be thread safe.
289 * timer: Functions have been introduced that allow multiple instances of the
290 timer lists to be created. In addition they are now allocated in shared
291 memory. New functions allow particular timer lists to be selected when
292 timers are being started, stopped, and managed.
298 .. This section should contain ABI changes. Sample format:
300 * sample: Add a short 1-2 sentence description of the ABI change
301 which was announced in the previous releases and made in this release.
302 Start with a scope label like "ethdev:".
303 Use fixed width quotes for ``function_names`` or ``struct_names``.
306 This section is a comment. Do not overwrite or remove it.
307 Also, make sure to start the actual text at the margin.
308 =========================================================
310 * ethdev: Additional fields in rte_eth_dev_info.
312 The ``rte_eth_dev_info`` structure has had two extra fields
313 added: ``min_mtu`` and ``max_mtu``. Each of these are of type ``uint16_t``.
314 The values of these fields can be set specifically by the PMD drivers as
315 supported values can vary from device to device.
317 * cryptodev: in 18.08 a new structure ``rte_crypto_asym_op`` was introduced and
318 included into ``rte_crypto_op``. As the ``rte_crypto_asym_op`` structure was
319 defined as cache-line aligned that caused unintended changes in
320 ``rte_crypto_op`` structure layout and alignment. Remove cache-line
321 alignment for ``rte_crypto_asym_op`` to restore expected ``rte_crypto_op``
322 layout and alignment.
324 * timer: ``rte_timer_subsystem_init`` now returns success or failure to reflect
325 whether it was able to allocate memory.
328 Shared Library Versions
329 -----------------------
331 .. Update any library version updated in this release
332 and prepend with a ``+`` sign, like this:
338 This section is a comment. Do not overwrite or remove it.
339 =========================================================
341 The libraries prepended with a plus sign were incremented in this version.
347 librte_bitratestats.so.2
350 librte_bus_fslmc.so.2
351 librte_bus_ifpga.so.2
354 librte_bus_vmbus.so.2
357 librte_compressdev.so.1
358 + librte_cryptodev.so.7
359 librte_distributor.so.1
362 + librte_ethdev.so.12
364 librte_flow_classify.so.1
373 librte_latencystats.so.1
387 librte_pmd_ixgbe.so.2
388 librte_pmd_dpaa2_qdma.so.1
390 librte_pmd_softnic.so.1
391 librte_pmd_vhost.so.2
409 .. This section should contain new known issues in this release. Sample format:
411 * **Add title in present tense with full stop.**
413 Add a short 1-2 sentence description of the known issue
414 in the present tense. Add information on any known workarounds.
416 This section is a comment. Do not overwrite or remove it.
417 Also, make sure to start the actual text at the margin.
418 =========================================================
420 * **On x86 platforms, AVX512 support is disabled with binutils 2.31.**
422 Due to a defect in binutils 2.31 AVX512 support is disabled.
423 DPDK defect: https://bugs.dpdk.org/show_bug.cgi?id=249
424 GCC defect: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028
426 * **No software AES-XTS implementation.**
428 There are currently no cryptodev software PMDs available which implement
429 support for the AES-XTS algorithm, so this feature can only be used
430 if compatible hardware and an associated PMD is available.
436 .. This section should contain a list of platforms that were tested
441 * <vendor> platform with <vendor> <type of devices> combinations
446 * Other relevant details...
448 This section is a comment. Do not overwrite or remove it.
449 Also, make sure to start the actual text at the margin.
450 =========================================================
452 * Intel(R) platforms with Intel(R) NICs combinations
456 * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz
457 * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz
458 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
459 * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz
460 * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
461 * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz
462 * Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz
472 * Red Hat Enterprise Linux Server release 7.4
473 * Red Hat Enterprise Linux Server release 7.5
474 * Red Hat Enterprise Linux Server release 7.6
486 * Intel(R) 82599ES 10 Gigabit Ethernet Controller
488 * Firmware version: 0x61bf0001
489 * Device id (pf/vf): 8086:10fb / 8086:10ed
490 * Driver version: 5.2.3 (ixgbe)
492 * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T
494 * Firmware version: 0x800003e7
495 * Device id (pf/vf): 8086:15ad / 8086:15a8
496 * Driver version: 4.4.6 (ixgbe)
498 * Intel Corporation Ethernet Controller 10G X550T
500 * Firmware version: 0x80000482
501 * Device id (pf): 8086:1563
502 * Driver version: 5.1.0-k(ixgbe)
504 * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G)
506 * Firmware version: 6.80 0x80003cc1
507 * Device id (pf/vf): 8086:1572 / 8086:154c
508 * Driver version: 2.7.29 (i40e)
510 * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G)
512 * Firmware version: 3.33 0x80000fd5 0.0.0
513 * Device id (pf/vf): 8086:37d0 / 8086:37cd
514 * Driver version: 2.7.29 (i40e)
516 * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
518 * Firmware version: 6.80 0x80003d05
519 * Device id (pf/vf): 8086:158b / 8086:154c
520 * Driver version: 2.7.29 (i40e)
522 * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
524 * Firmware version: 6.80 0x80003cfb
525 * Device id (pf/vf): 8086:1583 / 8086:154c
526 * Driver version: 2.7.29 (i40e)
528 * Intel(R) Corporation I350 Gigabit Network Connection
530 * Firmware version: 1.63, 0x80000dda
531 * Device id (pf/vf): 8086:1521 / 8086:1520
532 * Driver version: 5.4.0-k (igb)
534 * Intel Corporation I210 Gigabit Network Connection
536 * Firmware version: 3.25, 0x800006eb, 1.1824.0
537 * Device id (pf): 8086:1533
538 * Driver version: 5.4.0-k(igb)
540 * Intel(R) platforms with Mellanox(R) NICs combinations
544 * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz
545 * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz
546 * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz
547 * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
548 * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz
549 * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz
550 * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
554 * Red Hat Enterprise Linux Server release 7.6 (Maipo)
555 * Red Hat Enterprise Linux Server release 7.5 (Maipo)
556 * Red Hat Enterprise Linux Server release 7.4 (Maipo)
557 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
558 * Red Hat Enterprise Linux Server release 7.2 (Maipo)
563 * SUSE Linux Enterprise Server 15
565 * MLNX_OFED: 4.5-1.0.1.0
566 * MLNX_OFED: 4.6-1.0.1.1
570 * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G)
572 * Host interface: PCI Express 3.0 x8
573 * Device ID: 15b3:1007
574 * Firmware version: 2.42.5000
576 * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G)
578 * Host interface: PCI Express 3.0 x8
579 * Device ID: 15b3:1013
580 * Firmware version: 12.25.1020 and above
582 * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G)
584 * Host interface: PCI Express 3.0 x8
585 * Device ID: 15b3:1013
586 * Firmware version: 12.25.1020 and above
588 * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G)
590 * Host interface: PCI Express 3.0 x8
591 * Device ID: 15b3:1013
592 * Firmware version: 12.25.1020 and above
594 * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G)
596 * Host interface: PCI Express 3.0 x8
597 * Device ID: 15b3:1013
598 * Firmware version: 12.25.1020 and above
600 * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G)
602 * Host interface: PCI Express 3.0 x8
603 * Device ID: 15b3:1013
604 * Firmware version: 12.25.1020 and above
606 * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G)
608 * Host interface: PCI Express 3.0 x16
609 * Device ID: 15b3:1013
610 * Firmware version: 12.25.1020 and above
612 * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G)
614 * Host interface: PCI Express 3.0 x8
615 * Device ID: 15b3:1013
616 * Firmware version: 12.25.1020 and above
618 * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G)
620 * Host interface: PCI Express 3.0 x8
621 * Device ID: 15b3:1013
622 * Firmware version: 12.25.1020 and above
624 * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G)
626 * Host interface: PCI Express 3.0 x16
627 * Device ID: 15b3:1013
628 * Firmware version: 12.25.1020 and above
629 * Firmware version: 12.25.1020 and above
631 * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G)
633 * Host interface: PCI Express 3.0 x16
634 * Device ID: 15b3:1013
635 * Firmware version: 12.25.1020 and above
637 * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G)
639 * Host interface: PCI Express 3.0 x16
640 * Device ID: 15b3:1013
641 * Firmware version: 12.25.1020 and above
643 * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G)
645 * Host interface: PCI Express 3.0 x8
646 * Device ID: 15b3:1015
647 * Firmware version: 14.25.1020 and above
649 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
651 * Host interface: PCI Express 3.0 x8
652 * Device ID: 15b3:1015
653 * Firmware version: 14.25.1020 and above
655 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
657 * Host interface: PCI Express 3.0 x16
658 * Device ID: 15b3:1017
659 * Firmware version: 16.25.1020 and above
661 * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G)
663 * Host interface: PCI Express 4.0 x16
664 * Device ID: 15b3:1019
665 * Firmware version: 16.25.1020 and above
667 * Arm platforms with Mellanox(R) NICs combinations
671 * Qualcomm Arm 1.1 2500MHz
675 * Red Hat Enterprise Linux Server release 7.5 (Maipo)
679 * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G)
681 * Host interface: PCI Express 3.0 x8
682 * Device ID: 15b3:1015
683 * Firmware version: 14.24.0220
685 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
687 * Host interface: PCI Express 3.0 x16
688 * Device ID: 15b3:1017
689 * Firmware version: 16.24.0220
691 * Mellanox(R) BlueField SmartNIC
693 * Mellanox(R) BlueField SmartNIC MT416842 (2x25G)
695 * Host interface: PCI Express 3.0 x16
696 * Device ID: 15b3:a2d2
697 * Firmware version: 18.25.1010
699 * SoC Arm cores running OS:
701 * CentOS Linux release 7.4.1708 (AltArch)
702 * MLNX_OFED 4.6-1.0.0.0
704 * DPDK application running on Arm cores inside SmartNIC
706 * IBM Power 9 platforms with Mellanox(R) NICs combinations
710 * POWER9 2.2 (pvr 004e 1202) 2300MHz
714 * Ubuntu 18.04.1 LTS (Bionic Beaver)
718 * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G)
720 * Host interface: PCI Express 3.0 x16
721 * Device ID: 15b3:1017
722 * Firmware version: 16.24.1000
726 * MLNX_OFED_LINUX-4.6-1.0.1.0