1. DPDK Release 24.11

1.1. New Features

  • Added new bit manipulation API.

    Extended support for bit-level operations on single 32 and 64-bit words in <rte_bitops.h> with semantically well-defined functions.

    • rte_bit_[test|set|clear|assign|flip] functions provide excellent performance (by avoiding restricting the compiler and CPU), but give no guarantees in relation to memory ordering or atomicity.
    • rte_bit_atomic_* provide atomic bit-level operations including the possibility to specify memory ordering constraints.

    The new public API elements are polymorphic, using the _Generic-based macros (for C) and function overloading (in C++ translation units).

  • Added multi-word bitset API.

    Introduced a new multi-word bitset API to the EAL.

    The RTE bitset is optimized for scenarios where the bitset size exceeds the capacity of a single word (e.g., larger than 64 bits), but is not large enough to justify the overhead and complexity of the more scalable, yet slower, <rte_bitmap.h> API.

    This addition provides an efficient and straightforward alternative for handling bitsets of intermediate size.

  • Added a per-lcore static memory allocation facility.

    Added EAL API <rte_lcore_var.h> for statically allocating small, frequently-accessed data structures, for which one instance should exist for each EAL thread and registered non-EAL thread.

    With lcore variables, data is organized spatially on a per-lcore id basis, rather than per library or PMD, avoiding the need for cache aligning (or RTE_CACHE_GUARDing) data structures, which in turn reduces CPU cache internal fragmentation and improves performance.

    Lcore variables are similar to thread-local storage (TLS, e.g. C11 _Thread_local), but decouples the values’ life times from those of the threads.

  • Extended service cores statistics.

    Two new per-service counters are added to the service cores framework.

    • RTE_SERVICE_ATTR_IDLE_CALL_COUNT tracks the number of service function invocations where no actual work was performed.
    • RTE_SERVICE_ATTR_ERROR_CALL_COUNT tracks the number of invocations resulting in an error.

    The new statistics are useful for debugging and profiling.

  • Hardened rte_malloc and related functions.

    Added function attributes to rte_malloc and similar functions that can catch some obvious bugs at compile time (with GCC 11.0 or later). For example, calling free on a pointer that was allocated with rte_malloc (and vice versa); freeing the same pointer twice in the same routine or freeing an object that was not created by allocation.

  • Updated logging library.

    • The log subsystem is initialized earlier in startup so all messages go through the library.
    • If the application is a systemd service and the log output is being sent to standard error then DPDK will switch to journal native protocol. This allows more data such as severity to be sent.
    • The syslog option has changed. By default, messages are no longer sent to syslog unless the --syslog option is specified. Syslog is also supported on FreeBSD (but not on Windows).
    • Log messages can be timestamped with --log-timestamp option.
    • Log messages can be colorized with the --log-color option.
  • Updated Marvell cnxk mempool driver.

    • Added mempool driver support for CN20K SoC.
  • Added more ICMP message types and codes.

    Added new ICMP message types and codes from RFC 792 in rte_icmp.h.

  • Added IPv6 address structure and related utilities.

    A new IPv6 address structure is now available in rte_ip6.h. It comes with a set of helper functions and macros.

  • Added link speed lanes API.

    Added functions to query or force the link lanes configuration.

  • Added Ethernet device clock frequency adjustment.

    Added the function rte_eth_timesync_adjust_freq to adjust the clock frequency for Ethernet devices.

  • Extended flow table index features.

    • Extended the flow table insertion type enum with the RTE_FLOW_TABLE_INSERTION_TYPE_INDEX_WITH_PATTERN type.
    • Added a function for inserting a flow rule by index with pattern: rte_flow_async_create_by_index_with_pattern().
    • Added a flow action to redirect packets to a particular index in a flow table: RTE_FLOW_ACTION_TYPE_JUMP_TO_TABLE_INDEX.
  • Added support for dumping registers with names and filtering by modules.

    Added a new function rte_eth_dev_get_reg_info_ext() to filter the registers by module names and get the information (names, values and other attributes) of the filtered registers.

  • Updated Amazon ENA (Elastic Network Adapter) net driver.

    • Modified the PMD API that controls the LLQ header policy.
    • Replaced enable_llq, normal_llq_hdr and large_llq_hdr devargs with a new shared devarg llq_policy that maintains the same logic.
    • Added a validation check for Rx packet descriptor consistency.
  • Updated Cisco enic driver.

    • Added SR-IOV VF support.
    • Added recent 1400/14000 and 15000 models to the supported list.
  • Updated Marvell cnxk net driver.

    • Added ethdev driver support for CN20K SoC.
  • Updated Napatech ntnic net driver [EXPERIMENTAL].

    • Updated supported version of the FPGA to 9563.55.49.
    • Extended and fixed logging.
    • Added:
      • NT flow filter initialization.
      • NT flow backend initialization.
      • Initialization of FPGA modules related to flow HW offload.
      • Basic handling of the virtual queues.
      • Flow handling support.
      • Statistics support.
      • Age flow action support.
      • Meter flow metering and flow policy support.
      • Flow actions update support.
      • Asynchronous flow support.
      • MTU update support.
  • Updated NVIDIA mlx5 net driver.

    • Added rte_flow_async_create_by_index_with_pattern() support.
    • Added jump to flow table index support.
  • Added Realtek r8169 net driver.

    Added a new network PMD which supports Realtek 2.5 and 5 Gigabit Ethernet NICs.

  • Added ZTE zxdh net driver [EXPERIMENTAL].

    Added ethdev driver support for the zxdh NX Series Ethernet Controller. This has:

    • The ability to initialize the NIC.
    • No datapath support.
  • Added cryptodev queue pair reset support.

    A new API rte_cryptodev_queue_pair_reset is added to reset a particular queue pair of a device.

  • Added cryptodev asymmetric EdDSA support.

    Added asymmetric EdDSA as referenced in RFC 8032.

  • Added cryptodev SM4-XTS support.

    Added symmetric cipher algorithm ShangMi 4 (SM4) in XTS mode.

  • Updated IPsec_MB crypto driver.

    • Added support for the SM3 algorithm.
    • Added support for the SM3 HMAC algorithm.
    • Added support for the SM4 CBC, SM4 ECB and SM4 CTR algorithms.
    • Bumped the minimum version requirement of Intel IPsec Multi-buffer library to v1.4. Affected PMDs: KASUMI, SNOW3G, ZUC, AESNI GCM, AESNI MB and CHACHAPOLY.
  • Updated openssl crypto driver.

    • Added support for asymmetric crypto EdDSA algorithm.
  • Updated Marvell cnxk crypto driver.

    • Added support for asymmetric crypto EdDSA algorithm.
  • Added stateless IPsec processing.

    New functions were added to enable providing sequence number to be used for the IPsec operation.

  • Added strict priority capability for dmadev.

    Added new capability flag RTE_DMA_CAPA_PRI_POLICY_SP to check if the DMA device supports assigning fixed priority, allowing for better control over resource allocation and scheduling.

  • Updated Marvell cnxk DMA driver.

    • Added support for DMA queue priority configuration.
  • Added Marvell cnxk RVU LF rawdev driver.

    Added a new raw device driver for Marvell cnxk based devices to allow an out-of-tree driver to manage a RVU LF device. It enables operations such as sending/receiving mailbox, register and notify the interrupts, etc.

  • Added event device pre-scheduling support.

    Added support for pre-scheduling of events to event ports to improve scheduling performance and latency.

    • Added rte_event_dev_config::preschedule_type to configure the device level pre-scheduling type.
    • Added rte_event_port_preschedule_modify to modify pre-scheduling type on a given event port.
    • Added rte_event_port_preschedule to allow applications provide explicit pre-schedule hints to event ports.
  • Updated event device library for independent enqueue feature.

    Added support for independent enqueue feature. With this feature eventdev supports enqueue in any order or specifically in a different order than dequeue. The feature is intended for eventdevs supporting burst mode. Applications should use RTE_EVENT_PORT_CFG_INDEPENDENT_ENQ to enable the feature if the capability RTE_EVENT_DEV_CAP_INDEPENDENT_ENQ exists.

  • Updated DLB2 event driver.

    • Added independent enqueue feature.
  • Updated DSW event driver.

    • Added independent enqueue feature.
  • Updated Marvell cnxk event device driver.

    • Added eventdev driver support for CN20K SoC.
  • Added IPv4 network order lookup in the FIB library.

    A new flag field is introduced in the rte_fib_conf structure. This field is used to pass an extra configuration settings such as the ability to lookup IPv4 addresses in network byte order.

  • Added RSS hash key generating API.

    A new function rte_thash_gen_key is provided to modify the RSS hash key to achieve better traffic distribution with RSS.

  • Added per-CPU power management QoS interface.

    Added per-CPU PM QoS interface to lower the resume latency when waking up from idle state.

  • Added new API to register telemetry endpoint callbacks with private arguments.

    A new rte_telemetry_register_cmd_arg function is available to pass an opaque value to telemetry endpoint callback.

  • Added node specific statistics.

    Added ability for a node to advertise and update multiple xstat counters, that can be retrieved using rte_graph_cluster_stats_get.

1.2. Removed Items

  • ethdev: Removed the __rte_ethdev_trace_rx_burst symbol, as the corresponding tracepoint was split into two separate ones for empty and non-empty calls.

