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_COUNTtracks the number of service function invocations where no actual work was performed.RTE_SERVICE_ATTR_ERROR_CALL_COUNTtracks 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_mallocand similar functions that can catch some obvious bugs at compile time (with GCC 11.0 or later). For example, callingfreeon a pointer that was allocated withrte_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
--syslogoption is specified. Syslog is also supported on FreeBSD (but not on Windows). - Log messages can be timestamped with
--log-timestampoption. - Log messages can be colorized with the
--log-coloroption.
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_freqto 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_PATTERNtype. - 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.
- Extended the flow table insertion type enum with the
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_hdrandlarge_llq_hdrdevargs with a new shared devargllq_policythat 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
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_resetis 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_SPto 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_typeto configure the device level pre-scheduling type. - Added
rte_event_port_preschedule_modifyto modify pre-scheduling type on a given event port. - Added
rte_event_port_prescheduleto allow applications provide explicit pre-schedule hints to event ports.
- Added
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_ENQto enable the feature if the capabilityRTE_EVENT_DEV_CAP_INDEPENDENT_ENQexists.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_confstructure. 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_keyis 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_argfunction 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_burstsymbol, 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_processnow only handleskey=valuecases and rejects input where only a key is present in the parsed string. rte_kvargs_process_opthas been added to behave asrte_kvargs_processin previous releases: it handles key=value and only-key cases.- Both
rte_kvargs_processandrte_kvargs_process_optreject a NULLkvlistparameter.
- The already existing
- net: The IPv4 header structure
rte_ipv4_hdrhas been marked as two bytes aligned. - net: The ICMP message types
RTE_IP_ICMP_ECHO_REPLYandRTE_IP_ICMP_ECHO_REQUESTare marked as deprecated, and are replaced byRTE_ICMP_TYPE_ECHO_REPLYandRTE_ICMP_TYPE_ECHO_REQUEST. - net: The IPv6 header structure
rte_ipv6_hdrand extension structuresrte_ipv6_routing_extandrte_ipv6_fragment_exthave 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_ipv6struct rte_flow_item_icmp6_nd_nastruct rte_flow_item_icmp6_nd_nsstruct rte_flow_tunnel
- fib:
rte_fib6_add()rte_fib6_delete()rte_fib6_lookup_bulk()RTE_FIB6_IPV6_ADDR_SIZE(deprecated, replaced withRTE_IPV6_ADDR_SIZE)RTE_FIB6_MAXDEPTH(deprecated, replaced withRTE_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 withRTE_IPV6_ADDR_SIZE)RTE_LPM6_MAX_DEPTH(deprecated, replaced withRTE_IPV6_MAX_DEPTH)
- net:
struct rte_ipv6_hdr
- node:
rte_node_ip6_route_add()
- pipeline:
struct rte_swx_ipsec_sa_encap_paramsstruct rte_table_action_ipv6_headerstruct rte_table_action_nat_params
- security:
struct rte_security_ipsec_tunnel_param
- table:
struct rte_table_lpm_ipv6_keyRTE_LPM_IPV6_ADDR_SIZE(deprecated, replaced withRTE_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 withRTE_IPV6_ADDR_SIZE)get_msk_part()(deprecated)rte_rib6_copy_addr()(deprecated, replaced with direct structure assignments)rte_rib6_is_equal()(deprecated, replaced withrte_ipv6_addr_eq())
- cmdline:
- drivers/net/ena: Removed
enable_llq,normal_llq_hdrandlarge_llq_hdrdevargs and replaced it with a new shared devargllq_policythat 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
filterandnamesfields torte_dev_reg_infostructure for filtering by modules and reporting names of registers. - cryptodev: The queue pair configuration structure
rte_cryptodev_qp_confis 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_ENDandRTE_CRYPTO_RSA_PADDING_TYPE_LIST_ENDare removed to allow subsequent addition of new asymmetric algorithms and RSA padding types. - cryptodev: The enum
rte_crypto_asym_xform_typeand structrte_crypto_asym_opare updated to include new values to support EdDSA. - cryptodev: The
rte_crypto_rsa_xformstruct 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_paddingis moved fromrte_crypto_rsa_op_paramtorte_crypto_rsa_xformas 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_statswas updated to add a new parameter to optionally report the number of enqueue batches availableenqueue_depth_avail. - dmadev: Added
nb_prioritiesfield to therte_dma_infostructure andpriorityfield to therte_dma_confstructure to get device supported priority levels and configure required priority from the application. - eventdev: Added the
preschedule_typefield torte_event_dev_configstructure. - 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_descandxstat_counttorte_graph_cluster_node_stats, added new structurerte_node_xstatstorte_node_registerand addedxstat_offtorte_node. - graph: The members
dispatchandxstat_offof the structurerte_nodehave been marked asRTE_CACHE_LINE_MIN_SIZEbytes 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® Ethernet Controller E810-C for SFP (4x25G)
- CPU
- 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® ConnectX®-6 Dx EN 100G MCX623106AN-CDAT (2x100G)
- CPU:
- 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
- NVIDIA® BlueField®-2 SmartNIC MT41686 - MBF2H332A-AEEOT_A1 (2x25G)
- 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
- NVIDIA® ConnectX®-6 Dx 100G MCX623106AN-CDAT (2x100G)
- OFED:
- MLNX_OFED 24.10-0.7.0.0
- CPU:
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
-
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
-
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
-
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
-
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
-
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
-
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
- DPDK 24.11.3 contains fixes from DPDK 25.07
- Issues identified/fixed in DPDK main branch after DPDK 25.07 may be present in DPDK 24.11.3
- Bug 1606 - flow_filtering/flow_filtering_mismatch_rule: Some mismatch rule packets match the rule. reported by Intel validation team, despite listed fix being present.
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
-
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
-
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
-
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
- DPDK 24.11.4 contains fixes from DPDK 25.11
- Issues identified/fixed in DPDK main branch after DPDK 25.11 may be present in DPDK 24.11.4
- Bug 1855 - E610 vfs can’t forward packets. reported by Intel validation team.
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”