From patchwork Tue Nov 24 20:40:47 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: John McNamara X-Patchwork-Id: 84523 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 67DCDA04DB; Tue, 24 Nov 2020 21:40:58 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E6A3EC932; Tue, 24 Nov 2020 21:40:55 +0100 (CET) Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 2EB96C92E for ; Tue, 24 Nov 2020 21:40:53 +0100 (CET) IronPort-SDR: q/TFlJ31BKbQb/J9A8K5LK0NwFHr0RdC0PPP7qkv0URGdRbkLz6hhMP76J/FcHGIrxMpcVYkAv VJnpxNjeP37w== X-IronPort-AV: E=McAfee;i="6000,8403,9815"; a="151853685" X-IronPort-AV: E=Sophos;i="5.78,367,1599548400"; d="scan'208";a="151853685" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Nov 2020 12:40:52 -0800 IronPort-SDR: 0Wj3CgQa8eaxTBjfuiZDdLV/4UoOMQbWQqDeqL5PRziT9bNB+i6Q7nvMKLqqva6IBXJwsDTZcH 6bOlGYgJoA3g== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.78,367,1599548400"; d="scan'208";a="362018012" Received: from silpixa00389815.ir.intel.com (HELO silpixa00389815.ger.corp.intel.com) ([10.237.223.46]) by fmsmga004.fm.intel.com with ESMTP; 24 Nov 2020 12:40:50 -0800 From: John McNamara To: dev@dpdk.org Cc: thomas@monjalon.net, John McNamara Date: Tue, 24 Nov 2020 20:40:47 +0000 Message-Id: <20201124204047.2415060-1-john.mcnamara@intel.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v1] doc: update release notes for 20.11 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Fix grammar, spelling and formatting of DPDK 20.11 release notes. Signed-off-by: John McNamara --- doc/guides/rel_notes/release_20_11.rst | 178 +++++++++++++------------ 1 file changed, 94 insertions(+), 84 deletions(-) diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst index ea70289af..2ce47614c 100644 --- a/doc/guides/rel_notes/release_20_11.rst +++ b/doc/guides/rel_notes/release_20_11.rst @@ -59,7 +59,7 @@ New Features Added ``rte_write32_wc`` and ``rte_write32_wc_relaxed`` APIs that enable write combining stores (depending on architecture). - The functions are provided as a generic stubs and + The functions are provided as a generic stub and x86 specific implementation. * **Added prefetch with intention to write APIs.** @@ -108,45 +108,50 @@ New Features * **Added the FEC API, for a generic FEC query and config.** Added the FEC API which provides functions for query FEC capabilities and - current FEC mode from device. Also, API for configuring FEC mode is also provided. + current FEC mode from device. An API for configuring FEC mode is also provided. * **Added thread safety to rte_flow functions.** - Added ``RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE`` device flag to indicate - whether PMD supports thread safe operations. If PMD doesn't set the flag, - rte_flow API level functions will protect the flow operations with mutex. + Added the ``RTE_ETH_DEV_FLOW_OPS_THREAD_SAFE`` device flag to indicate + whether a PMD supports thread safe operations. If the PMD doesn't set the flag, + the rte_flow API level functions will protect the flow operations with a mutex. * **Added flow-based traffic sampling support.** - Added new action: ``RTE_FLOW_ACTION_TYPE_SAMPLE`` to duplicate the matching - packets with specified ratio, and apply with own set of actions with a fate - action. When the ratio is set to 1 then the packets will be 100% mirrored. + Added a new action ``RTE_FLOW_ACTION_TYPE_SAMPLE`` that will sample the + incoming traffic and send a duplicated traffic with the specified ratio to + the application, while the original packet will continue to the target + destination. + + The packets sampling is '1/ratio'. A ratio value set to 1 means that the + packets will be completely mirrored. The sample packet can be assigned with + a different set of actions than the original packet. * **Added support of shared action in flow API.** - Added shared action support to utilize single flow action in multiple flow - rules. An update of shared action configuration alters the behavior of all + Added shared action support to use single flow actions in multiple flow + rules. An update to the shared action configuration alters the behavior of all flow rules using it. - * Added new action: ``RTE_FLOW_ACTION_TYPE_SHARED`` to use shared action - as flow action. - * Added new flow APIs to create/update/destroy/query shared action. + * Added a new action: ``RTE_FLOW_ACTION_TYPE_SHARED`` to use shared action + as a flow action. + * Added new flow APIs to create/update/destroy/query shared actions. -* **Flow rules allowed to use private PMD items / actions.** +* **Added support to flow rules to allow private PMD items/actions.** - * Flow rule verification was updated to accept private PMD + * Flow rule verification has been updated to accept private PMD items and actions. -* **Added generic API to offload tunneled traffic and restore missed packet.** +* **Added a generic API to offload tunneled traffic and restore missed packets.** - * Added a new hardware independent helper to flow API that + * Added a new hardware independent helper to the flow API that offloads tunneled traffic and restores missed packets. * **Updated the ethdev library to support hairpin between two ports.** - New APIs are introduced to support binding / unbinding 2 ports hairpin. - Hairpin Tx part flow rules can be inserted explicitly. - New API is added to get the hairpin peer ports list. + New APIs have been introduced to support binding / unbinding of 2 ports in a + hairpin configuration. The hairpin Tx part flow rules can be inserted + explicitly. A new API has been added to get the hairpin peer ports list. * **Updated the Amazon ena driver.** @@ -175,12 +180,12 @@ New Features * **Added hns3 FEC PMD, for supporting query and config FEC mode.** - Added the FEC PMD which provides functions for query FEC capabilities and - current FEC mode from device. Also, PMD for configuring FEC mode is also provided. + Added the FEC PMD which provides functions for querying FEC capabilities and + current FEC mode from a device. A PMD for configuring FEC mode is also provided. -* **Updated Intel iavf driver.** +* **Updated the Intel iavf driver.** - Updated iavf PMD with new features and improvements, including: + Updated the iavf PMD with new features and improvements, including: * Added support for flexible descriptor metadata extraction. * Added support for outer IP hash of GTPC and GTPU. @@ -189,12 +194,12 @@ New Features * **Updated Intel ice driver.** - * Used write combining stores. - * Added ACL filter support for Intel DCF. + * Added support for write combining stores. + * Added ACL filter support for the Intel DCF. -* **Updated Mellanox mlx5 driver.** +* **Updated the Mellanox mlx5 driver.** - Updated Mellanox mlx5 driver with new features and improvements, including: + Updated the Mellanox mlx5 driver with new features and improvements, including: * Added vectorized Multi-Packet Rx Queue burst. * Added support for 2 new miniCQE formats: Flow Tag and L3/L4 header. @@ -204,9 +209,9 @@ New Features * Added support for the new VLAN fields ``has_vlan`` in the Ethernet item and ``has_more_vlan`` in the VLAN item. * Updated the supported timeout for Age action to the maximal value supported - by rte_flow API. - * Added support of Age action query. - * Added support of multi-ports hairpin. + by the rte_flow API. + * Added support for Age action query. + * Added support for multi-ports hairpin. * Allow unknown link speed. Updated Mellanox mlx5 vDPA driver: @@ -221,7 +226,7 @@ New Features * Added Alveo SN1000 SmartNICs (EF100 architecture) support including flow API transfer rules for switch HW offload * Added ARMv8 support - * Claimed flow API native thread safety + * Added flow API native thread safety * **Added Wangxun txgbe PMD.** @@ -231,9 +236,9 @@ New Features * **Updated Virtio driver.** - * Added support for Vhost-vDPA backend to Virtio-user PMD. + * Added support for Vhost-vDPA backend to the Virtio-user PMD. * Changed default link speed to unknown. - * Added support for 200G link speed. + * Added support for the 200G link speed. * **Updated Intel i40e driver.** @@ -249,40 +254,40 @@ New Features * **Updated Memif PMD.** - * Added support for abstract socket address. + * Added support for abstract socket addresses. * Changed default socket address type to abstract. * **Added Ice Lake (Gen4) support for Intel NTB.** - Added NTB device support (4th generation) for Intel Ice Lake platform. + Added NTB device support (4th generation) for the Intel Ice Lake platform. * **Added UDP/IPv4 GRO support for VxLAN and non-VxLAN packets.** For VxLAN packets, added inner UDP/IPv4 support. For non-VxLAN packets, added UDP/IPv4 support. -* **Extended flow-perf application.** +* **Extended the flow-perf application.** - * Started supporting user order instead of bit mask: + * Added support for user order instead of bit mask. Now the user can create any structure of rte_flow - using flow performance application with any order, - moreover the app also now starts to support inner + using the flow performance application with any order. + Moreover the app also now starts to support inner items matching as well. * Added header modify actions. * Added flag action. * Added raw encap/decap actions. * Added VXLAN encap/decap actions. - * Added ICMP(code/type/identifier/sequence number) and ICMP6(code/type) matching items. + * Added ICMP (code/type/identifier/sequence number) and ICMP6 (code/type) matching items. * Added option to set port mask for insertion/deletion: ``--portmask=N`` - where N represents the hexadecimal bitmask of ports used. + where N represents the hexadecimal bitmask of the ports used. * **Added raw data-path APIs for cryptodev library.** - Cryptodev is added with raw data-path APIs to accelerate external - libraries or applications which need to avail fast cryptodev - enqueue/dequeue operations but does not necessarily depends on - mbufs and cryptodev operation mempools. + Added raw data-path APIs to Cryptodev to help accelerate external libraries + or applications which need to avail of fast cryptodev enqueue/dequeue + operations but which do not necessarily need to depend on mbufs and + cryptodev operation mempools. * **Updated the aesni_mb crypto PMD.** @@ -319,7 +324,7 @@ New Features * Updated the OCTEON TX2 crypto PMD lookaside protocol offload for IPsec with IPv6 support. -* **Updated QAT crypto PMD.** +* **Updated the QAT crypto PMD.** * Added Raw Data-path APIs support. @@ -332,18 +337,18 @@ New Features * **Updated rte_security library to support SDAP.** ``rte_security_pdcp_xform`` in ``rte_security`` lib is updated to enable - 5G NR processing of SDAP header in PMDs. + 5G NR processing of SDAP headers in PMDs. * **Added Marvell OCTEON TX2 regex PMD.** - Added a new PMD driver for hardware regex offload block for OCTEON TX2 SoC. + Added a new PMD driver for the hardware regex offload block for OCTEON TX2 SoC. See the :doc:`../regexdevs/octeontx2` for more details. * **Updated Software Eventdev driver.** Added performance tuning arguments to allow tuning the scheduler for - better throughtput in high core count use cases. + better throughput in high core count use cases. * **Added a new driver for the Intel Dynamic Load Balancer v1.0 device.** @@ -355,12 +360,14 @@ New Features Added the new ``dlb2`` eventdev driver for the Intel DLB V2.0 device. See the :doc:`../eventdevs/dlb2` eventdev guide for more details on this new driver. -* **Updated ioat rawdev driver** +* **Updated ioat rawdev driver.** The ioat rawdev driver has been updated and enhanced. Changes include: - * Added support for Intel\ |reg| Data Streaming Accelerator hardware. - For more information, see https://01.org/blogs/2019/introducing-intel-data-streaming-accelerator + * Added support for Intel\ |reg| Data Streaming Accelerator hardware. For + more information, see `Introducing the Intel Data Streaming Accelerator + (Intel DSA) + `_. * Added support for the fill operation via the API ``rte_ioat_enqueue_fill()``, where the hardware fills an area of memory with a repeating pattern. * Added a per-device configuration flag to disable management @@ -369,7 +376,7 @@ New Features and renamed the ``rte_ioat_completed_copies()`` API to ``rte_ioat_completed_ops()`` to better reflect the APIs' purposes, and remove the implication that they are limited to copy operations only. - [Note: The old API is still provided but marked as deprecated in the code] + Note: The old API is still provided but marked as deprecated in the code. * Added a new API ``rte_ioat_fence()`` to add a fence between operations. This API replaces the ``fence`` flag parameter in the ``rte_ioat_enqueue_copies()`` function, and is clearer as there is no ambiguity as to whether the flag should be @@ -377,11 +384,12 @@ New Features * **Updated the pipeline library for alignment with the P4 language.** - Added new Software Switch (SWX) pipeline type that provides more - flexibility through API and feature alignment with the P4 language. + Added a new Software Switch (SWX) pipeline type that provides more + flexibility through APIs and feature alignment with the P4 language. + Some enhancements are: * The packet headers, meta-data, actions, tables and pipelines are - dynamically defined instead of selected from pre-defined set. + dynamically defined instead of selected from a pre-defined set. * The actions and the pipeline are defined with instructions. * Extern objects and functions can be plugged into the pipeline. * Transaction-oriented table updates. @@ -401,9 +409,9 @@ New Features * **Added support to update subport bandwidth dynamically.** * Added new API ``rte_sched_port_subport_profile_add`` to add new - subport bandwidth profile to subport porfile table at runtime. + subport bandwidth profiles to the subport profile table at runtime. - * Added support to update subport rate dynamically. + * Added support to update the subport rate dynamically. * **Updated FIPS validation sample application.** @@ -420,8 +428,8 @@ New Features * **Updated vhost sample application.** - Added vhost asynchronous APIs support, which demonstrated how the application - leverage IOAT DMA channel with vhost asynchronous APIs. + Added vhost asynchronous APIs support, which demonstrates how the application + can leverage IOAT DMA channels with vhost asynchronous APIs. See the :doc:`../sample_app_ug/vhost` for more details. @@ -437,16 +445,18 @@ Removed Items Also, make sure to start the actual text at the margin. ======================================================= -* build: Support for the Make build system was removed for compiling DPDK, +* build: Support for the Make build system has been removed from DPDK. Meson is now the primary build system. Sample applications can still be built with Make standalone, using pkg-config. * vhost: Dequeue zero-copy support has been removed. * kernel: The module ``igb_uio`` has been moved to the git repository - ``dpdk-kmods`` in a new directory ``linux/igb_uio``. + `dpdk-kmods `_ in a new directory + ``linux/igb_uio``. -* Removed Python 2 support since it was EOL'd in January 2020. +* Removed Python 2 support since it was sunsetted in January 2020. See + `Sunsetting Python 2 `_ * Removed TEP termination sample application. @@ -466,11 +476,11 @@ API Changes Also, make sure to start the actual text at the margin. ======================================================= -* build macros: The macros defining ``RTE_MACHINE_CPUFLAG_*`` are removed. - The information provided by these macros is available through standard +* build macros: The macros defining ``RTE_MACHINE_CPUFLAG_*`` have been removed. + The information provided by these macros is now available through standard compiler macros. -* eal: Replaced the function ``rte_get_master_lcore()`` to +* eal: Replaced the function ``rte_get_master_lcore()`` with ``rte_get_main_lcore()``. The old function is deprecated. The iterator for worker lcores is also changed: @@ -478,7 +488,7 @@ API Changes ``RTE_LCORE_FOREACH_WORKER``. * eal: The definitions related to including and excluding devices - has been changed from blacklist/whitelist to block/allow list. + have been changed from blacklist/whitelist to block/allow list. There are compatibility macros and command line mapping to accept the old values but applications and scripts are strongly encouraged to migrate to the new names. @@ -494,11 +504,11 @@ API Changes * mem: Removed the unioned field ``phys_addr`` from the structures ``rte_memseg`` and ``rte_memzone``. - The field ``iova`` is remaining from the old unions. + The field ``iova`` remains from the old unions. * mempool: Removed the unioned fields ``phys_addr`` and ``physaddr`` from the structures ``rte_mempool_memhdr`` and ``rte_mempool_objhdr``. - The field ``iova`` is remaining from the old unions. + The field ``iova`` remains from the old unions. The flag name ``MEMPOOL_F_NO_PHYS_CONTIG`` is removed, while the aliased flag ``MEMPOOL_F_NO_IOVA_CONTIG`` is kept. @@ -508,11 +518,11 @@ API Changes having ``iova`` in their names instead of ``dma_addr`` or ``mtophys``. * mbuf: Removed the unioned field ``buf_physaddr`` from ``rte_mbuf``. - The field ``buf_iova`` is remaining from the old union. + The field ``buf_iova`` remains from the old union. * mbuf: Removed the unioned field ``refcnt_atomic`` from the structures ``rte_mbuf`` and ``rte_mbuf_ext_shared_info``. - The field ``refcnt`` is remaining from the old unions. + The field ``refcnt`` remains from the old unions. * mbuf: Removed the unioned fields ``userdata`` and ``udata64`` from the structure ``rte_mbuf``. It is replaced with dynamic fields. @@ -558,7 +568,7 @@ API Changes * ethdev: Modified field type of ``base`` and ``nb_queue`` in struct ``rte_eth_dcb_tc_queue_mapping`` from ``uint8_t`` to ``uint16_t``. - As the data of ``uint8_t`` will be truncated when queue number under + As the data of ``uint8_t`` will be truncated when queue number in a TC is greater than 256. * ethdev: Removed the legacy filter API, including @@ -574,7 +584,7 @@ API Changes instead of ``rte_vhost_driver_start`` by crypto applications. * cryptodev: The structure ``rte_crypto_sym_vec`` is updated to support both - cpu_crypto synchrounous operation and asynchronous raw data-path APIs. + cpu_crypto synchronous operations and asynchronous raw data-path APIs. * cryptodev: ``RTE_CRYPTO_AEAD_LIST_END`` from ``enum rte_crypto_aead_algorithm``, ``RTE_CRYPTO_CIPHER_LIST_END`` from ``enum rte_crypto_cipher_algorithm`` and @@ -592,12 +602,12 @@ API Changes ``RTE_CRYPTODEV_SCHEDULER_MAX_NB_SLAVES`` to ``RTE_CRYPTODEV_SCHEDULER_MAX_NB_WORKERS``. -* security: ``hfn_ovrd`` field in ``rte_security_pdcp_xform`` is changed from +* security: The ``hfn_ovrd`` field in ``rte_security_pdcp_xform`` is changed from ``uint32_t`` to ``uint8_t`` so that a new field ``sdap_enabled`` can be added to support SDAP. * security: The API ``rte_security_session_create`` is updated to take two - mempool objects one for session and other for session private data. + mempool objects: one for session and other for session private data. So the application need to create two mempools and get the size of session private data using API ``rte_security_session_get_size`` for private session mempool. @@ -645,10 +655,10 @@ API Changes * ``pkt`` is not freed, no matter whether it is GSOed, leaving to the caller. * acl: ``RTE_ACL_CLASSIFY_NUM`` enum value has been removed. - This enum value was not used inside DPDK, while it prevented to add new + This enum value was not used inside DPDK, while it prevented the addition of new classify algorithms without causing an ABI breakage. -* sched: Added ``subport_profile_id`` as argument +* sched: Added ``subport_profile_id`` as an argument to function ``rte_sched_subport_config``. * sched: Removed ``tb_rate``, ``tc_rate``, ``tc_period`` and ``tb_size`` @@ -670,11 +680,11 @@ ABI Changes Also, make sure to start the actual text at the margin. ======================================================= -* eal: Removed the not implemented function ``rte_dump_registers()``. +* eal: Removed the unimplemented function ``rte_dump_registers()``. * ``ethdev`` changes - * Following device operation function pointers moved + * The following device operation function pointers moved from ``struct eth_dev_ops`` to ``struct rte_eth_dev``: * ``eth_rx_queue_count_t rx_queue_count;`` @@ -682,8 +692,8 @@ ABI Changes * ``eth_rx_descriptor_status_t rx_descriptor_status;`` * ``eth_tx_descriptor_status_t tx_descriptor_status;`` - * ``struct eth_dev_ops`` is no more accessible by applications, - which was already internal data structure. + * ``struct eth_dev_ops`` is no longer accessible by applications, + which was already an internal data structure. * ``ethdev`` internal functions are marked with ``__rte_internal`` tag. @@ -704,11 +714,11 @@ ABI Changes * Added new field ``has_vlan`` to structure ``rte_flow_item_eth``, indicating that packet header contains at least one VLAN. - * Added new field ``has_more_vlan`` to structure + * Added new field ``has_more_vlan`` to the structure ``rte_flow_item_vlan``, indicating that packet header contains at least one more VLAN, after this VLAN. -* eventdev: Following structures are modified to support DLB/DLB2 PMDs +* eventdev: The following structures are modified to support DLB/DLB2 PMDs and future extensions: * ``rte_event_dev_info``