1.3. API Changes

  • kvargs: reworked the process API.
    • The already existing rte_kvargs_process now only handles key=value cases and rejects input where only a key is present in the parsed string.
    • rte_kvargs_process_opt has been added to behave as rte_kvargs_process in previous releases: it handles key=value and only-key cases.
    • Both rte_kvargs_process and rte_kvargs_process_opt reject a NULL kvlist parameter.
  • net: The IPv4 header structure rte_ipv4_hdr has been marked as two bytes aligned.
  • net: The ICMP message types RTE_IP_ICMP_ECHO_REPLY and RTE_IP_ICMP_ECHO_REQUEST are marked as deprecated, and are replaced by RTE_ICMP_TYPE_ECHO_REPLY and RTE_ICMP_TYPE_ECHO_REQUEST.
  • net: The IPv6 header structure rte_ipv6_hdr and extension structures rte_ipv6_routing_ext and rte_ipv6_fragment_ext have been marked as two bytes aligned.
  • net: A new IPv6 address structure was introduced to replace ad-hoc uint8_t[16] arrays. The following libraries and symbols were modified:
    • cmdline:
      • cmdline_ipaddr_t
    • ethdev:
      • struct rte_flow_action_set_ipv6
      • struct rte_flow_item_icmp6_nd_na
      • struct rte_flow_item_icmp6_nd_ns
      • struct rte_flow_tunnel
    • fib:
      • rte_fib6_add()
      • rte_fib6_delete()
      • rte_fib6_lookup_bulk()
      • RTE_FIB6_IPV6_ADDR_SIZE (deprecated, replaced with RTE_IPV6_ADDR_SIZE)
      • RTE_FIB6_MAXDEPTH (deprecated, replaced with RTE_IPV6_MAX_DEPTH)
    • hash:
      • struct rte_ipv6_tuple
    • ipsec:
      • struct rte_ipsec_sadv6_key
    • lpm:
      • rte_lpm6_add()
      • rte_lpm6_delete()
      • rte_lpm6_delete_bulk_func()
      • rte_lpm6_is_rule_present()
      • rte_lpm6_lookup()
      • rte_lpm6_lookup_bulk_func()
      • RTE_LPM6_IPV6_ADDR_SIZE (deprecated, replaced with RTE_IPV6_ADDR_SIZE)
      • RTE_LPM6_MAX_DEPTH (deprecated, replaced with RTE_IPV6_MAX_DEPTH)
    • net:
      • struct rte_ipv6_hdr
    • node:
      • rte_node_ip6_route_add()
    • pipeline:
      • struct rte_swx_ipsec_sa_encap_params
      • struct rte_table_action_ipv6_header
      • struct rte_table_action_nat_params
    • security:
      • struct rte_security_ipsec_tunnel_param
    • table:
      • struct rte_table_lpm_ipv6_key
      • RTE_LPM_IPV6_ADDR_SIZE (deprecated, replaced with RTE_IPV6_ADDR_SIZE)
    • rib:
      • rte_rib6_get_ip()
      • rte_rib6_get_nxt()
      • rte_rib6_insert()
      • rte_rib6_lookup()
      • rte_rib6_lookup_exact()
      • rte_rib6_remove()
      • RTE_RIB6_IPV6_ADDR_SIZE (deprecated, replaced with RTE_IPV6_ADDR_SIZE)
      • get_msk_part() (deprecated)
      • rte_rib6_copy_addr() (deprecated, replaced with direct structure assignments)
      • rte_rib6_is_equal() (deprecated, replaced with rte_ipv6_addr_eq())
  • drivers/net/ena: Removed enable_llq, normal_llq_hdr and large_llq_hdr devargs and replaced it with a new shared devarg llq_policy that keeps the same logic.

1.4. ABI Changes

  • eal: The maximum number of file descriptors that can be passed to a secondary process has been increased from 8 to 253 (which is the maximum possible with Unix domain sockets). This allows for more queues when using software devices such as TAP and XDP.
  • ethdev: Added filter and names fields to rte_dev_reg_info structure for filtering by modules and reporting names of registers.
  • cryptodev: The queue pair configuration structure rte_cryptodev_qp_conf is updated to have a new parameter to set priority of that particular queue pair.
  • cryptodev: The list end enumerators RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END and RTE_CRYPTO_RSA_PADDING_TYPE_LIST_END are removed to allow subsequent addition of new asymmetric algorithms and RSA padding types.
  • cryptodev: The enum rte_crypto_asym_xform_type and struct rte_crypto_asym_op are updated to include new values to support EdDSA.
  • cryptodev: The rte_crypto_rsa_xform struct member to hold private key data in either exponent or quintuple format is changed from a union to a struct data type. This change is to support ASN.1 syntax (RFC 3447 Appendix A.1.2).
  • cryptodev: The padding struct rte_crypto_rsa_padding is moved from rte_crypto_rsa_op_param to rte_crypto_rsa_xform as the padding information is part of session creation instead of the per packet crypto operation. This change is required to support virtio-crypto specifications.
  • bbdev: The structure rte_bbdev_stats was updated to add a new parameter to optionally report the number of enqueue batches available enqueue_depth_avail.
  • dmadev: Added nb_priorities field to the rte_dma_info structure and priority field to the rte_dma_conf structure to get device supported priority levels and configure required priority from the application.
  • eventdev: Added the preschedule_type field to rte_event_dev_config structure.
  • eventdev: Removed the single-event enqueue and dequeue function pointers from rte_event_fp_fps.
  • graph: To accommodate node specific xstats counters, added xstat_cntrs, xstat_desc and xstat_count to rte_graph_cluster_node_stats, added new structure rte_node_xstats to rte_node_register and added xstat_off to rte_node.
  • graph: The members dispatch and xstat_off of the structure rte_node have been marked as RTE_CACHE_LINE_MIN_SIZE bytes aligned.

