From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1DEF245DC1; Thu, 28 Nov 2024 18:08:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DB57F40670; Thu, 28 Nov 2024 18:08:02 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.16]) by mails.dpdk.org (Postfix) with ESMTP id 8600740663 for ; Thu, 28 Nov 2024 18:08:01 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1732813682; x=1764349682; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=duH0JYF8CG21Elw6ktN8YgZ+tj+uvY8WRgH8pW55go8=; b=BEo0YztEhwV15IF/1POwX1eRkEp6Qbo6CeIDScYGbRhW512DevNUF7LN Uh7cc7exqwMaZ0up42l1igPNjBvCkSzjW4cJUVvgyItCH5ORL+oK4Okz9 azCEyyS5SKjlNvCq0YhB94i4KstBy3ebmJg1JfT++prf4TLiUzKlYKxpf sQRwuBsTBRP0SrLC3C63jmFGa5NM3/Y3RH59pUNp9TRhLmUEhfuk4RnHG +Wq0ioQpgbl9tmEKqx1GvATgcIO6Mtxl5gjXIVehtpym7c07mcxm8zA3P C+lOkVndPcLWu2TvZYgNAEGhiUdI1ZKaa6PlymAA/hw8WN/FSGWBBgXW/ g==; X-CSE-ConnectionGUID: 8sLDMVoHQZCHK+deV7k/pA== X-CSE-MsgGUID: /usxZBprRqyjIOZT5hlFAg== X-IronPort-AV: E=McAfee;i="6700,10204,11270"; a="33198092" X-IronPort-AV: E=Sophos;i="6.12,193,1728975600"; d="scan'208";a="33198092" Received: from fmviesa009.fm.intel.com ([10.60.135.149]) by orvoesa108.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 28 Nov 2024 09:08:01 -0800 X-CSE-ConnectionGUID: 09KixyAOTNSA2OdXCqj0Gg== X-CSE-MsgGUID: 28b6G1dZRie6gHKCxydw/Q== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,193,1728975600"; d="scan'208";a="92751019" Received: from silpixa00401122.ir.intel.com (HELO silpixa00401122.ger.corp.intel.com) ([10.237.222.83]) by fmviesa009.fm.intel.com with ESMTP; 28 Nov 2024 09:07:59 -0800 From: John McNamara To: dev@dpdk.org Cc: thomas@monjalon.net, John McNamara Subject: [PATCH v1] doc: update release notes for 24.11 Date: Thu, 28 Nov 2024 17:07:55 +0000 Message-Id: <20241128170755.14738-1-john.mcnamara@intel.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Fix grammar, spelling and formatting of DPDK 24.11 release notes. Signed-off-by: John McNamara --- doc/guides/rel_notes/release_24_11.rst | 158 +++++++++++++++---------- 1 file changed, 93 insertions(+), 65 deletions(-) diff --git a/doc/guides/rel_notes/release_24_11.rst b/doc/guides/rel_notes/release_24_11.rst index 48b399cda7..b7e0f1224b 100644 --- a/doc/guides/rel_notes/release_24_11.rst +++ b/doc/guides/rel_notes/release_24_11.rst @@ -57,14 +57,14 @@ New Features * **Added new bit manipulation API.** - The support for bit-level operations on single 32- and 64-bit words in - has been extended with semantically well-defined functions. + Extended support for bit-level operations on single 32 and 64-bit words in + ```` with semantically well-defined functions. * ``rte_bit_[test|set|clear|assign|flip]`` functions provide excellent performance (by avoiding restricting the compiler and CPU), but give - no guarantees in regards to memory ordering or atomicity. + no guarantees in relation to memory ordering or atomicity. - * ``rte_bit_atomic_*`` provide atomic bit-level operations, including + * ``rte_bit_atomic_*`` provides atomic bit-level operations including the possibility to specify memory ordering constraints. The new public API elements are polymorphic, using the _Generic-based @@ -72,15 +72,17 @@ New Features * **Added multi-word bitset API.** - A new multi-word bitset API has been introduced in the EAL. + Introduced a new multi-word bitset API to the EAL. + The RTE bitset is optimized for scenarios where the bitset size exceeds the capacity of a single word (e.g., larger than 64 bits), but is not large enough to justify the overhead and complexity of the more scalable, - yet slower, API. + yet slower, ```` API. + This addition provides an efficient and straightforward alternative - for handling bitsets of intermediate sizes. + for handling bitsets of intermediate size. -* **Added per-lcore static memory allocation facility.** +* **Added a per-lcore static memory allocation facility.** Added EAL API ```` for statically allocating small, frequently-accessed data structures, for which one instance should exist @@ -89,10 +91,10 @@ New Features With lcore variables, data is organized spatially on a per-lcore id basis, rather than per library or PMD, avoiding the need for cache aligning (or RTE_CACHE_GUARDing) data structures, which in turn - reduces CPU cache internal fragmentation, improving performance. + reduces CPU cache internal fragmentation and improves performance. Lcore variables are similar to thread-local storage (TLS, e.g. C11 ``_Thread_local``), - but decoupling the values' life time from that of the threads. + but decouples the values' life times from those of the threads. * **Extended service cores statistics.** @@ -101,7 +103,7 @@ New Features * ``RTE_SERVICE_ATTR_IDLE_CALL_COUNT`` tracks the number of service function invocations where no actual work was performed. - * ``RTE_SERVICE_ATTR_ERROR_CALL_COUNT`` tracks the number invocations + * ``RTE_SERVICE_ATTR_ERROR_CALL_COUNT`` tracks the number of invocations resulting in an error. The new statistics are useful for debugging and profiling. @@ -110,17 +112,17 @@ New Features Added function attributes to ``rte_malloc`` and similar functions that can catch some obvious bugs at compile time (with GCC 11.0 or later). - Examples: calling ``free`` on pointer that was allocated with ``rte_malloc`` - (and vice versa); freeing the same pointer twice in the same routine; - freeing an object that was not created by allocation; etc. + For example, calling ``free`` on a pointer that was allocated with ``rte_malloc`` + (and vice versa); freeing the same pointer twice in the same routine or + freeing an object that was not created by allocation. -* **Updated logging library** +* **Updated logging library.** * The log subsystem is initialized earlier in startup so all messages go through the library. * If the application is a systemd service and the log output is being sent to standard error then DPDK will switch to journal native protocol. - This allows the more data such as severity to be sent. + This allows more data such as severity to be sent. * The syslog option has changed. By default, messages are no longer sent to syslog unless the ``--syslog`` option is specified. @@ -136,7 +138,7 @@ New Features * **Added more ICMP message types and codes.** - New ICMP message types and codes from RFC 792 were added in ``rte_icmp.h``. + Added new ICMP message types and codes from RFC 792 in ``rte_icmp.h``. * **Added IPv6 address structure and related utilities.** @@ -154,7 +156,7 @@ New Features * **Extended flow table index features.** - * Extended the flow table insertion type enum with + * Extended the flow table insertion type enum with the ``RTE_FLOW_TABLE_INSERTION_TYPE_INDEX_WITH_PATTERN`` type. * Added a function for inserting a flow rule by index with pattern: ``rte_flow_async_create_by_index_with_pattern()``. @@ -171,8 +173,8 @@ New Features * Modified the PMD API that controls the LLQ header policy. * Replaced ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs - with a new shared devarg ``llq_policy`` that keeps the same logic. - * Added validation check for Rx packet descriptor consistency. + with a new shared devarg ``llq_policy`` that maintains the same logic. + * Added a validation check for Rx packet descriptor consistency. * **Updated Cisco enic driver.** @@ -187,17 +189,19 @@ New Features * Updated supported version of the FPGA to 9563.55.49. * Extended and fixed logging. - * Added NT flow filter initialization. - * Added NT flow backend initialization. - * Added initialization of FPGA modules related to flow HW offload. - * Added basic handling of the virtual queues. - * Added flow handling support. - * Added statistics support. - * Added age flow action support. - * Added meter flow metering and flow policy support. - * Added flow actions update support. - * Added asynchronous flow support. - * Added MTU update support. + * Added: + + - NT flow filter initialization. + - NT flow backend initialization. + - Initialization of FPGA modules related to flow HW offload. + - Basic handling of the virtual queues. + - Flow handling support. + - Statistics support. + - Age flow action support. + - Meter flow metering and flow policy support. + - Flow actions update support. + - Asynchronous flow support. + - MTU update support. * **Updated NVIDIA mlx5 net driver.** @@ -211,9 +215,10 @@ New Features * **Added ZTE zxdh net driver [EXPERIMENTAL].** - Added ethdev driver support for zxdh NX Series Ethernet Controller. + Added ethdev driver support for the zxdh NX Series Ethernet Controller. + This has: - * Ability to initialize the NIC. + * The ability to initialize the NIC. * No datapath support. * **Added cryptodev queue pair reset support.** @@ -232,9 +237,9 @@ New Features * **Updated IPsec_MB crypto driver.** - * Added support for SM3 algorithm. - * Added support for SM3 HMAC algorithm. - * Added support for SM4 CBC, SM4 ECB and SM4 CTR algorithms. + * Added support for the SM3 algorithm. + * Added support for the SM3 HMAC algorithm. + * Added support for the SM4 CBC, SM4 ECB and SM4 CTR algorithms. * Bumped the minimum version requirement of Intel IPsec Multi-buffer library to v1.4. Affected PMDs: KASUMI, SNOW3G, ZUC, AESNI GCM, AESNI MB and CHACHAPOLY. @@ -264,7 +269,7 @@ New Features * **Added Marvell cnxk RVU LF rawdev driver.** Added a new raw device driver for Marvell cnxk based devices - to allow out-of-tree driver to manage RVU LF device. + to allow ans out-of-tree driver to manage a RVU LF device. It enables operations such as sending/receiving mailbox, register and notify the interrupts, etc. @@ -286,7 +291,7 @@ New Features Added support for independent enqueue feature. With this feature eventdev supports enqueue in any order - or specifically in a different order than dequeue. + or specifically in a different order to dequeue. The feature is intended for eventdevs supporting burst mode. Applications should use ``RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ`` to enable the feature if the capability ``RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ`` exists. @@ -305,8 +310,8 @@ New Features * **Added IPv4 network order lookup in the FIB library.** - A new flag field is introduced in ``rte_fib_conf`` structure. - This field is used to pass an extra configuration settings such as ability + A new flag field is introduced in the ``rte_fib_conf`` structure. + This field is used to pass an extra configuration settings such as the ability to lookup IPv4 addresses in network byte order. * **Added RSS hash key generating API.** @@ -317,7 +322,7 @@ New Features * **Added per-CPU power management QoS interface.** Added per-CPU PM QoS interface to lower the resume latency - when wake up from idle state. + when waking up from idle state. * **Added new API to register telemetry endpoint callbacks with private arguments.** @@ -326,7 +331,7 @@ New Features * **Added node specific statistics.** - Added ability for node to advertise and update multiple xstat counters, + Added ability for ans node to advertise and update multiple xstat counters, that can be retrieved using ``rte_graph_cluster_stats_get``. @@ -342,7 +347,7 @@ Removed Items Also, make sure to start the actual text at the margin. ======================================================= -* ethdev: Removed the __rte_ethdev_trace_rx_burst symbol, as the corresponding +* ethdev: Removed the ``__rte_ethdev_trace_rx_burst`` symbol, as the corresponding tracepoint was split into two separate ones for empty and non-empty calls. @@ -363,8 +368,8 @@ API Changes * kvargs: reworked the process API. - * The already existing ``rte_kvargs_process`` now only handles key=value cases and - rejects if only a key is present in the parsed string. + * The already existing ``rte_kvargs_process`` now only handles ``key=value`` cases and + rejects input where only a key is present in the parsed string. * ``rte_kvargs_process_opt`` has been added to behave as ``rte_kvargs_process`` in previous releases: it handles key=value and only-key cases. * Both ``rte_kvargs_process`` and ``rte_kvargs_process_opt`` reject a NULL ``kvlist`` parameter. @@ -381,24 +386,35 @@ API Changes * net: A new IPv6 address structure was introduced to replace ad-hoc ``uint8_t[16]`` arrays. The following libraries and symbols were modified: - cmdline + - cmdline: + - ``cmdline_ipaddr_t`` - ethdev + + - ethdev: + - ``struct rte_flow_action_set_ipv6`` - ``struct rte_flow_item_icmp6_nd_na`` - ``struct rte_flow_item_icmp6_nd_ns`` - ``struct rte_flow_tunnel`` - fib + + - fib: + - ``rte_fib6_add()`` - ``rte_fib6_delete()`` - ``rte_fib6_lookup_bulk()`` - ``RTE_FIB6_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) - ``RTE_FIB6_MAXDEPTH`` (deprecated, replaced with ``RTE_IPV6_MAX_DEPTH``) - hash + + - hash: + - ``struct rte_ipv6_tuple`` - ipsec + + - ipsec: + - ``struct rte_ipsec_sadv6_key`` - lpm + + - lpm: + - ``rte_lpm6_add()`` - ``rte_lpm6_delete()`` - ``rte_lpm6_delete_bulk_func()`` @@ -407,20 +423,32 @@ API Changes - ``rte_lpm6_lookup_bulk_func()`` - ``RTE_LPM6_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) - ``RTE_LPM6_MAX_DEPTH`` (deprecated, replaced with ``RTE_IPV6_MAX_DEPTH``) - net + + - net: + - ``struct rte_ipv6_hdr`` - node + + - node: + - ``rte_node_ip6_route_add()`` - pipeline + + - pipeline: + - ``struct rte_swx_ipsec_sa_encap_params`` - ``struct rte_table_action_ipv6_header`` - ``struct rte_table_action_nat_params`` - security + + - security: + - ``struct rte_security_ipsec_tunnel_param`` - table + + - table: + - ``struct rte_table_lpm_ipv6_key`` - ``RTE_LPM_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) - rib + + - rib: + - ``rte_rib6_get_ip()`` - ``rte_rib6_get_nxt()`` - ``rte_rib6_insert()`` @@ -452,7 +480,7 @@ ABI Changes ======================================================= * eal: The maximum number of file descriptors that can be passed to a secondary process - has been increased from 8 to 253 (which is the maximum possible with Unix domain socket). + has been increased from 8 to 253 (which is the maximum possible with Unix domain sockets). This allows for more queues when using software devices such as TAP and XDP. * ethdev: Added ``filter`` and ``names`` fields to ``rte_dev_reg_info`` structure @@ -468,25 +496,25 @@ ABI Changes * cryptodev: The enum ``rte_crypto_asym_xform_type`` and struct ``rte_crypto_asym_op`` are updated to include new values to support EdDSA. -* cryptodev: The ``rte_crypto_rsa_xform`` struct member to hold private key - in either exponent or quintuple format is changed from union to struct data type. +* cryptodev: The ``rte_crypto_rsa_xform`` struct member to hold private key data + in either exponent or quintuple format is changed from a union to a struct data type. This change is to support ASN.1 syntax (RFC 3447 Appendix A.1.2). * cryptodev: The padding struct ``rte_crypto_rsa_padding`` is moved from ``rte_crypto_rsa_op_param`` to ``rte_crypto_rsa_xform`` as the padding information is part of session creation - instead of per packet crypto operation. + instead of the per packet crypto operation. This change is required to support virtio-crypto specifications. * bbdev: The structure ``rte_bbdev_stats`` was updated to add a new parameter - to optionally report the number of enqueue batch available ``enqueue_depth_avail``. + to optionally report the number of enqueue batches available ``enqueue_depth_avail``. -* dmadev: Added ``nb_priorities`` field to ``rte_dma_info`` structure - and ``priority`` field to ``rte_dma_conf`` structure +* dmadev: Added ``nb_priorities`` field to the ``rte_dma_info`` structure + and ``priority`` field to the ``rte_dma_conf`` structure to get device supported priority levels and configure required priority from the application. -* eventdev: Added ``preschedule_type`` field to ``rte_event_dev_config`` structure. +* eventdev: Added the ``preschedule_type`` field to ``rte_event_dev_config`` structure. * eventdev: Removed the single-event enqueue and dequeue function pointers from ``rte_event_fp_fps``. -- 2.34.1