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