1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2022 The DPDK contributors 3 4.. include:: <isonum.txt> 5 6DPDK Release 23.03 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 ninja -C build doc 21 xdg-open build/doc/guides/html/rel_notes/release_23_03.html 22 23 24New Features 25------------ 26 27.. This section should contain new features added in this release. 28 Sample format: 29 30 * **Add a title in the past tense with a full stop.** 31 32 Add a short 1-2 sentence description in the past tense. 33 The description should be enough to allow someone scanning 34 the release notes to understand the new feature. 35 36 If the feature adds a lot of sub-features you can use a bullet list 37 like this: 38 39 * Added feature foo to do something. 40 * Enhanced feature bar to do something else. 41 42 Refer to the previous release notes for examples. 43 44 Suggested order in release notes items: 45 * Core libs (EAL, mempool, ring, mbuf, buses) 46 * Device abstraction libs and PMDs (ordered alphabetically by vendor name) 47 - ethdev (lib, PMDs) 48 - cryptodev (lib, PMDs) 49 - eventdev (lib, PMDs) 50 - etc 51 * Other libs 52 * Apps, Examples, Tools (if significant) 53 54 This section is a comment. Do not overwrite or remove it. 55 Also, make sure to start the actual text at the margin. 56 ======================================================= 57 58* **Introduced lock annotations.** 59 60 Added lock annotations attributes so that clang can statically analyze lock 61 correctness. 62 63* **Added support for reporting lcore usage in applications.** 64 65 * The ``/eal/lcore/list``, ``/eal/lcore/usage`` and ``/eal/lcore/info`` 66 telemetry endpoints have been added to provide information similar to 67 ``rte_lcore_dump()``. 68 * Applications can register a callback at startup via 69 ``rte_lcore_register_usage_cb()`` to provide lcore usage information. 70 71* **Added ARM support for power monitor in the power management library.** 72 73 Added power monitor and wake up API support 74 with WFE/SVE instructions for Arm architecture. 75 76* **Added support for mapping a queue with an aggregated port.** 77 78 * Introduced new function ``rte_eth_dev_count_aggr_ports()`` 79 to get the number of aggregated ports. 80 * Introduced new function ``rte_eth_dev_map_aggr_tx_affinity()`` 81 to map a Tx queue with an aggregated port of the DPDK port. 82 * Added Rx affinity flow matching of an aggregated port. 83 84* **Added flow matching of IPv6 routing extension.** 85 86 Added ``RTE_FLOW_ITEM_TYPE_IPV6_ROUTING_EXT`` 87 to match IPv6 routing extension header fields. 88 89* **Added flow matching of ICMPv6.** 90 91 Added flow items to match ICMPv6 echo request and reply packets. 92 Matching patterns can include ICMP identifier and sequence numbers. 93 94* **Added flow flex handle to modify action.** 95 96 Added flex modify item ``RTE_FLOW_FIELD_FLEX_ITEM``. 97 98* **Added index-based rules insertion in flow API.** 99 100 * Added ``rte_flow_table_insertion_type`` to allow the creation 101 of index-based template tables in addition to pattern-based tables. 102 * Introduced new function ``rte_flow_async_create_by_index()`` 103 to insert rules by index into index-based template tables. 104 * Added hash calculation function used in template tables 105 to allow control over the calculation of the rule index for a packet. 106 107* **Added cross-port indirect action in asynchronous flow API.** 108 109 * Allowed to share indirect actions between ports by passing 110 the flag ``RTE_FLOW_PORT_FLAG_SHARE_INDIRECT`` to ``rte_flow_configure()``. 111 * Added ``host_port_id`` in ``rte_flow_port_attr`` structure 112 to reference the port hosting the shared objects. 113 114* **Added atomic query and update indirect flow action.** 115 116 Added synchronous and asynchronous functions to atomically query and update 117 indirect flow action: 118 119 * ``rte_flow_action_handle_query_update()`` 120 * ``rte_flow_async_action_handle_query_update()`` 121 122* **Added flow quota action and item.** 123 124 * ``RTE_FLOW_ACTION_TYPE_QUOTA`` 125 * ``RTE_FLOW_ITEM_TYPE_QUOTA`` 126 127* **Added flow API to skip congestion management configuration.** 128 129 * Added the action ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN`` to skip 130 congestion management processing 131 based on per flow or packet color identified by a flow meter object. 132 133* **Updated AMD axgbe driver.** 134 135 * Added multi-process support. 136 137* **Updated Atomic Rules ark driver.** 138 139 * Added Arkville FX2 device supporting PCIe Gen5x16. 140 141* **Updated Corigine nfp driver.** 142 143 * Added support for meter options. 144 * Added support for rte_flow meter action. 145 146* **Updated Intel igc driver.** 147 148 * Added support for timesync API. 149 * Added support for packet pacing (launch time offloading). 150 151* **Updated Marvell cnxk ethdev driver.** 152 153 * Added support to skip RED using ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN``. 154 155* **Updated NVIDIA mlx5 driver.** 156 157 * Added support for matching on ICMPv6 ID and sequence fields. 158 159* **Updated Wangxun ngbe driver.** 160 161 * Added chip overheat detection support. 162 163* **Updated Wangxun txgbe driver.** 164 165 * Added chip overheat detection support. 166 * Added SFP hot-plug identification support. 167 168* **Added new algorithms to cryptodev.** 169 170 Added SHAKE-128 and SHAKE-256 symmetric secure hash algorithm. 171 172* **Updated Marvell cnxk crypto driver.** 173 174 Added support for SHAKE hash algorithm in cn9k and cn10k. 175 176* **Updated Intel QuickAssist Technology (QAT) crypto driver.** 177 178 * Added support for SHA3 224/256/384/512 plain hash in QAT GEN 3. 179 * Added support for SHA3 256 plain hash in QAT GEN 2. 180 * Added support for asymmetric crypto in QAT GEN3. 181 182* **Added LZ4 algorithm in compressdev library.** 183 184 Added LZ4 compression algorithm with xxHash-32 for the checksum. 185 186* **Updated the eventdev reconfigure logic for service based adapters.** 187 188 * eventdev reconfig logic is enhanced to increment the 189 ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter 190 if event port config is of type ``RTE_EVENT_PORT_CFG_SINGLE_LINK``. 191 * With this change, the application no longer needs to account for the 192 ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter 193 required for eth_rx, eth_tx, crypto and timer eventdev adapters. 194 195* **Added pcap trace support in graph library.** 196 197 * Added support to capture packets at each graph node with packet metadata and 198 node name. 199 200 201Removed Items 202------------- 203 204.. This section should contain removed items in this release. Sample format: 205 206 * Add a short 1-2 sentence description of the removed item 207 in the past tense. 208 209 This section is a comment. Do not overwrite or remove it. 210 Also, make sure to start the actual text at the margin. 211 ======================================================= 212 213* Removed the experimental empty poll API from the power management library. 214 215 The empty poll mechanism is superseded by the power PMD modes 216 i.e. monitor, pause and scale. 217 218 219API Changes 220----------- 221 222.. This section should contain API changes. Sample format: 223 224 * sample: Add a short 1-2 sentence description of the API change 225 which was announced in the previous releases and made in this release. 226 Start with a scope label like "ethdev:". 227 Use fixed width quotes for ``function_names`` or ``struct_names``. 228 Use the past tense. 229 230 This section is a comment. Do not overwrite or remove it. 231 Also, make sure to start the actual text at the margin. 232 ======================================================= 233 234* The experimental function ``rte_pcapng_copy`` was updated to support comment 235 section in enhanced packet block in the pcapng library. 236 237* The experimental structures ``struct rte_graph_param``, ``struct rte_graph`` 238 and ``struct graph`` were updated to support pcap trace in the graph library. 239 240 241ABI Changes 242----------- 243 244.. This section should contain ABI changes. Sample format: 245 246 * sample: Add a short 1-2 sentence description of the ABI change 247 which was announced in the previous releases and made in this release. 248 Start with a scope label like "ethdev:". 249 Use fixed width quotes for ``function_names`` or ``struct_names``. 250 Use the past tense. 251 252 This section is a comment. Do not overwrite or remove it. 253 Also, make sure to start the actual text at the margin. 254 ======================================================= 255 256* No ABI change that would break compatibility with 22.11. 257 258 259Known Issues 260------------ 261 262.. This section should contain new known issues in this release. Sample format: 263 264 * **Add title in present tense with full stop.** 265 266 Add a short 1-2 sentence description of the known issue 267 in the present tense. Add information on any known workarounds. 268 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 ======================================================= 272 273 274Tested Platforms 275---------------- 276 277.. This section should contain a list of platforms that were tested 278 with this release. 279 280 The format is: 281 282 * <vendor> platform with <vendor> <type of devices> combinations 283 284 * List of CPU 285 * List of OS 286 * List of devices 287 * Other relevant details... 288 289 This section is a comment. Do not overwrite or remove it. 290 Also, make sure to start the actual text at the margin. 291 ======================================================= 292