File: release_23_03.rst

package info (click to toggle)
dpdk 24.11.3-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 121,148 kB
  • sloc: ansic: 2,206,055; python: 11,866; sh: 4,627; makefile: 2,025; awk: 70
file content (494 lines) | stat: -rw-r--r-- 15,870 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
.. SPDX-License-Identifier: BSD-3-Clause
   Copyright 2022 The DPDK contributors

.. include:: <isonum.txt>

DPDK Release 23.03
==================

New Features
------------

* **Introduced lock annotations.**

  Added lock annotations attributes so that clang can statically analyze lock
  correctness.

* **Added support for reporting lcore usage in applications.**

  * The ``/eal/lcore/list``, ``/eal/lcore/usage`` and ``/eal/lcore/info``
    telemetry endpoints have been added to provide information similar to
    ``rte_lcore_dump()``.
  * Applications can register a callback at startup via
    ``rte_lcore_register_usage_cb()`` to provide lcore usage information.

* **Added platform bus support.**

  A platform bus provides a way to use Linux platform devices which
  are compatible with the vfio-platform kernel driver.

* **Added ARM support for power monitor in the power management library.**

  Added power monitor and wake up API support
  with WFE/SVE instructions for Arm architecture.

* **Added Ethernet link speed for 400 Gb/s.**

  Added Ethernet link speed for 400 Gb/s since there are some devices already
  supporting that speed and it is well standardized in IEEE.

* **Added support for mapping a queue with an aggregated port.**

  * Introduced new function ``rte_eth_dev_count_aggr_ports()``
    to get the number of aggregated ports.
  * Introduced new function ``rte_eth_dev_map_aggr_tx_affinity()``
    to map a Tx queue with an aggregated port of the DPDK port.
  * Added Rx affinity flow matching of an aggregated port.


* **Added flow matching of IPv6 routing extension.**

  Added ``RTE_FLOW_ITEM_TYPE_IPV6_ROUTING_EXT``
  to match IPv6 routing extension header fields.

* **Added flow matching of ICMPv6.**

  Added flow items to match ICMPv6 echo request and reply packets.
  Matching patterns can include ICMP identifier and sequence numbers.

* **Added flow flex handle to modify action.**

  Added flex modify item ``RTE_FLOW_FIELD_FLEX_ITEM``.

* **Added index-based rules insertion in flow API.**

  * Added ``rte_flow_table_insertion_type`` to allow the creation
    of index-based template tables in addition to pattern-based tables.
  * Introduced new function ``rte_flow_async_create_by_index()``
    to insert rules by index into index-based template tables.
  * Added hash calculation function used in template tables
    to allow control over the calculation of the rule index for a packet.

* **Added cross-port indirect action in asynchronous flow API.**

  * Enabled the ability to share indirect actions between ports by passing
    the flag ``RTE_FLOW_PORT_FLAG_SHARE_INDIRECT`` to ``rte_flow_configure()``.
  * Added ``host_port_id`` in ``rte_flow_port_attr`` structure
    to reference the port hosting the shared objects.

* **Added atomic query and update indirect flow action.**

  Added synchronous and asynchronous functions to atomically query and update
  indirect flow action:

  * ``rte_flow_action_handle_query_update()``
  * ``rte_flow_async_action_handle_query_update()``

* **Added flow quota action and item.**

  * ``RTE_FLOW_ACTION_TYPE_QUOTA``
  * ``RTE_FLOW_ITEM_TYPE_QUOTA``

* **Added flow API to skip congestion management configuration.**

  * Added the action ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN`` to skip
    congestion management processing
    based on per flow or packet color identified by a flow meter object.

* **Updated AMD axgbe driver.**

  * Added multi-process support.

* **Updated Atomic Rules ark driver.**

  * Added Arkville FX2 device supporting PCIe Gen5x16.

* **Updated Corigine nfp driver.**

  * Added support for meter options.
  * Added support for rte_flow meter action.

* **Added Intel cpfl driver.**

  Added the new cpfl net driver
  for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
  See the :doc:`../nics/cpfl` NIC guide for more details on this new driver.

* **Updated Intel igc driver.**

  * Added support for timesync API.
  * Added support for packet pacing (launch time offloading).

* **Updated Marvell cnxk ethdev driver.**

  * Added support to skip RED using ``RTE_FLOW_ACTION_TYPE_SKIP_CMAN``.

* **Updated NVIDIA mlx5 driver.**

  * Added support for matching on ICMPv6 ID and sequence fields.
  * Added support for MPLSoUDP in hardware steering.
  * Added support for enhanced CQE compression layout.

* **Updated Wangxun ngbe driver.**

  * Added chip overheat detection support.

* **Updated Wangxun txgbe driver.**

  * Added chip overheat detection support.
  * Added SFP hot-plug identification support.

* **Added new algorithms to cryptodev.**

  Added SHAKE-128 and SHAKE-256 symmetric secure hash algorithm.

* **Updated Marvell cnxk crypto driver.**

  Added support for SHAKE hash algorithm in cn9k and cn10k.