1.5. Tested Platforms

  • Intel® platforms with Intel® NICs combinations
    • CPU
      • Intel Atom® P5342 processor
      • Intel® Atom™ CPU C3758 @ 2.20GHz
      • Intel® Xeon® CPU D-1553N @ 2.30GHz
      • Intel® Xeon® CPU E5-2699 v4 @ 2.20GHz
      • Intel® Xeon® D-1747NTE CPU @ 2.50GHz
      • Intel® Xeon® D-2796NT CPU @ 2.00GHz
      • Intel® Xeon® Gold 6139 CPU @ 2.30GHz
      • Intel® Xeon® Gold 6140M CPU @ 2.30GHz
      • Intel® Xeon® Gold 6252N CPU @ 2.30GHz
      • Intel® Xeon® Gold 6348 CPU @ 2.60GHz
      • Intel® Xeon® Platinum 8280M CPU @ 2.70GHz
      • Intel® Xeon® Platinum 8358 CPU @ 2.60GHz
      • Intel® Xeon® Platinum 8380 CPU @ 2.30GHz
      • Intel® Xeon® Platinum 8468H
      • Intel® Xeon® Platinum 8490H
    • OS:
      • Microsoft Azure Linux 3.0
      • Fedora 40
      • FreeBSD 14.1
      • OpenAnolis OS 8.9
      • openEuler 24.03 (LTS)
      • Red Hat Enterprise Linux Server release 9.4
      • Ubuntu 22.04.3
      • Ubuntu 22.04.4
      • Ubuntu 24.04
      • Ubuntu 24.04.1
    • NICs:
      • Intel® Ethernet Controller E810-C for SFP (4x25G)
        • Firmware version: 4.60 0x8001e8b2 1.3682.0
        • Device id (pf/vf): 8086:1593 / 8086:1889
        • Driver version(out-tree): 1.15.4 (ice)
        • Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1) / 5.14.0-427.13.1.el9_4.x86_64+rt (RHEL9.4) (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Controller E810-C for QSFP (2x100G)
        • Firmware version: 4.60 0x8001e8b1 1.3682.0
        • Device id (pf/vf): 8086:1592 / 8086:1889
        • Driver version(out-tree): 1.15.4 (ice)
        • Driver version(in-tree): 6.6.12.1-1.azl3+ice+ (Microsoft Azure Linux 3.0) (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Controller E810-XXV for SFP (2x25G)
        • Firmware version: 4.60 0x8001e8b0 1.3682.0
        • Device id (pf/vf): 8086:159b / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
      • Intel® Ethernet Connection E823-C for QSFP
        • Firmware version: 3.42 0x8001f66b 1.3682.0
        • Device id (pf/vf): 8086:188b / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Connection E823-L for QSFP
        • Firmware version: 3.42 0x8001ea89 1.3636.0
        • Device id (pf/vf): 8086:124c / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Connection E822-L for backplane
        • Firmware version: 3.42 0x8001eaad 1.3636.0
        • Device id (pf/vf): 8086:1897 / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Connection E825-C for QSFP
        • Firmware version: 3.75 0x80005600 1.3643.0
        • Device id (pf/vf): 8086:579d / 8086:1889
        • Driver version: 2.1.0_rc23 (ice)
        • OS Default DDP: 1.3.36.0
        • COMMS DDP: 1.3.46.0
        • Wireless Edge DDP: 1.3.14.0
      • Intel® Ethernet Network Adapter E830-XXVDA2 for OCP
        • Firmware version: 1.00 0x8000942a 1.3672.0
        • Device id (pf/vf): 8086:12d3 / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.38.0
      • Intel® Ethernet Network Adapter E830-CQDA2
        • Firmware version: 1.00 0x8000d294 1.3722.0
        • Device id (pf/vf): 8086:12d2 / 8086:1889
        • Driver version: 1.15.4 (ice)
        • OS Default DDP: 1.3.39.0
        • COMMS DDP: 1.3.51.0
        • Wireless Edge DDP: 1.3.19.0
      • Intel® 82599ES 10 Gigabit Ethernet Controller
        • Firmware version: 0x000161bf
        • Device id (pf/vf): 8086:10fb / 8086:10ed
        • Driver version(out-tree): 5.21.5 (ixgbe)
        • Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1)
      • Intel® Ethernet Network Adapter E610-XT2
        • Firmware version: 1.00 0x800066ae 0.0.0
        • Device id (pf/vf): 8086:57b0 / 8086:57ad
        • Driver version(out-tree): 5.21.5 (ixgbe)
      • Intel® Ethernet Network Adapter E610-XT4
        • Firmware version: 1.00 0x80004ef2 0.0.0
        • Device id (pf/vf): 8086:57b0 / 8086:57ad
        • Driver version(out-tree): 5.21.5 (ixgbe)
      • Intel® Ethernet Converged Network Adapter X710-DA4 (4x10G)
        • Firmware version: 9.50 0x8000f4c6 1.3682.0
        • Device id (pf/vf): 8086:1572 / 8086:154c
        • Driver version(out-tree): 2.26.8 (i40e)
      • Intel® Corporation Ethernet Connection X722 for 10GbE SFP+ (2x10G)
        • Firmware version: 6.50 0x80004216 1.3597.0
        • Device id (pf/vf): 8086:37d0 / 8086:37cd
        • Driver version(out-tree): 2.26.8 (i40e)
        • Driver version(in-tree): 5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e)
      • Intel® Ethernet Converged Network Adapter XXV710-DA2 (2x25G)
        • Firmware version: 9.50 0x8000f4e1 1.3682.0
        • Device id (pf/vf): 8086:158b / 8086:154c
        • Driver version(out-tree): 2.26.8 (i40e)
        • Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1) / 5.14.0-427.13.1.el9_4.x86_64 (RHEL9.4)(i40e)
      • Intel® Ethernet Converged Network Adapter XL710-QDA2 (2X40G)
        • Firmware version(PF): 9.50 0x8000f4fe 1.3682.0
        • Device id (pf/vf): 8086:1583 / 8086:154c
        • Driver version(out-tree): 2.26.8 (i40e)
      • Intel® Ethernet Controller I225-LM
        • Firmware version: 1.3, 0x800000c9
        • Device id (pf): 8086:15f2
        • Driver version(in-tree): 6.8.0-48-generic (Ubuntu24.04.1)(igc)
      • Intel® Ethernet Controller I226-LM
        • Firmware version: 2.14, 0x8000028c
        • Device id (pf): 8086:125b
        • Driver version(in-tree): 6.8.0-45-generic (Ubuntu24.04.1)(igc)
      • Intel Corporation Ethernet Server Adapter I350-T4
        • Firmware version: 1.63, 0x80001001
        • Device id (pf): 8086:1521 /8086:1520
        • Driver version: 6.6.25-lts-240422t024020z(igb)
  • Intel® platforms with NVIDIA® NICs combinations
    • CPU:
      • Intel® Xeon® Gold 6154 CPU @ 3.00GHz
      • Intel® Xeon® CPU E5-2697A v4 @ 2.60GHz
      • Intel® Xeon® CPU E5-2697 v3 @ 2.60GHz
      • Intel® Xeon® CPU E5-2680 v2 @ 2.80GHz
      • Intel® Xeon® CPU E5-2670 0 @ 2.60GHz
      • Intel® Xeon® CPU E5-2650 v4 @ 2.20GHz
      • Intel® Xeon® CPU E5-2650 v3 @ 2.30GHz
      • Intel® Xeon® CPU E5-2640 @ 2.50GHz
      • Intel® Xeon® CPU E5-2650 0 @ 2.00GHz
      • Intel® Xeon® 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)
      • Ubuntu 22.04
      • Ubuntu 20.04
      • SUSE Enterprise Linux 15 SP2
    • OFED:
      • MLNX_OFED 24.10-0.7.0.0 and above
    • DOCA: * doca 2.9.0-0.4.7 and above
    • upstream kernel:
      • Linux 6.12.0 and above
    • rdma-core:
      • rdma-core-54.0 and above
    • NICs
      • NVIDIA® ConnectX®-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
        • Host interface: PCI Express 4.0 x16
        • Device ID: 15b3:101d
        • Firmware version: 22.43.1014 and above
      • NVIDIA® ConnectX®-6 Lx EN 25G MCX631102AN-ADAT (2x25G)
        • Host interface: PCI Express 4.0 x8
        • Device ID: 15b3:101f
        • Firmware version: 26.43.1014 and above
      • NVIDIA® ConnectX®-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
        • Host interface: PCI Express 5.0 x16
        • Device ID: 15b3:1021
        • Firmware version: 28.43.1014 and above
  • NVIDIA® BlueField® SmartNIC
    • NVIDIA® BlueField®-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
      • Host interface: PCI Express 3.0 x16
      • Device ID: 15b3:a2d6
      • Firmware version: 24.43.1014 and above
    • NVIDIA® BlueField®-3 P-Series DPU MT41692 - 900-9D3B6-00CV-AAB (2x200G)
      • Host interface: PCI Express 5.0 x16
      • Device ID: 15b3:a2dc
      • Firmware version: 32.43.1014 and above
    • Embedded software:
      • Ubuntu 22.04
      • MLNX_OFED 24.10-0.6.7.0 and above
      • bf-bundle-2.9.0-90_24.10_ubuntu-22.04
      • DPDK application running on ARM cores
  • IBM Power 9 platforms with NVIDIA® NICs combinations
    • CPU:
      • POWER9 2.2 (pvr 004e 1202)
    • OS:
      • Ubuntu 20.04
    • NICs:
      • NVIDIA® ConnectX®-6 Dx 100G MCX623106AN-CDAT (2x100G)
        • Host interface: PCI Express 4.0 x16
        • Device ID: 15b3:101d
        • Firmware version: 22.43.1014 and above
      • NVIDIA® ConnectX®-7 200G CX713106AE-HEA_QP1_Ax (2x200G)
        • Host interface: PCI Express 5.0 x16
        • Device ID: 15b3:1021
        • Firmware version: 28.43.1014 and above
    • OFED:
      • MLNX_OFED 24.10-0.7.0.0

1.6. 24.11.1 Release Notes

1.6.1. 24.11.1 Fixes

1.6.2. 24.11.1 Validation

  • Tested by Red Hat validation team

1.6.3. 24.11.1 Known Issues

  • DPDK 24.11.1 contains DPDK 24.11 plus the fix for CVE-2024-11614 only

1.7. 24.11.2 Release Notes

