X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Frel_notes%2Frelease_19_05.rst;h=30f704e204b060cd7c60eb4def7f8fec5858c4a3;hb=327fcd2d3842eb8c86c18a815e1865e280356dbb;hp=36064692aaa7f72e5c843705ec42f893b1c3cbf5;hpb=c01c748e4ae6db0baeb73dd1d780320d431fe6d6;p=dpdk.git diff --git a/doc/guides/rel_notes/release_19_05.rst b/doc/guides/rel_notes/release_19_05.rst index 36064692aa..30f704e204 100644 --- a/doc/guides/rel_notes/release_19_05.rst +++ b/doc/guides/rel_notes/release_19_05.rst @@ -4,83 +4,56 @@ DPDK Release 19.05 ================== -.. **Read this first.** - - The text in the sections below explains how to update the release notes. - - Use proper spelling, capitalization and punctuation in all sections. - - Variable and config names should be quoted as fixed width text: - ``LIKE_THIS``. - - Build the docs and view the output file to ensure the changes are correct:: - - make doc-guides-html - - xdg-open build/doc/html/guides/rel_notes/release_19_05.html - - New Features ------------ -.. This section should contain new features added in this release. - Sample format: +* **Added new armv8 machine targets.** - * **Add a title in the past tense with a full stop.** + Added new armv8 machine targets: - Add a short 1-2 sentence description in the past tense. - The description should be enough to allow someone scanning - the release notes to understand the new feature. + * BlueField (Mellanox) + * OcteonTX2 (Marvell) + * ThunderX2 (Marvell) - If the feature adds a lot of sub-features you can use a bullet list - like this: +* **Added Windows Support.** - * Added feature foo to do something. - * Enhanced feature bar to do something else. + Added Windows support to build Hello World sample application. - Refer to the previous release notes for examples. +* **Added Stack Library.** - Suggested order in release notes items: - * Core libs (EAL, mempool, ring, mbuf, buses) - * Device abstraction libs and PMDs - - ethdev (lib, PMDs) - - cryptodev (lib, PMDs) - - eventdev (lib, PMDs) - - etc - * Other libs - * Apps, Examples, Tools (if significant) + Added a new stack library and APIs for configuration and use of a bounded + stack of pointers. The API provides multi-thread safe push and pop + operations that can operate on one or more pointers per operation. - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= - -* **Added Stack API.** - - Added a new stack API for configuration and use of a bounded stack of - pointers. The API provides MT-safe push and pop operations that can operate - on one or more pointers per operation. - - The library supports two stack implementations: standard (lock-based) and lock-free. - The lock-free implementation is currently limited to x86-64 platforms. + The library supports two stack implementations: standard (lock-based) and + lock-free. The lock-free implementation is currently limited to x86-64 + platforms. * **Added Lock-Free Stack Mempool Handler.** Added a new lock-free stack handler, which uses the newly added stack library. +* **Added RCU library.** + + Added RCU library supporting a quiescent state based memory reclamation method. + This library helps identify the quiescent state of the reader threads so + that the writers can free the memory associated with the lock free data + structures. + * **Updated KNI module and PMD.** - Updated the KNI kernel module to set the max_mtu according to the given + Updated the KNI kernel module to set the ``max_mtu`` according to the given initial MTU size. Without it, the maximum MTU was 1500. - Updated the KNI PMD driver to set the mbuf_size and MTU based on + Updated the KNI PMD driver to set the ``mbuf_size`` and MTU based on the given mb-pool. This provide the ability to pass jumbo frames - if the mb-pool contains suitable buffers' size. + if the mb-pool contains a suitable buffer size. * **Added the AF_XDP PMD.** - Added a Linux-specific PMD driver for AF_XDP, it can create the AF_XDP socket - and bind it to a specific netdev queue, it allows a DPDK application to send + Added a Linux-specific PMD driver for AF_XDP. This PMD can create an AF_XDP socket + and bind it to a specific netdev queue. It allows a DPDK application to send and receive raw packets through the socket which would bypass the kernel network stack to achieve high performance packet processing. @@ -91,31 +64,53 @@ New Features * **Added IPN3KE net PMD.** - Added the new ``ipn3ke`` net driver for Intel® FPGA PAC(Programmable + Added the new ``ipn3ke`` net driver for the Intel® FPGA PAC (Programmable Acceleration Card) N3000. See the :doc:`../nics/ipn3ke` NIC guide for more details on this new driver. - Aside from this, ifpga_rawdev is also updated to support Intel® FPGA PAC - N3000 with SPI interface access, I2C Read/Write and Ethernet PHY configuration. + In addition ``ifpga_rawdev`` was also updated to support Intel® FPGA PAC + N3000 with SPI interface access, I2C Read/Write, and Ethernet PHY configuration. * **Updated Solarflare network PMD.** - Updated the sfc_efx driver including the following changes: + Updated the Solarflare ``sfc_efx`` driver with changes including: * Added support for Rx descriptor status and related API in a secondary process. * Added support for Tx descriptor status API in a secondary process. - * Added support for RSS RETA and hash configuration get API in a secondary - process. + * Added support for RSS RETA and hash configuration reading API in a + secondary process. * Added support for Rx packet types list in a secondary process. * Added Tx prepare to do Tx offloads checks. * Added support for VXLAN and GENEVE encapsulated TSO. -* **Updated Mellanox drivers.** +* **Updated Mellanox mlx4 driver.** + + Updated Mellanox mlx4 driver with new features and improvements, including: + + * Added firmware version reading. + * Added support for secondary processes. + * Added support of per-process device registers. Reserving identical VA space + is not needed anymore. + * Added support for multicast address list interfaces. + +* **Updated Mellanox mlx5 driver.** - New features and improvements were done in mlx4 and mlx5 PMDs: + Updated Mellanox mlx5 driver with new features and improvements, including: * Added firmware version reading. + * Added support for new naming scheme of representor. + * Added support for new PCI device DMA map/unmap API. + * Added support for multiport InfiniBand device. + * Added control of excessive memory pinning by kernel. + * Added support of DMA memory registration by secondary process. + * Added support of per-process device registers. Reserving identical VA space + is not required anymore. + * Added support for jump action for both E-Switch and NIC. + * Added Support for multiple rte_flow groups in NIC steering. + * Flow engine re-designed to support large scale deployments. this includes: + * Support millions of offloaded flow rules. + * Fast flow insertion and deletion up to 1M flow update per second. * **Renamed avf to iavf.** @@ -125,6 +120,8 @@ New Features * **Updated the enic driver.** + Updated enic driver with new features and improvements, including: + * Fixed several flow (director) bugs related to MARK, SCTP, VLAN, VXLAN, and inner packet matching. * Added limited support for RAW. @@ -133,12 +130,12 @@ New Features * **Updated the ixgbe driver.** - New features for VF: - - * Added promiscuous mode support. + Updated the ixgbe driver to add promiscuous mode support for the VF. * **Updated the ice driver.** + Updated ice driver with new features and improvements, including: + * Added support of SSE and AVX2 instructions in Rx and Tx paths. * Added package download support. * Added Safe Mode support. @@ -146,29 +143,45 @@ New Features * **Updated the i40e driver.** - New features for PF: + New features for PF in the i40e driver: * Added support for VXLAN-GPE packet. * Added support for VXLAN-GPE classification. * **Updated the ENETC driver.** - New features: + Updated ENETC driver with new features and improvements, including: + + * Added physical addressing mode support. + * Added SXGMII interface support. + * Added basic statistics support. + * Added promiscuous and allmulticast mode support. + * Added MTU update support. + * Added jumbo frame support. + * Added queue start/stop. + * Added CRC offload support. + * Added Rx checksum offload validation support. + +* **Updated the atlantic PMD.** + + Added MACSEC hardware offload experimental API. - * Added physical addressing mode support - * Added SXGMII interface support - * Added basic statistics support - * Added promiscuous and allmulticast mode support - * Added MTU update support - * Added jumbo frame support - * Added queue start/stop - * Added CRC offload support - * Added Rx checksum offload validation support +* **Updated the Intel QuickAssist Technology (QAT) compression PMD.** -* **Updated the QuickAssist Technology PMD.** + Updated the Intel QuickAssist Technology (QAT) compression PMD to simplify, + and make more robust, the handling of Scatter Gather Lists (SGLs) with more + than 16 segments. + +* **Updated the QuickAssist Technology (QAT) symmetric crypto PMD.** Added support for AES-XTS with 128 and 256 bit AES keys. +* **Added Intel QuickAssist Technology PMD for asymmetric crypto.** + + Added a new QAT Crypto PMD which provides asymmetric cryptography + algorithms. Modular exponentiation and modular multiplicative + inverse algorithms were added in this release. + * **Updated AESNI-MB PMD.** Added support for out-of-place operations. @@ -176,70 +189,52 @@ New Features * **Updated the IPsec library.** The IPsec library has been updated with AES-CTR and 3DES-CBC cipher algorithms - support. The related ipsec-secgw test scripts have been added. + support. The related ``ipsec-secgw`` test scripts have been added. * **Updated the testpmd application.** - Improved testpmd application performance on ARM platform. For ``macswap`` - forwarding mode, NEON intrinsics were used to do swap to save CPU cycles. - + Improved the ``testpmd`` application performance on ARM platform. For ``macswap`` + forwarding mode, NEON intrinsics are now used to do swap to save CPU cycles. -Removed Items -------------- +* **Updated power management library.** -.. This section should contain removed items in this release. Sample format: + Added support for Intel Speed Select Technology - Base Frequency (SST-BF). + The ``rte_power_get_capabilities`` struct now has a bit in it's returned mask + indicating if it is a high frequency core. - * Add a short 1-2 sentence description of the removed item - in the past tense. +* **Updated distributor sample application.** - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= + Added support for the Intel SST-BF feature so that the distributor core is + pinned to a high frequency core if available. API Changes ----------- -.. This section should contain API changes. Sample format: - - * sample: Add a short 1-2 sentence description of the API change - which was announced in the previous releases and made in this release. - Start with a scope label like "ethdev:". - Use fixed width quotes for ``function_names`` or ``struct_names``. - Use the past tense. - - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= - * eal: the type of the ``attr_value`` parameter of the function ``rte_service_attr_get()`` has been changed from ``uint32_t *`` to ``uint64_t *``. -* meter: replace ``enum rte_meter_color`` in meter library with new - ``rte_color`` definition added in 19.02. To consolidate mulitple color - definitions replicated at many places such as: rte_mtr.h, rte_tm.h, - replacements with rte_color values are done. +* meter: replace ``enum rte_meter_color`` in the meter library with new + ``rte_color`` definition added in 19.02. Replacements with ``rte_color`` + values has been performed in many places such as ``rte_mtr.h`` and + ``rte_tm.h`` to consolidate multiple color definitions. * vfio: Functions ``rte_vfio_container_dma_map`` and ``rte_vfio_container_dma_unmap`` have been extended with an option to request mapping or un-mapping to the default vfio container fd. +* power: ``rte_power_set_env`` and ``rte_power_unset_env`` functions + have been modified to be thread safe. -ABI Changes ------------ - -.. This section should contain ABI changes. Sample format: +* timer: Functions have been introduced that allow multiple instances of the + timer lists to be created. In addition they are now allocated in shared + memory. New functions allow particular timer lists to be selected when + timers are being started, stopped, and managed. - * sample: Add a short 1-2 sentence description of the ABI change - which was announced in the previous releases and made in this release. - Start with a scope label like "ethdev:". - Use fixed width quotes for ``function_names`` or ``struct_names``. - Use the past tense. - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= +ABI Changes +----------- * ethdev: Additional fields in rte_eth_dev_info. @@ -248,27 +243,20 @@ ABI Changes The values of these fields can be set specifically by the PMD drivers as supported values can vary from device to device. -* cryptodev: in 18.08 new structure ``rte_crypto_asym_op`` was introduced and - included into ``rte_crypto_op``. As ``rte_crypto_asym_op`` structure was +* cryptodev: in 18.08 a new structure ``rte_crypto_asym_op`` was introduced and + included into ``rte_crypto_op``. As the ``rte_crypto_asym_op`` structure was defined as cache-line aligned that caused unintended changes in ``rte_crypto_op`` structure layout and alignment. Remove cache-line alignment for ``rte_crypto_asym_op`` to restore expected ``rte_crypto_op`` layout and alignment. +* timer: ``rte_timer_subsystem_init`` now returns success or failure to reflect + whether it was able to allocate memory. + Shared Library Versions ----------------------- -.. Update any library version updated in this release - and prepend with a ``+`` sign, like this: - - libfoo.so.1 - + libupdated.so.2 - libbar.so.1 - - This section is a comment. Do not overwrite or remove it. - ========================================================= - The libraries prepended with a plus sign were incremented in this version. .. code-block:: diff @@ -323,6 +311,7 @@ The libraries prepended with a plus sign were incremented in this version. librte_port.so.3 librte_power.so.1 librte_rawdev.so.1 + + librte_rcu.so.1 librte_reorder.so.1 librte_ring.so.2 librte_sched.so.2 @@ -336,16 +325,11 @@ The libraries prepended with a plus sign were incremented in this version. Known Issues ------------ -.. This section should contain new known issues in this release. Sample format: +* **On x86 platforms, AVX512 support is disabled with binutils 2.31.** - * **Add title in present tense with full stop.** - - Add a short 1-2 sentence description of the known issue - in the present tense. Add information on any known workarounds. - - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= + Due to a defect in binutils 2.31 AVX512 support is disabled. + DPDK defect: https://bugs.dpdk.org/show_bug.cgi?id=249 + GCC defect: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90028 * **No software AES-XTS implementation.** @@ -357,18 +341,278 @@ Known Issues Tested Platforms ---------------- -.. This section should contain a list of platforms that were tested - with this release. +* Intel(R) platforms with Intel(R) NICs combinations + + * CPU + + * Intel(R) Atom(TM) CPU C3758 @ 2.20GHz + * Intel(R) Xeon(R) CPU D-1541 @ 2.10GHz + * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz + * Intel(R) Xeon(R) CPU E5-2699 v3 @ 2.30GHz + * Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz + * Intel(R) Xeon(R) Platinum 8180 CPU @ 2.50GHz + * Intel(R) Xeon(R) Gold 6139 CPU @ 2.30GHz + + * OS: + + * CentOS 7.4 + * CentOS 7.5 + * Fedora 25 + * Fedora 28 + * Fedora 29 + * FreeBSD 12.0 + * Red Hat Enterprise Linux Server release 7.4 + * Red Hat Enterprise Linux Server release 7.5 + * Red Hat Enterprise Linux Server release 7.6 + * SUSE12SP3 + * Open SUSE 15 + * Wind River Linux 8 + * Ubuntu 14.04 + * Ubuntu 16.04 + * Ubuntu 16.10 + * Ubuntu 18.04 + * Ubuntu 18.10 + + * NICs: + + * Intel(R) 82599ES 10 Gigabit Ethernet Controller + + * Firmware version: 0x61bf0001 + * Device id (pf/vf): 8086:10fb / 8086:10ed + * Driver version: 5.2.3 (ixgbe) + + * Intel(R) Corporation Ethernet Connection X552/X557-AT 10GBASE-T + + * Firmware version: 0x800003e7 + * Device id (pf/vf): 8086:15ad / 8086:15a8 + * Driver version: 4.4.6 (ixgbe) + + * Intel Corporation Ethernet Controller 10G X550T + + * Firmware version: 0x80000482 + * Device id (pf): 8086:1563 + * Driver version: 5.1.0-k(ixgbe) + + * Intel(R) Ethernet Converged Network Adapter X710-DA4 (4x10G) + + * Firmware version: 6.80 0x80003cc1 + * Device id (pf/vf): 8086:1572 / 8086:154c + * Driver version: 2.7.29 (i40e) + + * Intel(R) Corporation Ethernet Connection X722 for 10GbE SFP+ (4x10G) + + * Firmware version: 3.33 0x80000fd5 0.0.0 + * Device id (pf/vf): 8086:37d0 / 8086:37cd + * Driver version: 2.7.29 (i40e) + + * Intel(R) Ethernet Converged Network Adapter XXV710-DA2 (2x25G) + + * Firmware version: 6.80 0x80003d05 + * Device id (pf/vf): 8086:158b / 8086:154c + * Driver version: 2.7.29 (i40e) + + * Intel(R) Ethernet Converged Network Adapter XL710-QDA2 (2X40G) + + * Firmware version: 6.80 0x80003cfb + * Device id (pf/vf): 8086:1583 / 8086:154c + * Driver version: 2.7.29 (i40e) + + * Intel(R) Corporation I350 Gigabit Network Connection + + * Firmware version: 1.63, 0x80000dda + * Device id (pf/vf): 8086:1521 / 8086:1520 + * Driver version: 5.4.0-k (igb) + + * Intel Corporation I210 Gigabit Network Connection + + * Firmware version: 3.25, 0x800006eb, 1.1824.0 + * Device id (pf): 8086:1533 + * Driver version: 5.4.0-k(igb) + +* Intel(R) platforms with Mellanox(R) NICs combinations + + * CPU: + + * Intel(R) Xeon(R) Gold 6154 CPU @ 3.00GHz + * Intel(R) Xeon(R) CPU E5-2697A v4 @ 2.60GHz + * Intel(R) Xeon(R) CPU E5-2697 v3 @ 2.60GHz + * Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz + * Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz + * Intel(R) Xeon(R) CPU E5-2640 @ 2.50GHz + * Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz + + * OS: + + * Red Hat Enterprise Linux Server release 7.6 (Maipo) + * Red Hat Enterprise Linux Server release 7.5 (Maipo) + * Red Hat Enterprise Linux Server release 7.4 (Maipo) + * Red Hat Enterprise Linux Server release 7.3 (Maipo) + * Red Hat Enterprise Linux Server release 7.2 (Maipo) + * Ubuntu 19.04 + * Ubuntu 18.10 + * Ubuntu 18.04 + * Ubuntu 16.04 + * SUSE Linux Enterprise Server 15 + + * MLNX_OFED: 4.5-1.0.1.0 + * MLNX_OFED: 4.6-1.0.1.1 + + * NICs: + + * Mellanox(R) ConnectX(R)-3 Pro 40G MCX354A-FCC_Ax (2x40G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1007 + * Firmware version: 2.42.5000 + + * Mellanox(R) ConnectX(R)-4 10G MCX4111A-XCAT (1x10G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 10G MCX4121A-XCAT (2x10G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 25G MCX4111A-ACAT (1x25G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 25G MCX4121A-ACAT (2x25G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 40G MCX4131A-BCAT/MCX413A-BCAT (1x40G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 40G MCX415A-BCAT (1x40G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 50G MCX4131A-GCAT/MCX413A-GCAT (1x50G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 50G MCX414A-BCAT (2x50G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 50G MCX415A-GCAT/MCX416A-BCAT/MCX416A-GCAT (2x50G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 50G MCX415A-CCAT (1x100G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 100G MCX416A-CCAT (2x100G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1013 + * Firmware version: 12.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 Lx 10G MCX4121A-XCAT (2x10G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1015 + * Firmware version: 14.25.1020 and above + + * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1015 + * Firmware version: 14.25.1020 and above + + * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1017 + * Firmware version: 16.25.1020 and above + + * Mellanox(R) ConnectX(R)-5 Ex EN 100G MCX516A-CDAT (2x100G) + + * Host interface: PCI Express 4.0 x16 + * Device ID: 15b3:1019 + * Firmware version: 16.25.1020 and above + +* Arm platforms with Mellanox(R) NICs combinations + + * CPU: + + * Qualcomm Arm 1.1 2500MHz + + * OS: + + * Red Hat Enterprise Linux Server release 7.5 (Maipo) + + * NICs: + + * Mellanox(R) ConnectX(R)-4 Lx 25G MCX4121A-ACAT (2x25G) + + * Host interface: PCI Express 3.0 x8 + * Device ID: 15b3:1015 + * Firmware version: 14.24.0220 + + * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1017 + * Firmware version: 16.24.0220 + +* Mellanox(R) BlueField SmartNIC + + * Mellanox(R) BlueField SmartNIC MT416842 (2x25G) + + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:a2d2 + * Firmware version: 18.25.1010 + + * SoC Arm cores running OS: + + * CentOS Linux release 7.4.1708 (AltArch) + * MLNX_OFED 4.6-1.0.0.0 + + * DPDK application running on Arm cores inside SmartNIC + +* IBM Power 9 platforms with Mellanox(R) NICs combinations + + * CPU: + + * POWER9 2.2 (pvr 004e 1202) 2300MHz + + * OS: + + * Ubuntu 18.04.1 LTS (Bionic Beaver) + + * NICs: - The format is: + * Mellanox(R) ConnectX(R)-5 100G MCX556A-ECAT (2x100G) - * platform with combinations + * Host interface: PCI Express 3.0 x16 + * Device ID: 15b3:1017 + * Firmware version: 16.24.1000 - * List of CPU - * List of OS - * List of devices - * Other relevant details... + * OFED: - This section is a comment. Do not overwrite or remove it. - Also, make sure to start the actual text at the margin. - ========================================================= + * MLNX_OFED_LINUX-4.6-1.0.1.0