* **Updated Intel QuickAssist Technology (QAT) crypto driver.**

  * Added support for SHA3 224/256/384/512 plain hash in QAT GEN 3.
  * Added support for SHA3 256 plain hash in QAT GEN 2.
  * Added support for asymmetric crypto in QAT GEN3.

* **Added LZ4 algorithm in compressdev library.**

  Added LZ4 compression algorithm with xxHash-32 for the checksum.

* **Updated NVIDIA mlx5 compress driver.**

  Added LZ4 algorithm support for decompress operation.

* **Added machine learning inference device library.**

  * Added a machine learning inference device framework for management
    and provision of hardware and software machine learning inference devices.
  * Added a test application for machine learning inference device library.

* **Added Marvell CNXK machine learning driver.**

  Added driver which supports machine learning inference operations
  on Marvell's CN10K series of SoC's.

* **Updated the eventdev reconfigure logic for service based adapters.**

  * The eventdev reconfigure logic was enhanced to increment the
    ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter
    if event port config is of type ``RTE_EVENT_PORT_CFG_SINGLE_LINK``.
  * With this change, the application no longer needs to account for the
    ``rte_event_dev_config::nb_single_link_event_port_queues`` parameter
    required for eth_rx, eth_tx, crypto and timer eventdev adapters.

* **Added PCAP trace support in graph library.**

  * Added support to capture packets at each graph node with packet metadata and
    node name.


Removed Items
-------------

* Removed the experimental empty poll API from the power management library.

  The empty poll mechanism is superseded by the power PMD modes
  i.e. monitor, pause and scale.


API Changes
-----------

* The telemetry command ``/eal/heap_info`` is fixed to print ``Heap_id``.

* The experimental function ``rte_pcapng_copy`` was updated to support a comment
  section in enhanced packet block in the PcapNG library.

* The experimental structures ``struct rte_graph_param``, ``struct rte_graph``
  and ``struct graph`` were updated to support pcap trace in the graph library.


ABI Changes
-----------

* No ABI change that would break compatibility with 22.11.


Tested Platforms
----------------

* Intel\ |reg| platforms with Intel\ |reg| NICs combinations

  * CPU

    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
    * Intel\ |reg| Xeon\ |reg| D-1749NT CPU @ 3.00GHz
    * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz
    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
    * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
    * Intel\ |reg| Xeon\ |reg| Platinum 8180 CPU @ 2.50GHz
    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
    * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz

  * OS:

    * CentOS 7.9
    * CBL Mariner 2.0
    * Fedora 37
    * FreeBSD 13.1
    * openEuler 22.03 (LTS-SP1)
    * Red Hat Enterprise Linux Server release 8.4
    * Red Hat Enterprise Linux Server release 8.6
    * Red Hat Enterprise Linux Server release 9.1
    * SUSE Linux Enterprise Server 15 SP4
    * Ubuntu 20.04.5
    * Ubuntu 22.04.1

  * NICs:

    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)

      * Firmware version: 4.20 0x800177d1 1.3346.0
      * Device id (pf/vf): 8086:1593 / 8086:1889
      * Driver version(out-tree): 1.11.14 (ice)
      * Driver version(in-tree): 5.15.0-57-generic / 4.18.0-372.9.1.rt7.166.el8.x86_64 (ice)
      * OS Default DDP: 1.3.30.0
      * COMMS DDP: 1.3.40.0
      * Wireless Edge DDP: 1.3.10.0

    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)

      * Firmware version: 4.20 0x80017785 1.3346.0
      * Device id (pf/vf): 8086:1592 / 8086:1889
      * Driver version(out-tree): 1.11.14 (ice)
      * Driver version(in-tree): 5.15.86-rt56 / 5.15.55.1-1.cm_7dc1fb4+ (ice)
      * OS Default DDP: 1.3.30.0
      * COMMS DDP: 1.3.40.0
      * Wireless Edge DDP: 1.3.10.0

    * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)

      * Firmware version: 4.20 0x8001778c 1.3346.0
      * Device id (pf/vf): 8086:159b / 8086:1889
      * Driver version: 1.11.14 (ice)
      * OS Default DDP: 1.3.30.0
      * COMMS DDP: 1.3.40.0

    * Intel\ |reg| Corporation Device 188b

      * Firmware version: 3.12 0x80017ca8 1.3243.0
      * Device id (pf/vf): 8086:188b / 8086:1889
      * Driver version: 1.11.14 (ice)
      * OS Default DDP: 1.3.30.0
      * COMMS DDP: 1.3.40.0
      * Wireless Edge DDP: 1.3.10.0

    * Intel\ |reg| Ethernet Connection E823-L for QSFP

      * Firmware version: 3.12 0x80017cf4 1.3243.0
      * Device id (pf/vf): 8086:151d / 8086:1889
      * Driver version: 1.11.14 (ice)
      * OS Default DDP: 1.3.30.0
      * COMMS DDP: 1.3.40.0
      * Wireless Edge DDP: 1.3.10.0

    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller

      * Firmware version: 0x61bf0001
      * Device id (pf/vf): 8086:10fb / 8086:10ed
      * Driver version(out-tree): 5.18.11 (ixgbe)
      * Driver version(in-tree): 5.15.0-57-generic (ixgbe)

    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)

      * Firmware version: 9.20 0x8000d8bd 1.3353.0
      * Device id (pf/vf): 8086:1572 / 8086:154c
      * Driver version(out-tree): 2.22.18 (i40e)
      * Driver version(in-tree): 5.15.0-57-generic (i40e)

    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)

      * Firmware version: 6.20 0x80003d82 1.3353.0
      * Device id (pf/vf): 8086:37d0 / 8086:37cd
      * Driver version(out-tree): 2.22.18 (i40e)
      * Driver version(in-tree): 5.15.0-57-generic (i40e)

    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T

      * Firmware version: 6.20 0x80003d3e 1.2935.0
      * Device id (pf/vf): 8086:37d2 / 8086:37cd
      * Driver version(out-tree): 2.22.18 (i40e)
      * Driver version(in-tree): 5.15.0-57-generic (i40e)

    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)

      * Firmware version: 9.20 0x8000d89c 1.3353.0
      * Device id (pf/vf): 8086:158b / 8086:154c
      * Driver version(out-tree): 2.22.18 (i40e)
      * Driver version(in-tree): 5.15.0-57-generic (i40e)

    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)

      * Firmware version(PF): 9.20 0x8000d893 1.3353.0
      * Device id (pf/vf): 8086:1583 / 8086:154c
      * Driver version(out-tree): 2.22.18 (i40e)
      * Driver version(in-tree): 5.15.0-57-generic (i40e)

    * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L

      * Firmware version: 9.20 0x8000d877 1.3353.0
      * Device id (pf): 8086:15ff
      * Driver version: 2.22.18 (i40e)

* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations

  * CPU:

    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz

  * OS:

    * Red Hat Enterprise Linux release 9.1 (Plow)
    * Red Hat Enterprise Linux release 8.6 (Ootpa)
    * Red Hat Enterprise Linux release 8.4 (Ootpa)
    * Red Hat Enterprise Linux Server release 7.9 (Maipo)
    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
    * Ubuntu 22.04
    * Ubuntu 20.04
    * SUSE Enterprise Linux 15 SP2

  * OFED:

    * MLNX_OFED 5.9-0.5.6.0 and above

  * upstream kernel:

    * Linux 6.3.0-rc3 and above

  * rdma-core:

    * rdma-core-45.0 and above

  * NICs:

    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)

      * Host interface: PCI Express 3.0 x8
      * Device ID: 15b3:1007
      * Firmware version: 2.42.5000

    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)

      * Host interface: PCI Express 3.0 x8
      * Device ID: 15b3:1007
      * Firmware version: 2.42.5000

    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)

      * Host interface: PCI Express 3.0 x8
      * Device ID: 15b3:1015
      * Firmware version: 14.32.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)

      * Host interface: PCI Express 3.0 x8
      * Device ID: 15b3:1015
      * Firmware version: 14.32.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)

      * Host interface: PCI Express 3.0 x16
      * Device ID: 15b3:1017
      * Firmware version: 16.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)

      * Host interface: PCI Express 3.0 x16
      * Device ID: 15b3:1017
      * Firmware version: 16.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)

      * Host interface: PCI Express 3.0 x16
      * Device ID: 15b3:1017
      * Firmware version: 16.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)

      * Host interface: PCI Express 4.0 x16
      * Device ID: 15b3:1019
      * Firmware version: 16.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)

      * Host interface: PCI Express 4.0 x16
      * Device ID: 15b3:101d
      * Firmware version: 22.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)

      * Host interface: PCI Express 4.0 x8
      * Device ID: 15b3:101f
      * Firmware version: 26.36.1010 and above

    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)

      * Host interface: PCI Express 5.0 x16
      * Device ID: 15b3:1021
      * Firmware version: 28.36.1010 and above

* NVIDIA\ |reg| BlueField\ |reg| SmartNIC

  * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)

    * Host interface: PCI Express 3.0 x16
    * Device ID: 15b3:a2d6
    * Firmware version: 24.35.2000 and above

  * Embedded software:

    * Ubuntu 20.04.3
    * MLNX_OFED 5.8-1.0.1.1 and above
    * DOCA 1.5.1 with BlueField 3.9.3
    * DPDK application running on ARM cores

* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations

  * CPU:

    * POWER9 2.2 (pvr 004e 1202)

  * OS:

    * Ubuntu 20.04

  * NICs:

    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)

      * Host interface: PCI Express 4.0 x16
      * Device ID: 15b3:1017
      * Firmware version: 16.36.1010

    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)

      * Host interface: PCI Express 4.0 x16
      * Device ID: 15b3:101d
      * Firmware version: 22.36.1010

  * OFED:

    * MLNX_OFED 5.9-0.5.6.0