1.7.1. 24.11.2 Fixes

  • app/testpmd: avoid crash in DCB config
  • app/testpmd: fix out-of-bound reference in offload config
  • app/testpmd: show all DCB priority TC map
  • app/testpmd: use VXLAN flow flags from user if set
  • baseband/acc: fix queue setup failure clean up
  • build: force GCC 15 to initialize padding bits
  • buildtools: fix some Python regex syntax warnings
  • bus/pci: fix registered device name
  • ci: build with MSVC in GHA
  • ci: fix ccache for Ubuntu 22.04
  • ci: point at GitHub mirror
  • common/cnxk: fix atomic load in batch ops
  • common/cnxk: fix DPI mailbox structure
  • common/cnxk: fix inbound IPsec SA setup
  • common/cnxk: fix null check
  • common/idpf: fix void function returning a value
  • common/mlx5: add device duplication function
  • common/qat: fix devargs parsing
  • crypto/cnxk: fix asymmetric operation status code
  • crypto/cnxk: fix build with GCC 15
  • cryptodev: fix C++ include
  • crypto/dpaa2_sec: fix bitmask truncation
  • crypto/dpaa_sec: fix bitmask truncation
  • crypto/openssl: fix CMAC auth context update
  • crypto/openssl: validate incorrect RSA signature
  • crypto/qat: fix SM3 state size
  • crypto/virtio: fix data queues iteration
  • crypto/virtio: fix redundant queue free
  • dma/idxd: add device ids for new HW versions
  • doc: add no-IOMMU mode in devbind tool guide
  • doc: add tested platforms with NVIDIA NICs in 24.11
  • doc: add two more tested Intel NICs in 24.11
  • doc: add VXLAN matching requirement in mlx5 guide
  • doc: fix feature flags for queue start/stop
  • doc: fix year of final LTS release
  • doc: update ionic driver guide
  • dts: fix MTU set command
  • dts: fix pass rate edge case in results
  • dts: fix smoke tests docstring
  • eal: fix devargs layers parsing out of bounds
  • eal: fix undetected NUMA nodes
  • eal/linux: fix memseg length in legacy mem init
  • eal/linux: remove useless assignments
  • eal/x86: defer power intrinsics variable allocation
  • eal/x86: fix some intrinsics header include for Windows
  • ethdev: fix functions available in new device event
  • ethdev: fix registers info request
  • eventdev: fix format string data type in log messages
  • event/dlb2: fix event weight handling in SSE code path
  • event/dpaa: fix bitmask truncation
  • examples/flow_filtering: fix build with GCC 15
  • examples/flow_filtering: fix IPv4 matching snippet
  • examples/flow_filtering: remove duplicate assignment
  • examples/ipsec-secgw: fix cryptodev and eventdev IDs
  • examples/ipsec-secgw: fix IV length in CTR 192/256
  • examples/l3fwd: fix socket ID check
  • examples/ptpclient: fix message parsing
  • examples/vhost_crypto: fix user callbacks
  • gro: fix unprocessed IPv4 packets
  • log: fix double free on cleanup
  • log: fix systemd journal socket open
  • mempool: fix errno in empty create
  • net/af_packet: fix socket close on device stop
  • net/bnxt: address uninitialized variables
  • net/bnxt: fix crash when representor is re-attached
  • net/bnxt: fix dead code
  • net/bnxt: fix epoch bit calculation
  • net/bnxt: fix indication of allocation
  • net/bnxt: fix overflow
  • net/bnxt: fix overflow
  • net/bnxt: fix Rx handler
  • net/bonding: fix dedicated queue setup
  • net/cnxk: fix NIX send header L3 type
  • net/cpfl: fix representor parsing log
  • net/dpaa2: fix bitmask truncation
  • net/dpaa: fix bitmask truncation
  • net/e1000/base: correct mPHY access logic
  • net/e1000/base: fix bitwise operation type
  • net/e1000/base: fix data type in MAC hash
  • net/e1000/base: fix iterator type
  • net/e1000/base: fix MAC address hash bit shift
  • net/e1000/base: fix NVM data type in bit shift
  • net/e1000/base: fix reset for 82580
  • net/e1000/base: fix semaphore timeout value
  • net/e1000/base: fix unchecked return
  • net/e1000/base: fix uninitialized variable
  • net/e1000/base: skip management check for 82575
  • net/e1000: fix crashes in secondary processes
  • net/ena: fix missing default LLQ policy
  • net/enetfec: remove useless assignment
  • net/gve: allocate Rx QPL pages using malloc
  • net/hinic: fix flow type bitmask overflow
  • net/hns3: fix copper port initialization
  • net/hns3: fix mbuf freeing in simple Tx path
  • net/hns3: fix reset timeout
  • net/hns3: remove PVID info dump for VF
  • net/hns3: rename RAS module
  • net/iavf: check interrupt registration failure
  • net/iavf: fix crash on app exit on FreeBSD
  • net/iavf: fix mbuf release in Arm multi-process
  • net/iavf: remove reset of Tx prepare function pointer
  • net/ice: fix dropped packets when using VRRP
  • net/ice: fix flow engines order
  • net/ice: fix flows handling
  • net/ice: fix memory leak in scalar Rx
  • net/igc/base: fix bitwise operation type
  • net/igc/base: fix data type in MAC hash
  • net/igc/base: fix deadlock when writing i225 register
  • net/igc/base: fix infinite loop
  • net/igc/base: fix iterator type
  • net/igc/base: fix LTR for i225
  • net/igc/base: fix MAC address hash bit shift
  • net/igc/base: fix NVM data type in bit shift
  • net/igc/base: fix semaphore timeout value
  • net/igc/base: fix typo in LTR calculation
  • net/igc/base: fix unused value
  • net/igc/base: increase PHY power up delay
  • net/igc/base: reset loop variable
  • net/intel: fix build with icx
  • net/intel: fix void functions returning a value
  • net/ixgbe: add checks for E610 VF
  • net/ixgbe/base: add missing buffer copy for ACI
  • net/ixgbe/base: fix driver hang in VM
  • net/ixgbe/base: fix TSAM checking return value
  • net/ixgbe/base: remove 2.5/5G from auto-negotiation for E610
  • net/ixgbe: fix crashes in secondary processes
  • net/ixgbe: fix E610 support in flow engine
  • net/ixgbe: fix minimum Rx/Tx descriptors
  • net/ixgbe: fix VF registers for E610
  • net/mana: do not ring short doorbell for every mbuf alloc
  • net/mana: fix multi-process tracking
  • net/mlx5: adjust actions per rule limitation
  • net/mlx5: fix actions translation error overwrite
  • net/mlx5: fix crash in non-template metadata split
  • net/mlx5: fix crash with null flow list creation
  • net/mlx5: fix error info in actions construct
  • net/mlx5: fix flow group ID for action translation
  • net/mlx5: fix flow matching GENEVE options
  • net/mlx5: fix flush of non-template flow rules
  • net/mlx5: fix GENEVE parser cleanup
  • net/mlx5: fix GRE flow match with SWS
  • net/mlx5: fix GRE matching on root table
  • net/mlx5: fix hairpin queue release
  • net/mlx5: fix hardware packet type translation
  • net/mlx5: fix IPIP tunnel verification
  • net/mlx5: fix LACP packet handling in isolated mode
  • net/mlx5: fix leak in HWS flow counter action
  • net/mlx5: fix leak of flow action data list
  • net/mlx5: fix mark action validation in FDB mode
  • net/mlx5: fix NAT64 register selection
  • net/mlx5: fix Netlink socket leak
  • net/mlx5: fix non-template flow validation
  • net/mlx5: fix non-template flow validation on create
  • net/mlx5: fix non-template set VLAN VID
  • net/mlx5: fix polling CQEs
  • net/mlx5: fix unneeded stub flow table allocation
  • net/mlx5/hws: fix crash using represented port without ID
  • net/mlx5/hws: fix DV FT type convert
  • net/mlx5/hws: fix fragmented packet type matching
  • net/mlx5/hws: fix GTP flags matching
  • net/netvsc: remove device if its net devices removed
  • net/netvsc: scan all net devices under the PCI device
  • net/nfp: fix firmware load from flash
  • net/nfp: fix init failure handling
  • net/nfp: fix misuse of function return values
  • net/nfp: fix multi-PF control flag
  • net/nfp: fix multiple PFs check from NSP
  • net/nfp: fix representor port statistics
  • net/nfp: fix VF link speed
  • net/ngbe: fix WOL and NCSI capabilities
  • net/octeon_ep: remove useless assignment
  • net/qede: fix debug messages array
  • net/qede: fix nested loops
  • net/sfc: remove unnecessary assignment
  • net/thunderx/base: fix build with GCC 15
  • net/txgbe: remove useless condition for SW-FW sync
  • pdump: clear statistics when enabled
  • power: defer lcore variable allocation
  • ptr_compress: fix build with Arm SVE
  • random: defer seeding to EAL init
  • raw/cnxk_gpio: fix file descriptor leak
  • service: fix getting service lcore attributes
  • stack: fix pop in C11 implementation
  • test/bbdev: update FFT test vectors
  • test/bonding: fix active backup receive test
  • test/crypto: fix AES-ECB test lengths
  • test/crypto: fix check for OOP header data
  • test/crypto: remove unused variable
  • test/dma: fix pointers in IOVA as PA mode
  • test/event: fix number of queues in eventdev conf
  • test/ring: fix init with custom number of lcores
  • use Python raw string notation
  • version: 24.11.2-rc1
  • vhost: add null callback checks
  • vhost: check descriptor chains length
  • vhost: check GSO size validity
  • vhost: clear ring addresses when getting vring base
  • vhost/crypto: skip fetch before vring init
  • vhost: fix FD entries cleanup
  • vhost: fix log when setting max queue num
  • vhost: reset packets count when not ready

1.7.2. 24.11.2 Validation

  • Red Hat(R) Testing

    • Platform

      • RHEL 9
      • Kernel 5.14
      • Qemu 7.2
      • X540-AT2 NIC(ixgbe, 10G)
    • Functionality

      • Guest with device assignment(PF) throughput testing(1G hugepage size)
      • Guest with device assignment(PF) throughput testing(2M hugepage size)
      • Guest with device assignment(VF) throughput testing
      • PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
      • PVP vhost-user 2Q throughput testing
      • PVP vhost-user 1Q cross numa node throughput testing
      • Guest with vhost-user 2 queues throughput testing
      • vhost-user reconnect with dpdk-client, qemu-server: qemu reconnect
      • vhost-user reconnect with dpdk-client, qemu-server: ovs reconnect
      • PVP 1Q live migration testing
      • PVP 1Q cross numa node live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing (2M)
      • Guest with ovs+dpdk+vhost-user 2Q live migration testing
      • Guest with ovs+dpdk+vhost-user 4Q live migration testing
      • Host PF + DPDK testing
      • Host VF + DPDK testing
  • Nvidia(R) Testing

    • Basic functionality with testpmd

      • Tx/Rx
      • xstats
      • Timestamps
      • Link status
      • RTE flow
      • RSS
      • VLAN filtering, stripping and insertion
      • Checksum/TSO
      • ptype
      • link_status_interrupt example application
      • l3fwd-power example application
      • Multi-process example applications
      • Hardware LRO tests
      • Regex application
      • Buffer Split
      • Tx scheduling
    • Build tests

    • ConnectX-6 Dx

    • ConnectX-7

    • BlueField-2

  • Intel(R) Testing

    • Compile testing

    • Functional testing

      • PF (i40e, ixgbe)
      • VF (i40e, ixgbe)
      • PF/VF (ice)
      • IPsec
      • Virtio
      • Cryptodev
      • DLB
    • Performance testing

      • Throughput performance
      • Cryptodev latency
      • PF/VF NIC single core/NIC performance
      • XXV710/E810 NIC Performance

1.7.3. 24.11.2 Known Issues

  • DPDK 24.11.2 contains fixes from DPDK 25.03 and 8364a0f276eb (“net/ixgbe: fix VF registers for E610”)
  • Issues identified/fixed in DPDK main branch after DPDK 25.03 may be present in DPDK 24.11.2
  • There is a report that https://bugs.dpdk.org/show_bug.cgi?id=1606 is still present despite the fix being backported. This needs further investigation for DPDK 24.11.3.

1.8. 24.11.3 Release Notes

