xref: /dpdk/doc/guides/rel_notes/release_22_11.rst (revision e4792a81e3e79a9422ac00679027bf34003d73b4)
1.. SPDX-License-Identifier: BSD-3-Clause
2   Copyright 2022 The DPDK contributors
3
4.. include:: <isonum.txt>
5
6DPDK Release 22.11
7==================
8
9New Features
10------------
11
12* **Added initial LoongArch architecture support.**
13
14  Added EAL implementation for LoongArch architecture.
15  The initial port was tested on Loongson 3A5000,
16  Loongson 3C5000 and Loongson 3C5000L.
17  In theory this implementation should work with any target based on
18  ``LoongArch`` ISA.
19
20* **Added support for multiple mbuf pools per ethdev Rx queue.**
21
22  Added a capability which allows an application to provide many mempools
23  of different size, and PMDs and/or NICs to choose a memory pool
24  based on the packet's length and/or Rx buffer availability.
25
26* **Added support for congestion management in ethdev.**
27
28  Added new API functions ``rte_eth_cman_config_init()``,
29  ``rte_eth_cman_config_get()``, ``rte_eth_cman_config_set()``
30  and ``rte_eth_cman_info_get()`` to support congestion management.
31
32* **Added protocol header based buffer split.**
33
34  * Added ``rte_eth_buffer_split_get_supported_hdr_ptypes()`` to get supported
35    header protocols to split at.
36  * Added support for protocol-based buffer split using new ``proto_hdr``
37    field in structure ``rte_eth_rxseg_split``.
38
39* **Added proactive error handling mode for ethdev.**
40
41  Added proactive error handling mode for ethdev,
42  and introduced three new events: ``RTE_ETH_EVENT_ERR_RECOVERING``
43  to report that the port is recovering from an error,
44  ``RTE_ETH_EVENT_RECOVER_SUCCESS`` and ``RTE_ETH_EVENT_RECOVER_FAILED``.
45
46* **Added ethdev Rx/Tx descriptor dump API.**
47
48  Added the ethdev Rx/Tx descriptor dump API which provides functions
49  for querying descriptor from device.
50  The descriptor information differs in different NICs.
51  The information demonstrates I/O process which is important for debug.
52  The dump format is vendor-specific.
53
54* **Added ethdev hairpin memory configuration options.**
55
56  Added new configuration flags for hairpin queues in ``rte_eth_hairpin_conf``:
57
58  * ``use_locked_device_memory``
59  * ``use_rte_memory``
60  * ``force_memory``
61
62  Each flag has a corresponding capability flag
63  in ``struct rte_eth_hairpin_queue_cap``.
64
65* **Added strict queue to pre-configuration flow hints.**
66
67  * Added flags option to ``rte_flow_configure`` and ``rte_flow_info_get``.
68  * Added ``RTE_FLOW_PORT_FLAG_STRICT_QUEUE`` flag to indicate all operations
69    for a given flow rule will strictly happen on the same flow queue.
70
71* **Added configuration for asynchronous flow connection tracking.**
72
73  Added connection tracking action number hint to ``rte_flow_configure``
74  and ``rte_flow_info_get``.
75  The PMD can prepare the connection tracking resources according to the hint.
76
77* **Added support for queue-based async query in flow API.**
78
79  Added new function ``rte_flow_async_action_handle_query()``
80  to query the action asynchronously.
81
82* **Extended metering and marking support in the flow API.**
83
84  * Added ``METER_COLOR`` item to match color marker set by a meter.
85  * Added ability to set color marker via modify field flow API.
86  * Added meter API to get a pointer to the profile/policy by their ID.
87  * Added ``METER_MARK`` action for metering with lockless profile/policy access.
88
89* **Added flow offload action to route packets to kernel.**
90
91  Added new flow action which allows an application to re-route packets
92  directly to the kernel without software involvement.
93
94* **Updated AF_XDP driver.**
95
96  * Updated AF_XDP driver to make it compatible with libbpf v0.8.0
97    (when used with libxdp).
98
99* **Updated AMD Pensando ionic driver.**
100
101  * Updated ionic driver to reflect that Pensando has been acquired by AMD.
102  * Enhanced data path to provide substantial performance improvements.
103  * Added support for mbuf fast free.
104  * Added support for advertising packet types.
105  * Added support for descriptor status functions.
106  * Added Q-in-CMB feature controlled by device option ``ionic_cmb``.
107  * Added optimized handlers for non-scattered Rx and Tx.
108
109* **Added GVE net PMD.**
110
111  * Added the new ``gve`` net driver for Google Virtual Ethernet devices.
112  * See the :doc:`../nics/gve` NIC guide for more details on this new driver.
113
114* **Updated Intel iavf driver.**
115
116  * Added flow subscription support.
117
118* **Updated Intel ice driver.**
119
120  * Added protocol based buffer split support in scalar path.
121
122* **Added Intel idpf driver.**
123
124  Added the new ``idpf`` net driver
125  for Intel\ |reg| Infrastructure Processing Unit (Intel\ |reg| IPU) E2100.
126  See the :doc:`../nics/idpf` NIC guide for more details on this new driver.
127
128* **Updated Marvell cnxk driver.**
129
130  * Added support for flow action ``REPRESENTED_PORT``.
131  * Added support for congestion management.
132
133* **Added Microsoft mana driver.**
134
135  The driver has been disabled by default because of a, currently, missing dependency.
136
137* **Updated Netronome nfp driver.**
138
139  Added flow API support:
140
141  * Added support for the flower firmware.
142  * Added the flower service infrastructure.
143  * Added the control message interactive channels between PMD and firmware.
144  * Added support for a representor port.
145
146* **Updated NVIDIA mlx5 driver.**
147
148  * Added full support for queue-based async hardware steering.
149
150    - Support of FDB.
151    - Support of control flow and isolate mode.
152    - Support of conntrack.
153    - Support of counter.
154    - Support of aging.
155    - Support of meter.
156    - Support of modify fields.
157
158* **Updated NXP dpaa2 driver.**
159
160  * Added support for flow action ``REPRESENTED_PORT``.
161
162* **Updated Wangxun ngbe driver.**
163
164  * Added support to set device link down/up.
165
166* **Added DMA vChannel unconfiguration for async vhost.**
167
168  Added support to unconfigure DMA vChannel that is no longer used
169  by the vhost library.
170
171* **Added non-blocking notify API to vhost library.**
172
173  Added ``rte_vhost_vring_call_nonblock`` API to notify the guest that
174  used descriptors have been added to the vring in n aon-blocking way.
175  The user should check the return value of this API and try again if needed.
176
177* **Added support for MACsec in rte_security.**
178
179  Added MACsec transform for rte_security session and added new API
180  to configure security associations (SA) and secure channels (SC).
181
182* **Added new algorithms to cryptodev.**
183
184  * Added symmetric hash algorithm ShangMi 3 (SM3).
185  * Added symmetric cipher algorithm ShangMi 4 (SM4) in ECB, CBC and CTR modes.
186
187* **Updated Intel QuickAssist Technology (QAT) crypto driver.**
188
189  * Added support for SM3 hash algorithm.
190  * Added support for SM4 encryption algorithm in ECB, CBC and CTR modes.
191  * Added support for ECDH key exchange algorithm.
192
193* **Updated Marvell cnxk crypto driver.**
194
195  * Added AES-CCM support in lookaside protocol (IPsec) for CN9K and  CN10K.
196  * Added AES & DES DOCSIS algorithm support in lookaside crypto for CN9K.
197
198* **Updated aesni_mb crypto driver.**
199
200  * Added support for 8-byte and 16-byte tags for ZUC-EIA3-256.
201  * Added support for in-place SGL, out-of-place SGL in SGL out,
202    out-of-place LB in SGL out, and out-of-place SGL in LB out.
203
204* **Updated ipsec_mb crypto driver.**
205
206  * Added SNOW-3G and ZUC support for ARM platform.
207  * Added Intel IPsec MB v1.3 library support for x86 platform.
208
209* **Added UADK crypto driver.**
210
211  Added a new crypto driver for the UADK library. See the
212  :doc:`../cryptodevs/uadk` guide for more details on this new driver.
213
214* **Added bbdev operation for FFT processing.**
215
216  Added a new operation type in bbdev for FFT processing with new functions
217  ``rte_bbdev_enqueue_fft_ops`` and ``rte_bbdev_dequeue_fft_ops``,
218  and related structures.
219
220* **Added Intel ACC200 bbdev driver.**
221
222  Added a new ``acc200`` bbdev driver for the Intel\ |reg| ACC200 accelerator
223  integrated on SPR-EE.  See the ``bbdevs/acc200`` guide for more details
224  on this new driver.
225
226* **Added eventdev adapter instance get API.**
227
228  * Added ``rte_event_eth_rx_adapter_instance_get`` to get Rx adapter
229    instance ID for specified ethernet device ID and Rx queue index.
230
231  * Added ``rte_event_eth_tx_adapter_instance_get`` to get Tx adapter
232    instance ID for specified ethernet device ID and Tx queue index.
233
234* **Added eventdev Tx adapter queue start/stop API.**
235
236  * Added ``rte_event_eth_tx_adapter_queue_start`` to start
237    enqueueing packets to the Tx queue by Tx adapter.
238  * Added ``rte_event_eth_tx_adapter_queue_stop`` to stop the Tx Adapter
239    from enqueueing any packets to the Tx queue.
240
241* **Added event crypto adapter vectorization support.**
242
243  Added support for aggregating crypto operations processed by event crypto adapter
244  into a single event containing ``rte_event_vector``
245  whose event type is ``RTE_EVENT_TYPE_CRYPTODEV_VECTOR``.
246
247* **Added NitroSketch in membership library.**
248
249  Added a new data structure called sketch into the membership library,
250  to profile the traffic efficiently.
251  NitroSketch provides high-fidelity approximate measurements
252  and appears as a promising alternative to traditional approaches
253  such as packet sampling.
254
255* **Added Intel uncore frequency control API to the power library.**
256
257  Added API to allow uncore frequency adjustment.
258  This is done through manipulating related uncore frequency control
259  sysfs entries to adjust the minimum and maximum uncore frequency values,
260  which works on Linux with Intel hardware only.
261
262* **Added security performance test application.**
263
264  Added new application to test ``rte_security`` session create/destroy
265  performance.
266  See the :doc:`../tools/securityperf` for more details.
267
268* **Updated IPsec sample application.**
269
270  Added support for lookaside sessions in event mode.
271  See the :doc:`../sample_app_ug/ipsec_secgw` for more details.
272
273* **Updated FIPS validation sample application.**
274
275  Added support for asymmetric crypto algorithms.
276  See the :doc:`../sample_app_ug/fips_validation` for more details.
277
278* **Rewrote pmdinfo script.**
279
280  The ``dpdk-pmdinfo.py`` script was rewritten to produce valid JSON only.
281  PCI-IDs parsing has been removed.
282  To get a similar output to the (now removed) ``-r/--raw`` flag,
283  the following command may be used:
284
285  .. code-block:: sh
286
287     strings $dpdk_binary_or_driver | sed -n 's/^PMD_INFO_STRING= //p'
288
289
290Removed Items
291-------------
292
293* mem: Removed not implemented and deprecated ``rte_malloc_set_limit``.
294
295* ethdev: removed ``RTE_FLOW_ITEM_TYPE_PF``;
296  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
297
298* ethdev: removed ``RTE_FLOW_ITEM_TYPE_VF``;
299  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
300
301* ethdev: removed ``RTE_FLOW_ITEM_TYPE_PHY_PORT``;
302  use ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT`` instead.
303
304* ethdev: removed ``RTE_FLOW_ACTION_TYPE_PHY_PORT``;
305  use ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT`` instead.
306
307* ethdev: removed ``OF_SET_MPLS_TTL``, ``OF_DEC_MPLS_TTL``,
308  ``OF_SET_NW_TTL``, ``OF_COPY_TTL_OUT`` and ``OF_COPY_TTL_IN``
309  which are not actually supported by any PMD.
310  ``MODIFY_FIELD`` action should be used to do packet edits via flow API.
311
312* vhost: Removed deprecated ``rte_vhost_gpa_to_vva`` and
313  ``rte_vhost_get_queue_num`` helpers.
314
315
316API Changes
317-----------
318
319* eal: ``RTE_FUNC_PTR_OR_*`` macros have been marked deprecated and will be removed
320  in the future. Applications can use ``devtools/cocci/func_or_ret.cocci``
321  to update their code.
322
323* eal: Updated ``rte_eal_remote_launch`` so it returns ``-EPIPE`` in case of
324  a read or write error on the pipe, instead of calling ``rte_panic``.
325
326* eal: Updated return types for ``rte_{bsf,fls}`` inline functions
327  to be consistently ``uint32_t``.
328
329* mempool: Deprecated helper macro ``MEMPOOL_HEADER_SIZE()`` has been removed.
330  The replacement macro ``RTE_MEMPOOL_HEADER_SIZE()`` is internal only.
331
332* mempool: Deprecated macro to register mempool driver
333  ``MEMPOOL_REGISTER_OPS()`` has been removed. Use replacement macro
334  ``RTE_MEMPOOL_REGISTER_OPS()`` instead.
335
336* mempool: Deprecated macros ``MEMPOOL_PG_NUM_DEFAULT`` and
337  ``MEMPOOL_PG_SHIFT_MAX`` have been removed. These macros are not used and
338  not required any more.
339
340* mbuf: Removed deprecated ``PKT_*`` flags.
341  Use corresponding flags with ``RTE_MBUF_F_`` prefix instead.
342  Applications can use ``devtools/cocci/prefix_mbuf_offload_flags.cocci``
343  to replace all occurrences of old mbuf flags in C code.
344
345* bus: Changed the device numa node to -1 when NUMA information is unavailable.
346  The ``dev->device.numa_node`` field is set by each bus driver for
347  every device it manages to indicate on which NUMA node this device lies.
348  When this information is unknown, the assigned value was not consistent
349  across the bus drivers. This similarly impacts ``rte_eth_dev_socket_id()``.
350
351* bus: Registering a bus has been marked as an internal API.
352  External users may still register their bus using the ``bus_driver.h``
353  driver header (see ``enable_driver_sdk`` meson option).
354  The ``rte_bus`` object is now opaque and must be manipulated through added
355  accessors.
356
357* drivers: Registering a driver on the ``auxiliary``, ``ifpga``, ``pci``,
358  ``vdev``, ``vmbus`` buses has been marked as an internal API.
359  External users may still register their driver using the associated driver
360  headers (see ``enable_driver_sdk`` meson option).
361  The ``rte_driver`` and ``rte_device`` objects are now opaque and must be
362  manipulated through added accessors.
363
364* ethdev: Removed deprecated macros. Applications can use ``devtools/cocci/namespace_ethdev.cocci``
365  to update their code.
366
367  * Removed deprecated ``ETH_LINK_SPEED_*``, ``ETH_SPEED_NUM_*`` and ``ETH_LINK_*``
368    (duplex-related) defines.  Use corresponding defines with ``RTE_`` prefix
369    instead.
370
371  * Removed deprecated ``ETH_MQ_RX_*`` and ``ETH_MQ_TX_*`` defines.
372    Use corresponding defines with ``RTE_`` prefix instead.
373
374  * Removed deprecated ``ETH_RSS_*`` defines for hash function and
375    RETA size specification. Use corresponding defines with ``RTE_`` prefix
376    instead.
377
378  * Removed deprecated ``DEV_RX_OFFLOAD_*`` and ``DEV_TX_OFFLOAD_``
379    defines. Use corresponding defines with ``RTE_ETH_RX_OFFLOAD_`` and
380    ``RTE_ETH_TX_OFFLOAD_`` prefix instead.
381
382  * Removed deprecated ``ETH_DCB_*``, ``ETH_VMDQ_``, ``ETH_*_TCS``,
383    ``ETH_*_POOLS`` and ``ETH_MAX_VMDQ_POOL`` defines. Use corresponding
384    defines with ``RTE_`` prefix instead.
385
386  * Removed deprecated ``RTE_TUNNEL_*`` defines. Use corresponding
387    defines with ``RTE_ETH_TUNNEL_`` prefix instead.
388
389  * Removed deprecated ``RTE_FC_*`` defines. Use corresponding
390    defines with ``RTE_ETH_FC_`` prefix instead.
391
392  * Removed deprecated ``ETH_VLAN_*`` and ``ETH_QINQ_`` defines.
393    Use corresponding defines with ``RTE_`` prefix instead.
394
395  * Removed deprecated ``ETH_NUM_RECEIVE_MAC_ADDR`` define.
396    Use corresponding define with ``RTE_`` prefix instead.
397
398  * Removed deprecated ``PKT_{R,T}X_DYNF_METADATA`` defines.
399    Use corresponding defines ``RTE_MBUF_DYNFLAG_{R,T}X_METADATA`` instead.
400
401* ethdev: Removed deprecated Flow Director configuration from device
402  configuration (``dev_conf.fdir_conf``). Moved corresponding structures
403  to internal API since some drivers still use it internally.
404
405* ethdev: Removed the Rx offload flag ``RTE_ETH_RX_OFFLOAD_HEADER_SPLIT``
406  and field ``split_hdr_size`` from the structure ``rte_eth_rxmode``
407  used to configure header split.
408  Instead, user can still use ``RTE_ETH_RX_OFFLOAD_BUFFER_SPLIT``
409  for per-queue packet split offload,
410  which is configured by ``rte_eth_rxseg_split``.
411
412* ethdev: The ``reserved`` field in the ``rte_eth_rxseg_split`` structure is
413  replaced with ``proto_hdr`` to support protocol header based buffer split.
414  User can choose length or protocol header to configure buffer split
415  according to NIC's capability.
416
417* ethdev: Changed the type of the parameter ``rate`` of the function
418  ``rte_eth_set_queue_rate_limit()`` from ``uint16_t`` to ``uint32_t``
419  to support more than 64 Gbps.
420  Changed the type of the parameter ``tx_rate`` of the functions
421  ``rte_pmd_bnxt_set_vf_rate_limit()`` and
422  ``rte_pmd_ixgbe_set_vf_rate_limit()`` in the same way for consistency.
423
424* ethdev: Promoted ``rte_eth_rx_metadata_negotiate()``
425  from experimental to stable.
426
427* ethdev: Promoted the following flow primitives
428  from experimental to stable:
429
430  - ``RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR``
431  - ``RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT``
432  - ``RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR``
433  - ``RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT``
434
435* ethdev: Promoted ``rte_flow_pick_transfer_proxy()``
436  from experimental to stable.
437
438* ethdev: Banned the use of attributes ``ingress``/``egress`` in "transfer"
439  flows, as the final step of the deprecation process that had been started
440  in DPDK 21.11. See items ``PORT_REPRESENTOR``, ``REPRESENTED_PORT``.
441
442* vhost: Promoted ``rte_vhost_vring_stats_get()``,
443  ``rte_vhost_vring_stats_get_names()`` and ``rte_vhost_vring_stats_reset()``
444  from experimental to stable.
445
446* cryptodev: The structure ``rte_cryptodev_sym_session`` was made internal.
447  The API ``rte_cryptodev_sym_session_init`` and ``rte_cryptodev_sym_session_clear``
448  were removed and user would only need to call ``rte_cryptodev_sym_session_create``
449  and ``rte_cryptodev_sym_session_free`` to create/destroy sessions.
450  The API ``rte_cryptodev_sym_session_create`` was updated to take a single mempool
451  with element size big enough to hold session data and session private data.
452  All sample applications were updated to attach an opaque pointer for the session
453  to the ``rte_crypto_op`` while enqueuing.
454
455* security: The structure ``rte_security_session`` was made internal
456  and corresponding functions were updated to take/return an opaque session pointer.
457  The API ``rte_security_session_create`` was updated to take only one mempool
458  which has enough space to hold session and driver private data.
459
460* security: MACsec support has been added which resulted in updates
461  to structures ``rte_security_macsec_xform``, ``rte_security_macsec_stats``
462  and security capability structure ``rte_security_capability``
463  to accommodate MACsec capabilities.
464
465* security: The experimental API ``rte_security_get_userdata`` was being unused
466  by most of the drivers and it was retrieving userdata from mbuf dynamic field.
467  The API is now removed and the application can directly get the userdata from
468  mbuf dynamic field.
469
470* eventdev: The function ``rte_event_crypto_adapter_queue_pair_add`` was updated
471  to accept configuration of type ``rte_event_crypto_adapter_queue_conf``
472  instead of ``rte_event``,
473  similar to ``rte_event_eth_rx_adapter_queue_add`` signature.
474  Event will be one of the configuration fields,
475  together with additional vector parameters.
476
477* eventdev: The function pointer definition ``eventdev_stop_flush_t``
478  is renamed to ``rte_eventdev_stop_flush_t``
479  to avoid conflicts with application symbols.
480
481* eventdev: The data type of the ID parameter in the functions
482  ``rte_event_dev_xstats_names_get``, ``rte_event_dev_xstats_get``,
483  ``rte_event_dev_xstats_by_name_get`` and ``rte_event_dev_xstats_reset``
484  is changed to ``uint64_t`` from ``unsigned int`` and ``uint32_t``.
485
486* metrics: Updated ``rte_metrics_init`` so it returns an error code instead
487  of calling ``rte_exit``.
488
489* telemetry: The allowed characters in names for dictionary values
490  are now limited to alphanumeric characters and a small subset of additional
491  printable characters.
492  This will ensure that all dictionary parameter names can be output
493  without escaping in JSON - or in any future output format used.
494  Names for the telemetry commands are now similarly limited.
495  The parameters for telemetry commands are unaffected by this change.
496
497* raw/ifgpa: The function ``rte_pmd_ifpga_get_pci_bus`` has been removed.
498
499
500ABI Changes
501-----------
502
503* eal: Updated EAL thread names from ``lcore-worker-<lcore_id>`` to
504  ``rte-worker-<lcore_id>`` so that DPDK can accommodate lcores higher than 99.
505
506* mbuf: Replaced ``buf_iova`` field with ``next`` field and added a new field
507  ``dynfield2`` at its place in second cacheline if ``RTE_IOVA_AS_PA`` is 0.
508
509* ethdev: enum ``RTE_FLOW_ITEM`` was affected by deprecation procedure.
510
511* ethdev: enum ``RTE_FLOW_ACTION`` was affected by deprecation procedure.
512
513* bbdev: enum ``rte_bbdev_op_type`` was affected to remove ``RTE_BBDEV_OP_TYPE_COUNT``
514  and to allow for futureproof enum insertion a padded ``RTE_BBDEV_OP_TYPE_SIZE_MAX``
515  macro is added.
516
517* bbdev: Structure ``rte_bbdev_driver_info`` was updated to add new parameters
518  for queue topology, device status using ``rte_bbdev_device_status``.
519
520* bbdev: Structure ``rte_bbdev_queue_data`` was updated to add new parameter
521  for enqueue status using ``rte_bbdev_enqueue_status``.
522
523* eventdev: Added ``evtim_drop_count`` field
524  to ``rte_event_timer_adapter_stats`` structure.
525
526* eventdev: Added ``weight`` and ``affinity`` fields
527  to ``rte_event_queue_conf`` structure.
528
529* eventdev: The field ``*u64s`` in the structure ``rte_event_vector`` is replaced
530  with ``u64s`` as the field is supposed to hold an array of ``uint64_t`` values.
531
532* eventdev: The structure ``rte_event_vector`` was updated to include a new bit
533  field ``elem_offset:12``. The bits are taken from the bitfield ``rsvd:15``.
534
535
536Tested Platforms
537----------------
538
539* Intel\ |reg| platforms with Intel\ |reg| NICs combinations
540
541  * CPU
542
543    * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz
544    * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz
545    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
546    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v3 @ 2.30GHz
547    * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz
548    * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz
549    * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz
550    * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz
551    * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz
552    * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz
553    * Intel\ |reg| Xeon\ |reg| Platinum 8180M CPU @ 2.50GHz
554    * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz
555    * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz
556
557  * OS:
558
559    * Fedora 36
560    * FreeBSD 13.1
561    * Red Hat Enterprise Linux Server release 8.6
562    * Red Hat Enterprise Linux Server release 9
563    * CentOS 7.9
564    * Ubuntu 20.04.5
565    * Ubuntu 22.04.1
566    * Ubuntu 22.10
567    * SUSE Linux Enterprise Server 15 SP4
568
569  * NICs:
570
571    * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G)
572
573      * Firmware version: 4.10 0x800151d8 1.3310.0
574      * Device id (pf/vf): 8086:1593 / 8086:1889
575      * Driver version(out-tree): 1.10.6 (ice)
576      * Driver version(in-tree): 5.15.0-46-generic / 4.18.0-372.9.1.rt7.166.el8.x86_64 (ice)
577      * OS Default DDP: 1.3.30.0
578      * COMMS DDP: 1.3.37.0
579      * Wireless Edge DDP: 1.3.10.0
580
581    * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G)
582
583      * Firmware version: 4.10 0x8001518e 1.3310.0
584      * Device id (pf/vf): 8086:1592 / 8086:1889
585      * Driver version: 1.10.6 (ice)
586      * OS Default DDP: 1.3.30.0
587      * COMMS DDP: 1.3.37.0
588      * Wireless Edge DDP: 1.3.10.0
589
590    * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G)
591
592      * Firmware version: 4.10 0x80015188 1.3310.0
593      * Device id (pf/vf): 8086:159b / 8086:1889
594      * Driver version: 1.10.6 (ice)
595      * OS Default DDP: 1.3.30.0
596      * COMMS DDP: 1.3.37.0
597
598    * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller
599
600      * Firmware version: 0x61bf0001
601      * Device id (pf/vf): 8086:10fb / 8086:10ed
602      * Driver version(out-tree): 5.16.5 (ixgbe)
603      * Driver version(in-tree): 5.15.0-46-generic (ixgbe)
604
605    * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G)
606
607      * Firmware version: 9.00 0x8000cead 1.3179.0
608      * Device id (pf/vf): 8086:1572 / 8086:154c
609      * Driver version(out-tree): 2.20.12 (i40e)
610      * Driver version(in-tree): 5.15.0-46-generic (i40e)
611
612    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
613
614      * Firmware version: 6.00 0x800039ec 1.3179.0
615      * Device id (pf/vf): 8086:37d0 / 8086:37cd
616      * Driver version(out-tree): 2.20.12 (i40e)
617      * Driver version(in-tree): 5.15.0-46-generic (i40e)
618
619    * Intel\ |reg| Corporation Ethernet Connection X722 for 10GBASE-T
620
621      * Firmware version: 6.00 0x800039aa 1.2935.0
622      * Device id (pf/vf): 8086:37d2 / 8086:37cd
623      * Driver version(out-tree): 2.20.12 (i40e)
624      * Driver version(in-tree): 5.15.0-46-generic (i40e)
625
626    * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
627
628      * Firmware version: 9.00 0x8000ce90 1.3179.0
629      * Device id (pf/vf): 8086:158b / 8086:154c
630      * Driver version(out-tree): 2.20.12 (i40e)
631      * Driver version(in-tree): 5.15.0-46-generic (i40e)
632
633    * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
634
635      * Firmware version(PF): 9.00 0x8000ce86 1.3179.0
636      * Device id (pf/vf): 8086:1583 / 8086:154c
637      * Driver version(out-tree): 2.20.12 (i40e)
638      * Driver version(in-tree): 5.15.0-46-generic (i40e)
639
640    * Intel\ |reg| Ethernet Converged Network Adapter X710-T2L
641
642      * Firmware version: 9.00 0x8000ce67 1.3179.0
643      * Device id (pf): 8086:15ff
644      * Driver version: 2.20.12 (i40e)
645
646* Intel\ |reg| platforms with NVIDIA\ |reg| NICs combinations
647
648  * CPU:
649
650    * Intel\ |reg| Xeon\ |reg| Gold 6154 CPU @ 3.00GHz
651    * Intel\ |reg| Xeon\ |reg| CPU E5-2697A v4 @ 2.60GHz
652    * Intel\ |reg| Xeon\ |reg| CPU E5-2697 v3 @ 2.60GHz
653    * Intel\ |reg| Xeon\ |reg| CPU E5-2680 v2 @ 2.80GHz
654    * Intel\ |reg| Xeon\ |reg| CPU E5-2670 0 @ 2.60GHz
655    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v4 @ 2.20GHz
656    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 v3 @ 2.30GHz
657    * Intel\ |reg| Xeon\ |reg| CPU E5-2640 @ 2.50GHz
658    * Intel\ |reg| Xeon\ |reg| CPU E5-2650 0 @ 2.00GHz
659    * Intel\ |reg| Xeon\ |reg| CPU E5-2620 v4 @ 2.10GHz
660
661  * OS:
662
663    * Red Hat Enterprise Linux release 8.6 (Ootpa)
664    * Red Hat Enterprise Linux release 8.4 (Ootpa)
665    * Red Hat Enterprise Linux release 8.2 (Ootpa)
666    * Red Hat Enterprise Linux Server release 7.9 (Maipo)
667    * Red Hat Enterprise Linux Server release 7.8 (Maipo)
668    * Red Hat Enterprise Linux Server release 7.6 (Maipo)
669    * Red Hat Enterprise Linux Server release 7.5 (Maipo)
670    * Red Hat Enterprise Linux Server release 7.4 (Maipo)
671    * Ubuntu 22.04
672    * Ubuntu 20.04
673    * Ubuntu 18.04
674    * SUSE Enterprise Linux 15 SP2
675
676  * OFED:
677
678    * MLNX_OFED 5.8-1.0.1.1 and above
679    * MLNX_OFED 5.7-1.0.2.0
680
681  * upstream kernel:
682
683    * Linux 6.1.0-rc3 and above
684
685  * rdma-core:
686
687    * rdma-core-43.0 and above
688
689  * NICs:
690
691    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCC_Ax (2x40G)
692
693      * Host interface: PCI Express 3.0 x8
694      * Device ID: 15b3:1007
695      * Firmware version: 2.42.5000
696
697    * NVIDIA\ |reg| ConnectX\ |reg|-3 Pro 40G MCX354A-FCCT (2x40G)
698
699      * Host interface: PCI Express 3.0 x8
700      * Device ID: 15b3:1007
701      * Firmware version: 2.42.5000
702
703    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 25G MCX4121A-ACAT (2x25G)
704
705      * Host interface: PCI Express 3.0 x8
706      * Device ID: 15b3:1015
707      * Firmware version: 14.32.1010 and above
708
709    * NVIDIA\ |reg| ConnectX\ |reg|-4 Lx 50G MCX4131A-GCAT (1x50G)
710
711      * Host interface: PCI Express 3.0 x8
712      * Device ID: 15b3:1015
713      * Firmware version: 14.32.1010 and above
714
715    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX516A-CCAT (2x100G)
716
717      * Host interface: PCI Express 3.0 x16
718      * Device ID: 15b3:1017
719      * Firmware version: 16.35.1012 and above
720
721    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
722
723      * Host interface: PCI Express 3.0 x16
724      * Device ID: 15b3:1017
725      * Firmware version: 16.35.1012 and above
726
727    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-EDAT (2x100G)
728
729      * Host interface: PCI Express 3.0 x16
730      * Device ID: 15b3:1017
731      * Firmware version: 16.35.1012 and above
732
733    * NVIDIA\ |reg| ConnectX\ |reg|-5 Ex EN 100G MCX516A-CDAT (2x100G)
734
735      * Host interface: PCI Express 4.0 x16
736      * Device ID: 15b3:1019
737      * Firmware version: 16.35.1012 and above
738
739    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
740
741      * Host interface: PCI Express 4.0 x16
742      * Device ID: 15b3:101d
743      * Firmware version: 22.35.1012 and above
744
745    * NVIDIA\ |reg| ConnectX\ |reg|-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
746
747      * Host interface: PCI Express 4.0 x8
748      * Device ID: 15b3:101f
749      * Firmware version: 26.35.1012 and above
750
751    * NVIDIA\ |reg| ConnectX\ |reg|-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
752
753      * Host interface: PCI Express 5.0 x16
754      * Device ID: 15b3:1021
755      * Firmware version: 28.35.1012 and above
756
757* NVIDIA\ |reg| BlueField\ |reg| SmartNIC
758
759  * NVIDIA\ |reg| BlueField\ |reg|-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
760
761    * Host interface: PCI Express 3.0 x16
762    * Device ID: 15b3:a2d6
763    * Firmware version: 24.35.1012 and above
764
765  * Embedded software:
766
767    * Ubuntu 20.04.3
768    * MLNX_OFED 5.8-1.0.1.1 and above
769    * DOCA 1.5 with BlueField 3.9.3
770    * DPDK application running on ARM cores
771
772* IBM Power 9 platforms with NVIDIA\ |reg| NICs combinations
773
774  * CPU:
775
776    * POWER9 2.2 (pvr 004e 1202)
777
778  * OS:
779
780    * Ubuntu 20.04
781
782  * NICs:
783
784    * NVIDIA\ |reg| ConnectX\ |reg|-5 100G MCX556A-ECAT (2x100G)
785
786      * Host interface: PCI Express 4.0 x16
787      * Device ID: 15b3:1017
788      * Firmware version: 16.35.1012
789
790    * NVIDIA\ |reg| ConnectX\ |reg|-6 Dx 100G MCX623106AN-CDAT (2x100G)
791
792      * Host interface: PCI Express 4.0 x16
793      * Device ID: 15b3:101d
794      * Firmware version: 22.35.1012
795
796  * OFED:
797
798    * MLNX_OFED 5.8-1.0.1.1
799