1.. SPDX-License-Identifier: BSD-3-Clause 2 Copyright 2024 The DPDK contributors 3 4.. include:: <isonum.txt> 5 6DPDK Release 24.11 7================== 8 9New Features 10------------ 11 12* **Added new bit manipulation API.** 13 14 Extended support for bit-level operations on single 32 and 64-bit words in 15 ``<rte_bitops.h>`` with semantically well-defined functions. 16 17 * ``rte_bit_[test|set|clear|assign|flip]`` functions provide excellent 18 performance (by avoiding restricting the compiler and CPU), but give 19 no guarantees in relation to memory ordering or atomicity. 20 21 * ``rte_bit_atomic_*`` provide atomic bit-level operations including 22 the possibility to specify memory ordering constraints. 23 24 The new public API elements are polymorphic, using the _Generic-based 25 macros (for C) and function overloading (in C++ translation units). 26 27* **Added multi-word bitset API.** 28 29 Introduced a new multi-word bitset API to the EAL. 30 31 The RTE bitset is optimized for scenarios where the bitset size exceeds the 32 capacity of a single word (e.g., larger than 64 bits), but is not large 33 enough to justify the overhead and complexity of the more scalable, 34 yet slower, ``<rte_bitmap.h>`` API. 35 36 This addition provides an efficient and straightforward alternative 37 for handling bitsets of intermediate size. 38 39* **Added a per-lcore static memory allocation facility.** 40 41 Added EAL API ``<rte_lcore_var.h>`` for statically allocating small, 42 frequently-accessed data structures, for which one instance should exist 43 for each EAL thread and registered non-EAL thread. 44 45 With lcore variables, data is organized spatially on a per-lcore id basis, 46 rather than per library or PMD, avoiding the need for cache aligning 47 (or RTE_CACHE_GUARDing) data structures, which in turn 48 reduces CPU cache internal fragmentation and improves performance. 49 50 Lcore variables are similar to thread-local storage (TLS, e.g. C11 ``_Thread_local``), 51 but decouples the values' life times from those of the threads. 52 53* **Extended service cores statistics.** 54 55 Two new per-service counters are added to the service cores framework. 56 57 * ``RTE_SERVICE_ATTR_IDLE_CALL_COUNT`` tracks the number of service function 58 invocations where no actual work was performed. 59 60 * ``RTE_SERVICE_ATTR_ERROR_CALL_COUNT`` tracks the number of invocations 61 resulting in an error. 62 63 The new statistics are useful for debugging and profiling. 64 65* **Hardened rte_malloc and related functions.** 66 67 Added function attributes to ``rte_malloc`` and similar functions 68 that can catch some obvious bugs at compile time (with GCC 11.0 or later). 69 For example, calling ``free`` on a pointer that was allocated with ``rte_malloc`` 70 (and vice versa); freeing the same pointer twice in the same routine or 71 freeing an object that was not created by allocation. 72 73* **Updated logging library.** 74 75 * The log subsystem is initialized earlier in startup so all messages go through the library. 76 77 * If the application is a systemd service and the log output is being sent to standard error 78 then DPDK will switch to journal native protocol. 79 This allows more data such as severity to be sent. 80 81 * The syslog option has changed. 82 By default, messages are no longer sent to syslog unless the ``--syslog`` option is specified. 83 Syslog is also supported on FreeBSD (but not on Windows). 84 85 * Log messages can be timestamped with ``--log-timestamp`` option. 86 87 * Log messages can be colorized with the ``--log-color`` option. 88 89* **Updated Marvell cnxk mempool driver.** 90 91 * Added mempool driver support for CN20K SoC. 92 93* **Added more ICMP message types and codes.** 94 95 Added new ICMP message types and codes from RFC 792 in ``rte_icmp.h``. 96 97* **Added IPv6 address structure and related utilities.** 98 99 A new IPv6 address structure is now available in ``rte_ip6.h``. 100 It comes with a set of helper functions and macros. 101 102* **Added link speed lanes API.** 103 104 Added functions to query or force the link lanes configuration. 105 106* **Added Ethernet device clock frequency adjustment.** 107 108 Added the function ``rte_eth_timesync_adjust_freq`` 109 to adjust the clock frequency for Ethernet devices. 110 111* **Extended flow table index features.** 112 113 * Extended the flow table insertion type enum with the 114 ``RTE_FLOW_TABLE_INSERTION_TYPE_INDEX_WITH_PATTERN`` type. 115 * Added a function for inserting a flow rule by index with pattern: 116 ``rte_flow_async_create_by_index_with_pattern()``. 117 * Added a flow action to redirect packets to a particular index in a flow table: 118 ``RTE_FLOW_ACTION_TYPE_JUMP_TO_TABLE_INDEX``. 119 120* **Added support for dumping registers with names and filtering by modules.** 121 122 Added a new function ``rte_eth_dev_get_reg_info_ext()`` 123 to filter the registers by module names and get the information 124 (names, values and other attributes) of the filtered registers. 125 126* **Updated Amazon ENA (Elastic Network Adapter) net driver.** 127 128 * Modified the PMD API that controls the LLQ header policy. 129 * Replaced ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs 130 with a new shared devarg ``llq_policy`` that maintains the same logic. 131 * Added a validation check for Rx packet descriptor consistency. 132 133* **Updated Cisco enic driver.** 134 135 * Added SR-IOV VF support. 136 * Added recent 1400/14000 and 15000 models to the supported list. 137 138* **Updated Marvell cnxk net driver.** 139 140 * Added ethdev driver support for CN20K SoC. 141 142* **Updated Napatech ntnic net driver [EXPERIMENTAL].** 143 144 * Updated supported version of the FPGA to 9563.55.49. 145 * Extended and fixed logging. 146 * Added: 147 148 - NT flow filter initialization. 149 - NT flow backend initialization. 150 - Initialization of FPGA modules related to flow HW offload. 151 - Basic handling of the virtual queues. 152 - Flow handling support. 153 - Statistics support. 154 - Age flow action support. 155 - Meter flow metering and flow policy support. 156 - Flow actions update support. 157 - Asynchronous flow support. 158 - MTU update support. 159 160* **Updated NVIDIA mlx5 net driver.** 161 162 * Added ``rte_flow_async_create_by_index_with_pattern()`` support. 163 * Added jump to flow table index support. 164 165* **Added Realtek r8169 net driver.** 166 167 Added a new network PMD which supports Realtek 2.5 and 5 Gigabit 168 Ethernet NICs. 169 170* **Added ZTE zxdh net driver [EXPERIMENTAL].** 171 172 Added ethdev driver support for the zxdh NX Series Ethernet Controller. 173 This has: 174 175 * The ability to initialize the NIC. 176 * No datapath support. 177 178* **Added cryptodev queue pair reset support.** 179 180 A new API ``rte_cryptodev_queue_pair_reset`` is added 181 to reset a particular queue pair of a device. 182 183* **Added cryptodev asymmetric EdDSA support.** 184 185 Added asymmetric EdDSA as referenced in `RFC 8032 186 <https://datatracker.ietf.org/doc/html/rfc8032>`_. 187 188* **Added cryptodev SM4-XTS support.** 189 190 Added symmetric cipher algorithm ShangMi 4 (SM4) in XTS mode. 191 192* **Updated IPsec_MB crypto driver.** 193 194 * Added support for the SM3 algorithm. 195 * Added support for the SM3 HMAC algorithm. 196 * Added support for the SM4 CBC, SM4 ECB and SM4 CTR algorithms. 197 * Bumped the minimum version requirement of Intel IPsec Multi-buffer library to v1.4. 198 Affected PMDs: KASUMI, SNOW3G, ZUC, AESNI GCM, AESNI MB and CHACHAPOLY. 199 200* **Updated openssl crypto driver.** 201 202 * Added support for asymmetric crypto EdDSA algorithm. 203 204* **Updated Marvell cnxk crypto driver.** 205 206 * Added support for asymmetric crypto EdDSA algorithm. 207 208* **Added stateless IPsec processing.** 209 210 New functions were added to enable 211 providing sequence number to be used for the IPsec operation. 212 213* **Added strict priority capability for dmadev.** 214 215 Added new capability flag ``RTE_DMA_CAPA_PRI_POLICY_SP`` 216 to check if the DMA device supports assigning fixed priority, 217 allowing for better control over resource allocation and scheduling. 218 219* **Updated Marvell cnxk DMA driver.** 220 221 * Added support for DMA queue priority configuration. 222 223* **Added Marvell cnxk RVU LF rawdev driver.** 224 225 Added a new raw device driver for Marvell cnxk based devices 226 to allow an out-of-tree driver to manage a RVU LF device. 227 It enables operations such as sending/receiving mailbox, 228 register and notify the interrupts, etc. 229 230* **Added event device pre-scheduling support.** 231 232 Added support for pre-scheduling of events to event ports 233 to improve scheduling performance and latency. 234 235 * Added ``rte_event_dev_config::preschedule_type`` 236 to configure the device level pre-scheduling type. 237 238 * Added ``rte_event_port_preschedule_modify`` 239 to modify pre-scheduling type on a given event port. 240 241 * Added ``rte_event_port_preschedule`` 242 to allow applications provide explicit pre-schedule hints to event ports. 243 244* **Updated event device library for independent enqueue feature.** 245 246 Added support for independent enqueue feature. 247 With this feature eventdev supports enqueue in any order 248 or specifically in a different order than dequeue. 249 The feature is intended for eventdevs supporting burst mode. 250 Applications should use ``RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ`` to enable 251 the feature if the capability ``RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ`` exists. 252 253* **Updated DLB2 event driver.** 254 255 * Added independent enqueue feature. 256 257* **Updated DSW event driver.** 258 259 * Added independent enqueue feature. 260 261* **Updated Marvell cnxk event device driver.** 262 263 * Added eventdev driver support for CN20K SoC. 264 265* **Added IPv4 network order lookup in the FIB library.** 266 267 A new flag field is introduced in the ``rte_fib_conf`` structure. 268 This field is used to pass an extra configuration settings such as the ability 269 to lookup IPv4 addresses in network byte order. 270 271* **Added RSS hash key generating API.** 272 273 A new function ``rte_thash_gen_key`` is provided to modify the RSS hash key 274 to achieve better traffic distribution with RSS. 275 276* **Added per-CPU power management QoS interface.** 277 278 Added per-CPU PM QoS interface to lower the resume latency 279 when waking up from idle state. 280 281* **Added new API to register telemetry endpoint callbacks with private arguments.** 282 283 A new ``rte_telemetry_register_cmd_arg`` function is available to pass an opaque value to 284 telemetry endpoint callback. 285 286* **Added node specific statistics.** 287 288 Added ability for a node to advertise and update multiple xstat counters, 289 that can be retrieved using ``rte_graph_cluster_stats_get``. 290 291 292Removed Items 293------------- 294 295* ethdev: Removed the ``__rte_ethdev_trace_rx_burst`` symbol, as the corresponding 296 tracepoint was split into two separate ones for empty and non-empty calls. 297 298 299API Changes 300----------- 301 302* kvargs: reworked the process API. 303 304 * The already existing ``rte_kvargs_process`` now only handles ``key=value`` cases and 305 rejects input where only a key is present in the parsed string. 306 * ``rte_kvargs_process_opt`` has been added to behave as ``rte_kvargs_process`` in previous 307 releases: it handles key=value and only-key cases. 308 * Both ``rte_kvargs_process`` and ``rte_kvargs_process_opt`` reject a NULL ``kvlist`` parameter. 309 310* net: The IPv4 header structure ``rte_ipv4_hdr`` has been marked as two bytes aligned. 311 312* net: The ICMP message types ``RTE_IP_ICMP_ECHO_REPLY`` and ``RTE_IP_ICMP_ECHO_REQUEST`` 313 are marked as deprecated, and are replaced 314 by ``RTE_ICMP_TYPE_ECHO_REPLY`` and ``RTE_ICMP_TYPE_ECHO_REQUEST``. 315 316* net: The IPv6 header structure ``rte_ipv6_hdr`` and extension structures ``rte_ipv6_routing_ext`` 317 and ``rte_ipv6_fragment_ext`` have been marked as two bytes aligned. 318 319* net: A new IPv6 address structure was introduced to replace ad-hoc ``uint8_t[16]`` arrays. 320 The following libraries and symbols were modified: 321 322 - cmdline: 323 324 - ``cmdline_ipaddr_t`` 325 326 - ethdev: 327 328 - ``struct rte_flow_action_set_ipv6`` 329 - ``struct rte_flow_item_icmp6_nd_na`` 330 - ``struct rte_flow_item_icmp6_nd_ns`` 331 - ``struct rte_flow_tunnel`` 332 333 - fib: 334 335 - ``rte_fib6_add()`` 336 - ``rte_fib6_delete()`` 337 - ``rte_fib6_lookup_bulk()`` 338 - ``RTE_FIB6_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) 339 - ``RTE_FIB6_MAXDEPTH`` (deprecated, replaced with ``RTE_IPV6_MAX_DEPTH``) 340 341 - hash: 342 343 - ``struct rte_ipv6_tuple`` 344 345 - ipsec: 346 347 - ``struct rte_ipsec_sadv6_key`` 348 349 - lpm: 350 351 - ``rte_lpm6_add()`` 352 - ``rte_lpm6_delete()`` 353 - ``rte_lpm6_delete_bulk_func()`` 354 - ``rte_lpm6_is_rule_present()`` 355 - ``rte_lpm6_lookup()`` 356 - ``rte_lpm6_lookup_bulk_func()`` 357 - ``RTE_LPM6_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) 358 - ``RTE_LPM6_MAX_DEPTH`` (deprecated, replaced with ``RTE_IPV6_MAX_DEPTH``) 359 360 - net: 361 362 - ``struct rte_ipv6_hdr`` 363 364 - node: 365 366 - ``rte_node_ip6_route_add()`` 367 368 - pipeline: 369 370 - ``struct rte_swx_ipsec_sa_encap_params`` 371 - ``struct rte_table_action_ipv6_header`` 372 - ``struct rte_table_action_nat_params`` 373 374 - security: 375 376 - ``struct rte_security_ipsec_tunnel_param`` 377 378 - table: 379 380 - ``struct rte_table_lpm_ipv6_key`` 381 - ``RTE_LPM_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) 382 383 - rib: 384 385 - ``rte_rib6_get_ip()`` 386 - ``rte_rib6_get_nxt()`` 387 - ``rte_rib6_insert()`` 388 - ``rte_rib6_lookup()`` 389 - ``rte_rib6_lookup_exact()`` 390 - ``rte_rib6_remove()`` 391 - ``RTE_RIB6_IPV6_ADDR_SIZE`` (deprecated, replaced with ``RTE_IPV6_ADDR_SIZE``) 392 - ``get_msk_part()`` (deprecated) 393 - ``rte_rib6_copy_addr()`` (deprecated, replaced with direct structure assignments) 394 - ``rte_rib6_is_equal()`` (deprecated, replaced with ``rte_ipv6_addr_eq()``) 395 396* drivers/net/ena: Removed ``enable_llq``, ``normal_llq_hdr`` and ``large_llq_hdr`` devargs 397 and replaced it with a new shared devarg ``llq_policy`` that keeps the same logic. 398 399 400ABI Changes 401----------- 402 403* eal: The maximum number of file descriptors that can be passed to a secondary process 404 has been increased from 8 to 253 (which is the maximum possible with Unix domain sockets). 405 This allows for more queues when using software devices such as TAP and XDP. 406 407* ethdev: Added ``filter`` and ``names`` fields to ``rte_dev_reg_info`` structure 408 for filtering by modules and reporting names of registers. 409 410* cryptodev: The queue pair configuration structure ``rte_cryptodev_qp_conf`` 411 is updated to have a new parameter to set priority of that particular queue pair. 412 413* cryptodev: The list end enumerators ``RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END`` 414 and ``RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END`` are removed 415 to allow subsequent addition of new asymmetric algorithms and RSA padding types. 416 417* cryptodev: The enum ``rte_crypto_asym_xform_type`` and struct ``rte_crypto_asym_op`` 418 are updated to include new values to support EdDSA. 419 420* cryptodev: The ``rte_crypto_rsa_xform`` struct member to hold private key data 421 in either exponent or quintuple format is changed from a union to a struct data type. 422 This change is to support ASN.1 syntax (RFC 3447 Appendix A.1.2). 423 424* cryptodev: The padding struct ``rte_crypto_rsa_padding`` is moved 425 from ``rte_crypto_rsa_op_param`` to ``rte_crypto_rsa_xform`` 426 as the padding information is part of session creation 427 instead of the per packet crypto operation. 428 This change is required to support virtio-crypto specifications. 429 430* bbdev: The structure ``rte_bbdev_stats`` was updated to add a new parameter 431 to optionally report the number of enqueue batches available ``enqueue_depth_avail``. 432 433* dmadev: Added ``nb_priorities`` field to the ``rte_dma_info`` structure 434 and ``priority`` field to the ``rte_dma_conf`` structure 435 to get device supported priority levels 436 and configure required priority from the application. 437 438* eventdev: Added the ``preschedule_type`` field to ``rte_event_dev_config`` structure. 439 440* eventdev: Removed the single-event enqueue and dequeue function pointers 441 from ``rte_event_fp_fps``. 442 443* graph: To accommodate node specific xstats counters, added ``xstat_cntrs``, 444 ``xstat_desc`` and ``xstat_count`` to ``rte_graph_cluster_node_stats``, 445 added new structure ``rte_node_xstats`` to ``rte_node_register`` and 446 added ``xstat_off`` to ``rte_node``. 447 448* graph: The members ``dispatch`` and ``xstat_off`` of the structure ``rte_node`` 449 have been marked as ``RTE_CACHE_LINE_MIN_SIZE`` bytes aligned. 450 451 452Tested Platforms 453---------------- 454 455* Intel\ |reg| platforms with Intel\ |reg| NICs combinations 456 457 * CPU 458 459 * Intel Atom\ |reg| P5342 processor 460 * Intel\ |reg| Atom\ |trade| CPU C3758 @ 2.20GHz 461 * Intel\ |reg| Xeon\ |reg| CPU D-1553N @ 2.30GHz 462 * Intel\ |reg| Xeon\ |reg| CPU E5-2699 v4 @ 2.20GHz 463 * Intel\ |reg| Xeon\ |reg| D-1747NTE CPU @ 2.50GHz 464 * Intel\ |reg| Xeon\ |reg| D-2796NT CPU @ 2.00GHz 465 * Intel\ |reg| Xeon\ |reg| Gold 6139 CPU @ 2.30GHz 466 * Intel\ |reg| Xeon\ |reg| Gold 6140M CPU @ 2.30GHz 467 * Intel\ |reg| Xeon\ |reg| Gold 6252N CPU @ 2.30GHz 468 * Intel\ |reg| Xeon\ |reg| Gold 6348 CPU @ 2.60GHz 469 * Intel\ |reg| Xeon\ |reg| Platinum 8280M CPU @ 2.70GHz 470 * Intel\ |reg| Xeon\ |reg| Platinum 8358 CPU @ 2.60GHz 471 * Intel\ |reg| Xeon\ |reg| Platinum 8380 CPU @ 2.30GHz 472 * Intel\ |reg| Xeon\ |reg| Platinum 8468H 473 * Intel\ |reg| Xeon\ |reg| Platinum 8490H 474 475 * OS: 476 477 * Microsoft Azure Linux 3.0 478 * Fedora 40 479 * FreeBSD 14.1 480 * OpenAnolis OS 8.9 481 * openEuler 24.03 (LTS) 482 * Red Hat Enterprise Linux Server release 9.4 483 * Ubuntu 22.04.3 484 * Ubuntu 22.04.4 485 * Ubuntu 24.04 486 * Ubuntu 24.04.1 487 488 * NICs: 489 490 * Intel\ |reg| Ethernet Controller E810-C for SFP (4x25G) 491 492 * Firmware version: 4.60 0x8001e8b2 1.3682.0 493 * Device id (pf/vf): 8086:1593 / 8086:1889 494 * Driver version(out-tree): 1.15.4 (ice) 495 * Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1) / 496 5.14.0-427.13.1.el9_4.x86_64+rt (RHEL9.4) (ice) 497 * OS Default DDP: 1.3.36.0 498 * COMMS DDP: 1.3.46.0 499 * Wireless Edge DDP: 1.3.14.0 500 501 * Intel\ |reg| Ethernet Controller E810-C for QSFP (2x100G) 502 503 * Firmware version: 4.60 0x8001e8b1 1.3682.0 504 * Device id (pf/vf): 8086:1592 / 8086:1889 505 * Driver version(out-tree): 1.15.4 (ice) 506 * Driver version(in-tree): 6.6.12.1-1.azl3+ice+ (Microsoft Azure Linux 3.0) (ice) 507 * OS Default DDP: 1.3.36.0 508 * COMMS DDP: 1.3.46.0 509 * Wireless Edge DDP: 1.3.14.0 510 511 * Intel\ |reg| Ethernet Controller E810-XXV for SFP (2x25G) 512 513 * Firmware version: 4.60 0x8001e8b0 1.3682.0 514 * Device id (pf/vf): 8086:159b / 8086:1889 515 * Driver version: 1.15.4 (ice) 516 * OS Default DDP: 1.3.36.0 517 * COMMS DDP: 1.3.46.0 518 519 * Intel\ |reg| Ethernet Connection E823-C for QSFP 520 521 * Firmware version: 3.42 0x8001f66b 1.3682.0 522 * Device id (pf/vf): 8086:188b / 8086:1889 523 * Driver version: 1.15.4 (ice) 524 * OS Default DDP: 1.3.36.0 525 * COMMS DDP: 1.3.46.0 526 * Wireless Edge DDP: 1.3.14.0 527 528 * Intel\ |reg| Ethernet Connection E823-L for QSFP 529 530 * Firmware version: 3.42 0x8001ea89 1.3636.0 531 * Device id (pf/vf): 8086:124c / 8086:1889 532 * Driver version: 1.15.4 (ice) 533 * OS Default DDP: 1.3.36.0 534 * COMMS DDP: 1.3.46.0 535 * Wireless Edge DDP: 1.3.14.0 536 537 * Intel\ |reg| Ethernet Connection E822-L for backplane 538 539 * Firmware version: 3.42 0x8001eaad 1.3636.0 540 * Device id (pf/vf): 8086:1897 / 8086:1889 541 * Driver version: 1.15.4 (ice) 542 * OS Default DDP: 1.3.36.0 543 * COMMS DDP: 1.3.46.0 544 * Wireless Edge DDP: 1.3.14.0 545 546 * Intel\ |reg| Ethernet Network Adapter E830-XXVDA2 for OCP 547 548 * Firmware version: 1.00 0x8000942a 1.3672.0 549 * Device id (pf/vf): 8086:12d3 / 8086:1889 550 * Driver version: 1.15.4 (ice) 551 * OS Default DDP: 1.3.38.0 552 553 * Intel\ |reg| Ethernet Network Adapter E830-CQDA2 554 555 * Firmware version: 1.00 0x8000d294 1.3722.0 556 * Device id (pf/vf): 8086:12d2 / 8086:1889 557 * Driver version: 1.15.4 (ice) 558 * OS Default DDP: 1.3.39.0 559 * COMMS DDP: 1.3.51.0 560 * Wireless Edge DDP: 1.3.19.0 561 562 * Intel\ |reg| 82599ES 10 Gigabit Ethernet Controller 563 564 * Firmware version: 0x000161bf 565 * Device id (pf/vf): 8086:10fb / 8086:10ed 566 * Driver version(out-tree): 5.21.5 (ixgbe) 567 * Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1) 568 569 * Intel\ |reg| Ethernet Network Adapter E610-XT2 570 571 * Firmware version: 1.00 0x800066ae 0.0.0 572 * Device id (pf/vf): 8086:57b0 / 8086:57ad 573 * Driver version(out-tree): 5.21.5 (ixgbe) 574 575 * Intel\ |reg| Ethernet Network Adapter E610-XT4 576 577 * Firmware version: 1.00 0x80004ef2 0.0.0 578 * Device id (pf/vf): 8086:57b0 / 8086:57ad 579 * Driver version(out-tree): 5.21.5 (ixgbe) 580 581 * Intel\ |reg| Ethernet Converged Network Adapter X710-DA4 (4x10G) 582 583 * Firmware version: 9.50 0x8000f4c6 1.3682.0 584 * Device id (pf/vf): 8086:1572 / 8086:154c 585 * Driver version(out-tree): 2.26.8 (i40e) 586 587 * Intel\ |reg| Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G) 588 589 * Firmware version: 6.50 0x80004216 1.3597.0 590 * Device id (pf/vf): 8086:37d0 / 8086:37cd 591 * Driver version(out-tree): 2.26.8 (i40e) 592 * Driver version(in-tree): 5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e) 593 594 * Intel\ |reg| Ethernet Converged Network Adapter XXV710-DA2 (2x25G) 595 596 * Firmware version: 9.50 0x8000f4e1 1.3682.0 597 * Device id (pf/vf): 8086:158b / 8086:154c 598 * Driver version(out-tree): 2.26.8 (i40e) 599 * Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1) / 600 5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e) 601 602 * Intel\ |reg| Ethernet Converged Network Adapter XL710-QDA2 (2X40G) 603 604 * Firmware version(PF): 9.50 0x8000f4fe 1.3682.0 605 * Device id (pf/vf): 8086:1583 / 8086:154c 606 * Driver version(out-tree): 2.26.8 (i40e) 607 608 * Intel\ |reg| Ethernet Controller I225-LM 609 610 * Firmware version: 1.3, 0x800000c9 611 * Device id (pf): 8086:15f2 612 * Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1)(igc) 613 614 * Intel\ |reg| Ethernet Controller I226-LM 615 616 * Firmware version: 2.14, 0x8000028c 617 * Device id (pf): 8086:125b 618 * Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1)(igc) 619