1.8.1. 24.11.3 Fixes

  • acl: fix build with GCC 15 on aarch64
  • app/crypto-perf: fix AAD offset alignment
  • app/eventdev: fix number of releases sent during cleanup
  • app/testpmd: fix flow random item token
  • app/testpmd: fix RSS hash key update
  • app/testpmd: relax number of TCs in DCB command
  • buildtools/test: scan muti-line registrations
  • bus/auxiliary: fix crash in cleanup
  • bus: cleanup device lists
  • bus/fslmc: fix use after free
  • bus/pci/bsd: fix device existence check
  • bus/vmbus: align ring buffer data to page boundary
  • bus/vmbus: use Hyper-V page size
  • common/cnxk: fix AES-CTR salt handling
  • common/cnxk: fix aura offset
  • common/cnxk: fix CQ tail drop
  • common/cnxk: fix E-tag pattern parsing
  • common/cnxk: fix qsize in CPT iq enable
  • common/dpaax: fix PDCP AES only 12-bit SN
  • common/dpaax: fix PDCP key command race condition
  • common/mlx5: fix dependency detection on Windows
  • common/mlx5: fix extraction of auxiliary device name
  • crypto/cnxk: fix includes
  • crypto/cnxk: fix out-of-bounds access in SM2
  • crypto/cnxk: fix QP stats
  • crypto/cnxk: fix uninitialized variable
  • crypto/cnxk: update SG list population
  • crypto/dpaa2_sec: fix uninitialized variable
  • crypto/openssl: include private exponent in RSA session
  • crypto/qat: fix out-of-place chain/cipher/auth headers
  • crypto/qat: fix out-of-place chain/cipher/auth headers
  • crypto/qat: fix out-of-place header bytes in AEAD raw API
  • crypto/qat: fix size calculation for memset
  • crypto/virtio: add request check on request side
  • crypto/virtio: fix cipher data source length
  • crypto/virtio: fix driver cleanup
  • doc: add kernel options required for mlx5
  • doc: fix missing feature matrix for event device
  • doc: remove reference to deprecated –use-device option
  • dts: fix deterministic doc
  • eal: add description of service corelist in usage
  • eal: fix return value of lcore role
  • eal/freebsd: unregister alarm callback before free
  • eal/linux: improve ASLR check
  • eal/linux: unregister alarm callback before free
  • eal/unix: fix log message for madvise failure
  • eal: warn if no lcore is available
  • eal/x86: fix C++ build
  • ethdev: fix error struct in flow configure
  • ethdev: keep promiscuous/allmulti value before disabling
  • event/cnxk: fix missing HW state checks
  • eventdev: fix flag types consistency
  • event/dlb2: fix default credits based on HW version
  • event/dlb2: fix dequeue with CQ depth <= 16
  • event/dlb2: fix num single link ports for DLB2.5
  • event/dlb2: fix public symbol namespace
  • event/dlb2: fix QID depth xstat
  • event/dlb2: fix validaton of LDB port COS ID arguments
  • examples/flow_filtering: fix make clean
  • examples/ipsec-secgw: fix crash in event vector mode
  • examples/ipsec-secgw: fix crash with IPv6
  • examples/ipsec-secgw: fix number of queue pairs
  • examples/ntb: check more heap allocations
  • mem: fix lockup on address space shortage
  • net/af_xdp: fix use after free in zero-copy Tx
  • net/bonding: avoid RSS RETA update in flow isolation mode
  • net/cnxk: fix descriptor count update on reconfig
  • net/cnxk: fix lock for security session operations
  • net/e1000: fix EEPROM dump
  • net/e1000: fix igb Tx queue offloads capability
  • net/e1000: fix xstats name
  • net/ena: fix aenq timeout with low poll interval
  • net/ena: fix control path interrupt mode
  • net: fix IPv6 check for IPv4 compat
  • net/fm10k/base: fix compilation warnings
  • net/hns3: allow Tx vector when fast free not enabled
  • net/hns3: check requirement for hardware GRO
  • net/hns3: fix CRC data segment
  • net/hns3: fix divide by zero
  • net/hns3: fix extra wait for link up
  • net/hns3: fix integer overflow in interrupt unmap
  • net/hns3: fix interrupt rollback
  • net/hns3: fix memory leak for indirect flow action
  • net/hns3: fix memory leak on failure
  • net/hns3: fix queue TC configuration on VF
  • net/hns3: fix resources release on reset
  • net/hns3: fix Rx packet without CRC data
  • net/i40e/base: fix compiler warnings
  • net/i40e/base: fix unused value warnings
  • net/i40e: fix RSS on plain IPv4
  • net/iavf: fix VLAN strip disabling for ADQ v2 capability
  • net/iavf: fix VLAN strip setting after enabling filter
  • net/ice/base: fix integer overflow
  • net/ice/base: fix media type check
  • net/ice/base: fix type conversion
  • net/ice/base: fix typo in device ID description
  • net/ice: fix flow creation failure
  • net/ice: fix handling empty DCF RSS hash
  • net/ice: fix querying RSS hash for DCF
  • net/ice: fix support for 3 scheduler levels
  • net/idpf: fix truncation of constant value
  • net/ixgbe/base: correct definition of endianness macro
  • net/ixgbe/base: fix compilation warnings
  • net/ixgbe/base: fix link status for E610
  • net/ixgbe/base: fix lock checker errors
  • net/ixgbe: enable ethertype filter for E610
  • net/ixgbe: fix indentation
  • net/ixgbe: fix port mask default value in filter
  • net/ixgbe: remove VLAs
  • net/ixgbe: skip MACsec stats for E610
  • net/mana: check vendor ID when probing RDMA device
  • net/mlx5: align PF and VF/SF MAC address handling
  • net/mlx5: avoid setting kernel MTU if not needed
  • net/mlx5: fix access to auxiliary flow data
  • net/mlx5: fix counter pool init error propagation
  • net/mlx5: fix counter service cleanup on init failure
  • net/mlx5: fix crash in HWS counter pool destroy
  • net/mlx5: fix crash on age query with indirect conntrack
  • net/mlx5: fix error notification for large flow patterns
  • net/mlx5: fix flex tunnel flow validation
  • net/mlx5: fix GRE flow item validation
  • net/mlx5: fix header modify action on group 0
  • net/mlx5: fix hypervisor detection in VLAN workaround
  • net/mlx5: fix link on Windows
  • net/mlx5: fix mark action with shared Rx queue
  • net/mlx5: fix masked indirect age action validation
  • net/mlx5: fix maximal queue size query
  • net/mlx5: fix out-of-order completions in ordinary Rx burst
  • net/mlx5: fix template flow rule identification
  • net/mlx5: fix validation for GENEVE options
  • net/mlx5: fix VLAN stripping on hairpin queue
  • net/mlx5: fix WQE size calculation for Tx queue
  • net/mlx5/hws: fix send queue drain on FW WQE destroy
  • net/mlx5: remove unsupported flow meter action in HWS
  • net/mlx5: validate GTP PSC QFI width
  • net/netvsc: add stats counters from VF
  • net/netvsc: use Hyper-V page size
  • net/nfp: fix control message overflow
  • net/nfp: fix crash with null RSS hash key
  • net/nfp: fix flow rule freeing
  • net/nfp: fix hash key length logic
  • net/nfp: standardize NFD3 Tx descriptor endianness
  • net/nfp: standardize NFDk Tx descriptor endianness
  • net/nfp: standardize Rx descriptor endianness
  • net/ngbe: fix device statistics
  • net/ngbe: fix MAC control frame forwarding
  • net/ntnic: avoid divide by zero
  • net/ntnic: fix ring queue operation
  • net/ntnic: remove unused code
  • net/ntnic: unmap DMA during queue release
  • net/null: fix packet copy
  • net/octeon_ep: fix buffer refill
  • net/octeon_ep: increase mailbox timeout
  • net/qede: fix use after free
  • net/sfc: fix action order on start failure
  • net/tap: fix qdisc add failure handling
  • net/txgbe: add LRO flag in mbuf when enabled
  • net/txgbe: fix device statistics
  • net/txgbe: fix FDIR perfect mode for IPv6
  • net/txgbe: fix MAC control frame forwarding
  • net/txgbe: fix ntuple filter parsing
  • net/txgbe: fix packet type for FDIR filter
  • net/txgbe: fix raw pattern match for FDIR rule
  • net/txgbe: fix reserved extra FDIR headroom
  • net/txgbe: fix to create FDIR filter for SCTP packet
  • net/txgbe: fix to create FDIR filter for tunnel packet
  • net/txgbe: restrict VLAN strip configuration on VF
  • pcapng: fix null dereference in close
  • power/intel_uncore: fix crash closing uninitialized driver
  • test/crypto: fix auth and cipher case IV length
  • test/crypto: fix EdDSA vector description
  • test/crypto: fix RSA decrypt validation
  • test/crypto: fix RSA vector as per RFC 8017
  • test/crypto: set to null after freeing operation
  • test/lcore: fix race in per-lcore test
  • test/malloc: improve resiliency
  • trace: fix overflow in per-lcore trace buffer
  • version: 24.11.3-rc1
  • vhost/crypto: fix cipher data length
  • vhost: fix net control virtqueue used length
  • vhost: fix wrapping on control virtqueue rings
  • vhost: search virtqueues driver data in read-only area

1.8.2. 24.11.3 Validation

  • Red Hat(R) Testing

    • Platform

      • RHEL 9
      • Kernel 5.14
      • Qemu 9.1.0
      • X540-AT2 NIC(ixgbe, 10G)
    • Functionality

      • Guest with device assignment(PF) throughput testing(1G hugepage size)
      • Guest with device assignment(PF) throughput testing(2M hugepage size)
      • Guest with device assignment(VF) throughput testing
      • PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
      • PVP vhost-user 2Q throughput testing
      • PVP vhost-user 1Q cross numa node throughput testing
      • Guest with vhost-user 2 queues throughput testing
      • vhost-user reconnect with dpdk-client, qemu-server: qemu reconnect
      • vhost-user reconnect with dpdk-client, qemu-server: ovs reconnect
      • PVP 1Q live migration testing
      • PVP 1Q cross numa node live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing (2M)
      • Guest with ovs+dpdk+vhost-user 2Q live migration testing
      • Guest with ovs+dpdk+vhost-user 4Q live migration testing
      • Host PF + DPDK testing
      • Host VF + DPDK testing
  • Nvidia(R) Testing

    • Basic functionality with testpmd

      • Tx/Rx
      • xstats
      • Timestamps
      • Link status
      • RTE flow
      • RSS
      • VLAN filtering, stripping and insertion
      • Checksum/TSO
      • ptype
      • link_status_interrupt example application
      • l3fwd-power example application
      • Multi-process example applications
      • Hardware LRO tests
      • Regex application
      • Buffer Split
      • Tx scheduling
    • Build tests

    • ConnectX-6 Dx

    • ConnectX-7

    • BlueField-2

  • Intel(R) Testing

    • Compile testing

    • Functional testing

      • PF (i40e, ixgbe)
      • VF (i40e, ixgbe)
      • PF/VF (ice)
      • IPsec
      • Virtio
      • Cryptodev
      • DLB
    • Performance testing

      • Throughput performance
      • Cryptodev latency
      • PF/VF NIC single core/NIC performance
      • XXV710/E810 NIC Performance

1.8.3. 24.11.3 Known Issues

1.8.4. 24.11.3 Fixes skipped and status unresolved

  • 9843181aa5 crypto/virtio: fix driver ID
  • 25e35296b5 net/cnxk: fix reconfiguring MAC address
  • 98cf04bb90 test/graph: fix second run

1.9. 24.11.4 Release Notes

1.9.1. 24.11.4 Fixes

  • app/crypto-perf: fix plaintext size exceeds buffer size
  • app/dma-perf: check buffer size
  • app/dma-perf: fix on-flight DMA when verifying data
  • app/dma-perf: fix stopping device
  • app/dma-perf: fix use after free
  • app/eventdev: fix build with clang 21
  • app/flow-perf: fix rules array length
  • app/pdump: remove hard-coded memory channels
  • app/procinfo: fix const pointer in collectd format
  • app/testpmd: fix conntrack action query
  • app/testpmd: fix DCB Rx queues
  • app/testpmd: fix DCB Tx port
  • app/testpmd: fix flex item link parsing
  • app/testpmd: fix mask in flow random item
  • app/testpmd: increase size of set cores list command
  • app/testpmd: monitor state of primary process
  • app/testpmd: stop forwarding in secondary process
  • app/testpmd: validate DSCP and VLAN for meter creation
  • bbdev: fix build with MinGW 13
  • bitops: improve power of 2 alignment documentation
  • buildtools/pmdinfogen: fix warning with python 3.14
  • bus/cdx: fix device name in probing error message
  • bus/cdx: fix release in probing for secondary process
  • bus/dpaa: improve cleanup
  • bus/fslmc: fix const pointer in device name parsing
  • bus/ifpga: fix const pointer in device name parsing
  • bus/pci: fix build with MinGW 13
  • bus/pci: fix resource leak in secondary process
  • bus/uacce: fix const pointer in device matching
  • cmdline: fix highest bit port list parsing
  • cmdline: fix port list parsing
  • common/cnxk: fix async event handling
  • common/cnxk: fix format specifier for bandwidth profile ID
  • common/cnxk: fix max number of SQB buffers in clean up
  • common/cnxk: fix NIX Rx inject enabling
  • common/cnxk: fix null SQ access
  • common/mlx5: release unused mempool entries
  • common/mlx5: remove useless constants
  • common/qat: fix some const pointers
  • config/arm: enable NUMA for Neoverse N2
  • crypto/caam_jr: fix const pointer in UIO filename parsing
  • crypto/cnxk: refactor RSA verification
  • crypto/ipsec_mb: fix QP release in secondary
  • crypto/mlx5: remove unused constants
  • crypto/qat: fix CCM request descriptor hash state size
  • crypto/qat: fix ECDH
  • crypto/qat: fix source buffer alignment
  • crypto/virtio: fix cookies leak
  • dmadev: fix debug build with tracepoints
  • dma/hisilicon: fix stop with pending transfers
  • doc: add conntrack state inspect command to testpmd guide
  • doc: add Pollara 400 device in ionic guide
  • doc: fix display of commands in cpfl guide
  • doc: fix feature list of iavf driver
  • doc: fix feature list of ice driver
  • doc: fix note in FreeBSD guide
  • doc: fix NVIDIA bifurcated driver presentation link
  • dts: add reception check to checksum suite
  • dts: fix docstring in checksum suite
  • eal/arm: fix C++ build for 32-bit memcpy
  • eal: fix DMA mask validation with IOVA mode option
  • eal: fix MP socket cleanup
  • eal: fix plugin dir walk
  • eal/x86: enable timeout in AMD power monitor
  • efd: fix AVX2 support
  • ethdev: fix VLAN filter parameter description
  • eventdev/crypto: fix build with clang 21
  • eventdev: fix listing timer adapters with telemetry
  • examples/l3fwd: add Tx burst size configuration option
  • examples/l3fwd-power: fix telemetry command registration
  • examples/server_node_efd: fix format overflow
  • examples/vdpa: fix format overflow
  • fib6: fix memory leak on delete operation
  • fib6: fix tbl8 allocation check logic
  • graph: fix stats query with no node xstats
  • graph: fix unaligned access in stats
  • graph: fix updating edge with active graph
  • graph: fix xstats description allocation
  • gro: fix payload corruption in coalescing packets
  • hash: fix unaligned access in predictable RSS
  • lib: fix backticks matching in Doxygen comments
  • mcslock: fix memory ordering
  • net/af_packet: fix crash in secondary process
  • net/ark: remove double mbuf free
  • net/axgbe: fix build with GCC 16
  • net/bnxt: fix free of not allocated object
  • net/bonding: fix MAC address propagation in 802.3ad mode
  • net/cnxk: fix default meter pre-color
  • net/cnxk: fix Rx inject LF
  • net/dpaa2: clear active VDQ state when freeing Rx queues
  • net/dpaa2: fix duplicate call of close
  • net/dpaa2: fix error frame dump
  • net/dpaa2: fix extract buffer preparation
  • net/dpaa2: fix flow rule resizing
  • net/dpaa2: fix L3/L4 checksum results
  • net/dpaa2: fix shaper rate
  • net/dpaa2: fix uninitialized variable
  • net/dpaa2: free buffers from error queue
  • net/dpaa2: receive packets with additional parse errors
  • net/dpaa2: remove ethdev pointer from bus device
  • net/dpaa: fix resource leak
  • net/e1000/base: fix crash on init with GCC 13
  • net/ena/base: fix unsafe memcpy on invalid memory
  • net/ena: fix PCI BAR mapping on 64K page size
  • net/enetfec: fix buffer descriptor size configuration
  • net/enetfec: fix checksum flag handling and error return
  • net/enetfec: fix const pointer in UIO filename parsing
  • net/enetfec: fix file descriptor leak on read error
  • net/enetfec: fix memory leak in Rx buffer cleanup
  • net/enetfec: fix out-of-bounds access in UIO mapping
  • net/enetfec: fix Tx queue free
  • net/enetfec: reject multi-queue configuration
  • net/enetfec: reject Tx deferred queue
  • net: fix IPv6 link local compliance with RFC 4291
  • net: fix L2 length for GRE packets
  • net/fm10k: fix build with GCC 16
  • net/gve: add DQO Tx descriptor limit
  • net/gve: clean when insufficient Tx descriptors
  • net/gve: clear DQO Tx descriptors before writing
  • net/gve: do not write zero-length descriptors
  • net/gve: fix disabling interrupts on DQ
  • net/gve: fix DQO TSO descriptor limit
  • net/gve: free device resources on close
  • net/gve: free Rx mbufs if allocation fails on ring setup
  • net/gve: send whole packet when mbuf is large
  • net/gve: validate Tx packet before sending
  • net/hns3: fix inconsistent lock
  • net/hns3: fix overwrite mbuf in vector path
  • net/hns3: fix VLAN resources freeing
  • net/hns3: fix VLAN tag loss for short tunnel frame
  • net/i40e: fix symmetric Toeplitz hashing for SCTP
  • net/iavf: fix build with clang 21
  • net/iavf: fix Rx timestamp validity check
  • net/iavf: fix Tx vector path selection logic
  • net/ice/base: fix adding special words
  • net/ice/base: fix integer overflow on NVM init
  • net/ice/base: fix memory leak in HW profile handling
  • net/ice/base: fix memory leak in recipe handling
  • net/ice: fix initialization with 8 ports
  • net/ice: fix memory leak in raw pattern parse
  • net/ice: fix path selection for QinQ Tx offload
  • net/ice: fix statistics
  • net/ice: fix vector Rx VLAN offload flags
  • net/ice: fix VLAN tag reporting on Rx
  • net/ice: remove indirection for FDIR filters
  • net/ice: remove unsupported SCTP Rx offload
  • net/idpf: fix queue setup with TSO offload
  • net/intel: fix assumption about tag placement order
  • net/ixgbe/base: fix PF link state request size
  • net/ixgbe: fix SCTP port filtering on E610
  • net/memif: fix const pointer in socket check
  • net/mlx4: fix unnecessary comma
  • net/mlx5: fix build with MinGW 13
  • net/mlx5: fix connection tracking state item validation
  • net/mlx5: fix crash on flow rule destruction
  • net/mlx5: fix default flow rules start
  • net/mlx5: fix device start error handling
  • net/mlx5: fix Direct Verbs counter offset detection
  • net/mlx5: fix double free in non-template flow destroy
  • net/mlx5: fix error reporting on masked indirect actions
  • net/mlx5: fix ESP header match after UDP for group 0
  • net/mlx5: fix ESP item validation to match on seqnum
  • net/mlx5: fix external queues access
  • net/mlx5: fix flex flow item header length
  • net/mlx5: fix flow aging race condition
  • net/mlx5: fix flow encapsulation hash
  • net/mlx5: fix flow tag indexes support on root table
  • net/mlx5: fix index-based flow rules
  • net/mlx5: fix indirect flow action memory leak
  • net/mlx5: fix indirect flow age action handling
  • net/mlx5: fix indirect meter index leak
  • net/mlx5: fix indirect RSS action hash
  • net/mlx5: fix interface name parameter definition
  • net/mlx5: fix IPv6 DSCP offset in HWS sync API
  • net/mlx5: fix leak of flow indexed pools
  • net/mlx5: fix meter mark allocation
  • net/mlx5: fix min and max MTU reporting
  • net/mlx5: fix modify field action restriction
  • net/mlx5: fix MTU initialization
  • net/mlx5: fix multicast
  • net/mlx5: fix multi-process Tx default rules
  • net/mlx5: fix non-template age rules flush
  • net/mlx5: fix non-template RSS expansion
  • net/mlx5: fix null dereference in modify header
  • net/mlx5: fix send to kernel action resources release
  • net/mlx5: fix spurious CPU wakeups
  • net/mlx5: fix storage of shared Rx queues
  • net/mlx5: fix Tx metadata pattern template mismatch
  • net/mlx5: fix uninitialized variable
  • net/mlx5: fix unnecessary commas
  • net/mlx5: fix unsupported flow rule port action
  • net/mlx5: fix use after scope of RSS configuration
  • net/mlx5/hws: fix buddy memory allocation
  • net/mlx5/hws: fix ESP header match in strict mode
  • net/mlx5/hws: fix flow rule hash capability
  • net/mlx5/hws: fix TIR action support in FDB
  • net/mlx5: move auxiliary data inline
  • net/mlx5: release representor interrupt handler
  • net/mlx5: remove counter alignment
  • net/mlx5: remove unused macros
  • net/mlx5: remove useless constants
  • net/mlx5: skip Rx control flow tables in isolated mode
  • net/mlx5: store MTU at Rx queue allocation time
  • net/mlx5/windows: fix match criteria in flow creation
  • net/nfp: fix metering cleanup
  • net/ngbe: fix checksum error counter
  • net/ngbe: reduce memory size of ring descriptors
  • net/ntnic: fix potential format overflow
  • net/octeon_ep: fix device start
  • net/octeon_ep: fix mbuf data offset update
  • net/octeon_ep: handle interrupt enable failure
  • net/tap: fix BPF with cross-compilation
  • net/tap: fix build with LTO
  • net/tap: fix interrupt callback crash after failed start
  • net/txgbe: add device arguments for FDIR
  • net/txgbe: filter FDIR match flex bytes for tunnel
  • net/txgbe: fix checksum error counter
  • net/txgbe: fix FDIR drop action for L4 match packets
  • net/txgbe: fix FDIR filter for SCTP tunnel
  • net/txgbe: fix FDIR input mask
  • net/txgbe: fix FDIR mode clearing
  • net/txgbe: fix FDIR rule raw relative for L3 packets
  • net/txgbe: fix maximum number of FDIR filters
  • net/txgbe: fix VF Rx buffer size in config register
  • net/txgbe: reduce memory size of ring descriptors
  • net/txgbe: remove duplicate Tx queue assignment
  • net/txgbe: remove unsupported flow action mark
  • net/txgbe: switch to FDIR when ntuple filter is full
  • net/virtio-user: fix used ring address calculation
  • net/vmxnet3: disable RSS for single queue for ESX8.0+
  • net/vmxnet3: fix mapping of mempools to queues
  • net/zxdh: fix Arm build
  • pdump: handle primary process exit
  • rawdev: fix build with clang 21
  • regex/mlx5: remove useless constants
  • Revert “crypto/virtio: fix cookies leak”
  • ring: establish a safe partial order in hts-ring
  • ring: establish safe partial order in default mode
  • ring: establish safe partial order in RTS mode
  • sched: fix WRR parameter data type
  • tailq: fix lookup macro
  • telemetry: make socket handler typedef private
  • test/argparse: change initialization to workaround LTO
  • test/crypto: fix mbuf handling
  • test/crypto: fix vector initialization
  • test/debug: fix crash with mlx5 devices
  • test/debug: fix IOVA mode on PPC64 without huge pages
  • test/dma: fix failure condition
  • test: fix build with clang 21
  • test/func_reentrancy: fix args to EAL init call
  • test/hash: check memory allocation
  • test/telemetry: fix test calling all commands
  • usertools/telemetry: fix exporter default IP binding
  • vdpa/mlx5: remove unused constant
  • version: 24.11.4-rc1
  • vhost: add VDUSE virtqueue ready state polling workaround
  • vhost: fix double fetch when dequeue offloading
  • vhost: fix external buffer in VDUSE
  • vhost: fix virtqueue info init in VDUSE vring setup

1.9.2. 24.11.4 Validation

  • Red Hat(R) Testing

    • Platform

      • RHEL 9
      • Kernel 5.14
      • Qemu 8.2.0
      • X540-AT2 NIC(ixgbe, 10G)
    • Functionality

      • Guest with device assignment(PF) throughput testing(1G hugepage size)
      • Guest with device assignment(PF) throughput testing(2M hugepage size)
      • Guest with device assignment(VF) throughput testing
      • PVP (host dpdk testpmd as vswitch) 1Q: throughput testing
      • PVP vhost-user 2Q throughput testing
      • PVP vhost-user 1Q cross numa node throughput testing
      • Guest with vhost-user 2 queues throughput testing
      • vhost-user reconnect with dpdk-client, qemu-server: qemu reconnect
      • vhost-user reconnect with dpdk-client, qemu-server: ovs reconnect
      • PVP 1Q live migration testing
      • PVP 1Q cross numa node live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing
      • Guest with ovs+dpdk+vhost-user 1Q live migration testing (2M)
      • Guest with ovs+dpdk+vhost-user 2Q live migration testing
      • Guest with ovs+dpdk+vhost-user 4Q live migration testing
      • Host PF + DPDK testing
      • Host VF + DPDK testing
  • Intel(R) Testing

    • Compile testing

    • Functional testing

      • PF (i40e, ixgbe)
      • VF (i40e, ixgbe)
      • PF/VF (ice)
      • IPsec
      • Virtio
      • Cryptodev
      • DLB
    • Performance testing

      • Throughput performance
      • Cryptodev latency
      • PF/VF NIC single core/NIC performance
      • XXV710/E810 NIC Performance
  • Nvidia(R) Testing

    • Basic functionality with testpmd

      • Tx/Rx
      • xstats
      • Timestamps
      • Link status
      • RTE flow
      • RSS
      • VLAN filtering, stripping and insertion
      • Checksum/TSO
      • ptype
      • link_status_interrupt example application
      • l3fwd-power example application
      • Multi-process example applications
      • Hardware LRO tests
      • Regex application
      • Buffer Split
      • Tx scheduling
    • Build tests

    • ConnectX-6 Dx

1.9.3. 24.11.4 Known Issues

1.9.4. 24.11.4 Fixes skipped and status unresolved

  • 0e3c389b9e bus/dpaa: do proper cleanup of frame queues on shutdown
  • 08b83e84e1 crypto/cnxk: fix TLS mbuf
  • 9843181aa5 crypto/virtio: fix driver ID
  • 3e48adc135 event/cnxk: fix Rx offload flags
  • 5a753913e0 Kushwaha common/cnxk: fix inline device write operation
  • 25e35296b5 net/cnxk: fix reconfiguring MAC address
  • 3bf9f0f9f0 net/mlx5: fix control flow leakage for external SQ
  • f2f75ffe14 net/mlx5/hws: fix ESP header match in strict mode
  • 98cf04bb90 test/graph: fix second run
  • 8a8c02d2bb vfio: fix custom containers in multiprocess

1.10. 24.11.5 Release Notes

1.10.1. 24.11.5 Fixes

  • app/dma-perf: fix buffer overflow with high core count
  • app/dma-perf: fix reversed CPU copy
  • app/graph: fix variable shadowing
  • app/pdump: fix variable shadowing
  • app/testpmd: fix DCB forwarding TC mismatch handling
  • app/testpmd: fix flow queue job leaks
  • app/testpmd: fix function names in logs
  • app/testpmd: fix memory leak in port flow configure
  • app/testpmd: fix variable shadowing
  • bbdev: fix variable shadowing
  • bitops: allow variable as first argument of shift macros
  • bpf: disallow empty program
  • bpf: fix add/subtract overflow
  • bpf: fix signed shift overflows in ARM JIT
  • bpf: fix starting with conditional jump
  • bpf: fix x86 call stack alignment for external calls
  • buildtools/test: suppress empty output
  • bus/pci: fix variable shadowing
  • common/cnxk: fix array out-of-bounds
  • common/cnxk: fix engine capabilities fetch logic
  • common/cnxk: fix width of DPC set field
  • common/mlx5: fix bonding check
  • common/mlx5: fix error logging for queue modify
  • common/mlx5: fix MAC deletion on Linux
  • common/mlx5: fix variable shadowing
  • common/sfc_efx/base: fix flow control on legacy MCDI
  • config/arm: fix 32-bit build
  • crypto/cnxk: return decrypted data for RSA verify
  • cryptodev: fix memory corruption in secondary process
  • crypto/openssl: fix SM2 public key buffer overflow
  • crypto/qat: align vector address
  • doc: fix inline crypto feature status for iavf
  • doc: fix TSO and checksum offload feature status for ice
  • doc: fix TSO feature status for i40e
  • doc: fix TSO feature status for iavf
  • doc: remove references to obsolete testpmd flag
  • eal: fix annotation on lcore variable allocator
  • eal: fix cache guard for pedantic compilation
  • eal: fix variable shadowing
  • eal/linux: fix fbarray name collision in containers
  • eal/linux: handle interrupt epoll events
  • eal/x86: fix TSC frequency query
  • ethdev: fix variable shadowing
  • event/cnxk: fix crash on CN10K
  • eventdev/eth_rx: fix crash with telemetry
  • eventdev: fix variable shadowing
  • examples/ethtool: fix error message about ports limit
  • examples/ethtool: fix size of mempool name
  • examples/fips_validation: fix dangling pointers
  • examples/fips_validation: fix RSA memcpy
  • examples/ipsec-secgw: fix build with glibc 2.43
  • examples/l2fwd-jobstats: fix stats availability
  • examples/packet_ordering: fix format specifier for port ID
  • examples/ptpclient: fix format specifier for port ID
  • examples/vm_power: check truncation of socket path
  • examples/vm_power_manager: fix format specifier for port ID
  • fib: fix prefix addition handling
  • hash: avoid leaking entries on RCU defer queue failure
  • hash: fix maybe-uninitialized warnings on build
  • hash: fix overflow of 32-bit offsets
  • hash: fix unaligned access for CRC
  • hash: free replaced data on overwrite when RCU is configured
  • interrupts: add interrupt event info
  • mbuf: fix packet copy
  • mbuf: fix packet data read
  • mem: check fbarray name truncation in secondary process
  • net/af_packet: fix MTU set data size calculation
  • net/af_xdp: fix external mbuf transmit
  • net/axgbe: add 100 Mbps MAC speed select
  • net/axgbe: fix 100M SGMII mode
  • net/axgbe: fix auto-negotiation capabilities
  • net/axgbe: fix MAC TCR speed select field width
  • net/axgbe: fix SGMII auto-negotiation status bits
  • net/bnxt: fix build with GCC 16
  • net/bnxt: fix commas instead of semicolons
  • net/bnxt: fix crash in HWRM capabilities query
  • net/bnxt: fix reported VLAN stripped flag for Thor2
  • net/bnxt: fix uninitialized read
  • net/bnxt: remove unbuilt source files
  • net/bnxt: support statistics query when port is stopped
  • net/bnxt/tf_ulp: fix minsize build
  • net/bonding: clamp Rx free threshold for small rings
  • net/cpfl: fix variable shadowing
  • net/dpaa2: add SG table walk upper bound in Rx
  • net/dpaa2: fix burst mode info
  • net/dpaa2: fix error packet dump
  • net/dpaa2: fix L3/L4 checksum offload flags
  • net/dpaa2: fix L4 packet type in slow parse path
  • net/dpaa2: fix link after port stop/start
  • net/dpaa2: fix resource leak on soft parser failure
  • net/dpaa2: fix software taildrop buffer access
  • net/dpaa2: fix spurious VLAN insertion on non-VLAN packet
  • net/dpaa2: warn on Rx descriptor limit in high perf mode
  • net/e1000: fix allocation of context desc for launch time
  • net/e1000: fix variable shadowing
  • net/e1000: use device timestamp for clock read in igc
  • net: fix packet type for stacked VLAN
  • net: fix variable shadowing
  • net/hns3: fix outer UDP checksum with simple BD
  • net/i40e: fix IPv6 GTPU handling
  • net/i40e: fix QinQ stripping
  • net/i40e: fix raw flow item validation
  • net/i40e: fix unused variable
  • net/i40e: fix variable shadowing
  • net/i40e: move filter config to flow create
  • net/i40e: validate raw flow items before dereferencing
  • net/iavf: fix deletion of primary MAC address
  • net/iavf: fix IPv4 flow subscription
  • net/iavf: fix memory leak on egress IPsec flows
  • net/iavf: fix memory leak on uninit
  • net/iavf: fix reported max Tx and Rx queues
  • net/iavf: fix struct size in IPsec status get
  • net/iavf: negotiate PTP before reporting Rx timestamping
  • net/ice/base: fix adjust timer programming for E830
  • net/ice/base: fix integer types in comparisons
  • net/ice: check null scheduler root node
  • net/ice: fix memory leak in DCF QoS bandwidth config
  • net/ice: fix memory leak in FDIR flow parsing
  • net/ice: fix priority mode printing in Tx scheduler dump
  • net/ice: fix variable shadowing
  • net/ice: re-enable strict priority on non-root levels
  • net/idpf: fix typo in CQ scan threshold macro name
  • net/intel: fix comma operator warnings
  • net/intel: fix memory leak on Tx queue setup failure
  • net/intel: update key length when getting RSS key
  • net/ixgbe: add missing E610 MAC type checks
  • net/ixgbe: fix memory leak in security flows
  • net/ixgbe: fix potential null dereference in IPsec flow
  • net/ixgbe: fix potential null dereference with IPsec config
  • net/ixgbe: fix variable shadowing
  • net/mana: fix CQE suppression handling on error completions
  • net/mana: fix fast-path ops setup in secondary process
  • net/mana: fix PD resource leak on device close
  • net/memif: fix descriptor Tx flags corruption
  • net/memif: fix multi-segment Rx corruption
  • net/mlx4: fix fast-path ops setup in secondary process
  • net/mlx5: allow MTU mismatch for running shared queue
  • net/mlx5: check DevX disconnect/error interrupt events
  • net/mlx5: fix bonding check
  • net/mlx5: fix build with LTO
  • net/mlx5: fix default memzone requirements in HWS
  • net/mlx5: fix fast-path ops setup in secondary process
  • net/mlx5: fix flex item capability check
  • net/mlx5: fix flex parser creation length attribute
  • net/mlx5: fix flow mark reading after reconfigure
  • net/mlx5: fix HW flow counter query
  • net/mlx5: fix internal HWS pattern template creation
  • net/mlx5: fix IPv6 SRH flex node header length
  • net/mlx5: fix IPv6 SRH flex parser initialization
  • net/mlx5: fix job leak on indirect meter creation failure
  • net/mlx5: fix memory leak after device spawn failure
  • net/mlx5: fix meter ASO action leak on release to pool
  • net/mlx5: fix MPESW PF probe for any number of ports
  • net/mlx5: fix NAT64 HW registers calculation
  • net/mlx5: fix port down in link detection failure
  • net/mlx5: fix probing to allow BlueField Socket Direct
  • net/mlx5: fix redundant control rules in promiscuous mode
  • net/mlx5: fix send skew settings when using wait on time
  • net/mlx5: fix shared Rx queue limitations
  • net/mlx5: fix use-after-free in ASO management init
  • net/mlx5: fix VLAN strip info for CQE compression
  • net/mlx5: fix VXLAN and NVGRE encap in async flow API
  • net/mlx5/hws: fix null dereference in rule skip
  • net/mlx5/hws: fix stack alignment for ASan compatibility
  • net/mlx5: report share group and queue ID
  • net/mlx5/windows: fix MAC address ownership tracking
  • net/mvpp2: fix variable shadowing
  • net/netvsc: fix devargs memory leak on hotplug
  • net/netvsc: fix double-free of primary Rx queue on uninit
  • net/netvsc: fix event callback leak on Rx filter failure
  • net/netvsc: fix race conditions on VF add/remove events
  • net/netvsc: fix resource leak on init failure
  • net/netvsc: fix resource leaks on MTU change
  • net/netvsc: fix subchannel leak on device removal
  • net/netvsc: support multi-process VF device removal
  • net/netvsc: switch data path to synthetic on device stop
  • net/nfb: fix bad pointer access in queue stats
  • net/nfb: fix resources release
  • net/nfb: stop only started queues in fail path
  • net/nfb: use constant values for max Rx/Tx queues count
  • net/nfb: use process private variable for internal
  • net/r8169: ensure old mapping is used
  • net/sfc: drop AUTO from FEC capabilities and fix comment
  • net/sfc: fix reporting status of autonegotiation
  • net/sfc: rework capability check that is done on FEC set
  • net/tap: fix resource leaks in secondary process probe
  • net/tap: fix resource leaks on creation failure
  • net/tap: fix use-after-free on remote flow creation failure
  • net/tap: free IPC reply buffer on queue count mismatch
  • net/tap: free remote flow when implicit rule already exists
  • net/tap: remove log when running without multiprocess
  • net/tap: use correct length for interface names
  • pcapng: chain additional mbuf when comment exceeds tailroom
  • pcapng: document return values
  • pcapng: fix variable shadowing
  • pcapng: use malloc instead of fixed buffer size
  • pdcp: add digest physical address
  • pipeline: fix variable shadowing
  • power: fix variable shadowing
  • rcu: fix build with MSVC
  • table: fix variable shadowing
  • telemetry: fix adding dict in container array
  • test: add file-prefix for all fast-tests on Linux
  • test: add pause to synchronization spinloops
  • test/atomic: scale test based on core count
  • test/cfgfile: avoid temp filename truncation
  • test/crypto: check for vdev args overflow
  • test/crypto: fix mbuf segment number
  • test: fix dependencies on net null driver
  • test/mcslock: scale test based on core count
  • test/memcpy: reduce alignment offset coverage
  • test/pcapng: fix for Windows
  • test/pcapng: skip test if null driver missing
  • test/red: fix some undefined behaviour
  • test/security: skip inline protocol test if no HW support
  • test/stack: scale test based on core count
  • test/table: avoid input line overflow
  • test/timer: fix hang on secondary process failure
  • test/timer: replace volatile with C11 atomics
  • test/timer: scale test based on core count
  • test/trace: fix parallel execution with traces enabled
  • usertools/pmdinfo: fix search for PMD info string
  • version: 24.11.5-rc1
  • vhost: fix descriptor chain bounds check in control queue
  • vhost: fix mmap error check in VDUSE IOTLB miss handler
  • vhost: fix use-after-free fdset during shutdown
  • vhost: fix use-after-free race during cleanup
  • vhost: fix virtqueue array size for control queue

1.10.2. 24.11.5 Validation

  • Intel(R) Testing

    • Basic Intel(R) NIC testing

      • Build & CFLAG compile: cover the build test combination with latest GCC/Clang version and the popular OS revision such as Ubuntu24.04.3, Ubuntu25.04, Fedora42, RHEL10, RHEL9.6, FreeBSD14.3, SUSE15.6, AzureLinux3.0, OpenAnolis8.10, OpenEuler24.04-SP2
      • i40E-(XXV710, X722) PF/VF: test scenarios including basic/RTE_FLOW/TSO/Jumboframe/checksum offload/mac_filter/VLAN/VXLAN/RSS, etc.
      • IXGBE-(E610) PF/VF: test scenarios including basic/RTE_FLOW/TSO/Jumboframe/checksum offload/mac_filter/VLAN/VXLAN/RSS, etc.
      • ICE-(E810, E2100) PF/VF: test scenarios including basic/Switch/Package Management/Flow Director/Advanced Tx/Advanced RSS/ACL/DCF/Flexible Descriptor, etc.
      • IPsec: test scenarios including ipsec/ipsec-gw/ipsec library basic test - QAT&SW/FIB library, etc.
      • Virtio: both function and performance test are covered. Such as PVP/Virtio_loopback/virtio-user loopback/virtio-net VM2VM perf testing/VMAWARE ESXI 8.0, etc.
      • Cryptodev: test scenarios including Cryptodev API testing/CompressDev ISA-L/QAT/ZLIB PMD Testing/FIPS, etc.
      • DLB: test scenarios including DLB2.0 and DLB2.5
      • Other: test scenarios including AF_XDP, Power, CBDMA, DSA
    • Performance test

    • Thoughput Performance
    • Cryptodev Latency
    • PF/VF NIC single core
    • XXV710/E810 NIC Performance
  • Nvidia(R) Testing

    • Basic functionality via testpmd/example applications

      • Tx/Rx
      • xstats
      • Timestamps
      • Link status
      • RTE flow and flow_director
      • RSS
      • VLAN filtering, stripping and insertion
      • Checksum/TSO
      • ptype
      • link_status_interrupt example application
      • l3fwd-power example application
      • Multi-process example applications
      • Hardware LRO tests
      • Buffer Split tests
      • Tx scheduling tests
    • BlueField-2

      • DOCA 2.9.4
      • fw 24.43.4100
    • ConnectX-7

      • Ubuntu 22.04
      • Driver MLNX_OFED_LINUX-24.10-4.1.4.0
      • fw 28.43.4100
    • ConnectX-6 Dx

      • Ubuntu 22.04
      • Driver MLNX_OFED_LINUX-24.10-4.1.4.0
      • fw 22.43.4100

1.11. 24.11.6 Release Notes

1.11.1. 24.11.6 Fixes

  • docs: fix build issue due to missing spacing between paragraphs
  • Revert “net: fix packet type for stacked VLAN”

1.11.2. 24.11.6 Validation