Changes and New Feature History

Feature/Change

Description

24.39.2048

NC-SI Channels

Added support for two passthrough channels on dual-port adapter cards.

Expansion ROM

Added a caching mechanism to improved expansion ROM performance and to avoid any slow boot occurrences when loading the expansion ROM driver.

Live Migration Support for Image Size above 4GB

Added support for image size above 4GB when performing a live migration by splitting the image to chunks.

Crypto Algorithms

Extended the role-based authentication to cover all crypto algorithms. Now the TLS. IPsec. MACsec. GCM, mem2mem, and NISP work when nv_crypto_conf.crypto_policy = CRYPTO_POLICY_FIPS_LEVEL_2, meaning all cryptographic engines can also work in wrapped mode and not only in plaintext mode.

DSCP (priority) of ACK Packets

Added the ability to configure the DSCP (priority) of ACK packets using the ROCE_ACCL access register.

Performance Improvements

Added support for large MTU for force loopback QPs to improve performance (using the aes_xts_tweak_inc_64 parameter). This capability is enabled by mlxconfig LARGE_MTU_TWEAK_64 parameter.

DDR Poison: DDR Uncorrectable Error

When there is DDR poison (uncorrectable ECC error), firmware reports the health syndrome ICM_FETCH_PCI_DATA_POISONED_ERR (0x14), and triggers the FLR on the the function causing this error.

Due to this error, the DDR data is mostly corrupted therefore, the firmware blocks other operations on this function.

Live Firmware Patch

Added support for Live Firmware Patch.

Reserved mkey

Added new support for reserved mkey index range. When enabled, a range of mkey indexes is reserved for mkey by name use.

Admin Queue

Added support for admin queue in virtio device object.

Enhanced NIC Mode: GGA Modules

Enabled GGA modules for all working modes (except for RXP) when using Enhanced NIC Mode.

Bug Fixes

See Bug Fixes in this Firmware Version section.

Feature/Change

Description

24.38.1002

INT Packets

Added support for forwarding INT packets to the user application for monitoring purposes by matching the BTH acknowledge request bit (bth_a).

Bug Fixes

See Bug Fixes in this Firmware Version section.

Feature/Change

Description

24.37.1300

Precision Time Protocol (PTP)

Added support for Precision Time Protocol (PTP), the protocol used to synchronize clocks throughout a computer network as part of 5T Technology.

Mergeable Buffer

Added mergeable buffer support (VIRTIO_NET_F_MRG_RXBUF in virtio spec) for VDPA kernel mode to improve performance in case of large MTU such as 9K. The feature is disabled by default and must be manually enabled while creating or modifying the virtio device.

Note: For best performance, it is NOT recommended to enable the feature if the VDPA MTU is set to the default value (1500).

Monitoring Cloud Guest RoCE Statistics on Cloud Provider

This new capability enables the VM to track and limit its Vport's activity. This is done using the new q_counters counter which enables aggregation of other Vport's from PF GVMI.

NVME Device Emulation

Enables the firmware to generate a Device Change Event upon any change in the NVME Device Emulation object (BAR change, HotPlug power state change, NVME Function reset, etc).

PCC Algorithms

Enables a smooth and statically switch between PCC algorithms. In addition, the user can now switch between PCC algorithms while running traffic.

Hardware Steering: Bulk Allocation

Added support for 32 actions in the header modify pattern using bulk allocation.

Bug Fixes

See Bug Fixes in this Firmware Version section.

Feature/Change

Description

24.35.2000

PCC Algorithm

Enables the users to collect more information from NP to RP for PCC algorithm. To achieve this, the NP ingress bytes information was added to the RTT response packet sent from the NP side.

HPCC: Support per-IP and per-QP methods

Enables the user to configure the PCC algorithm shaper coalescing mode using nvconfig to select CC algorithm shaper coalescing for IB and ROCE.

The new parameters are IB_CC_SHAPER_COALESCE and ROCE_CC_SHAPER_COALESCE.

Bug Fixes

See Bug Fixes in this Firmware Version section.

Feature/Change

Description

24.35.1012

HPCC, Programmable Congestion Control

HPCC related configurations in is now supported via the mlxconfig utility.

UDP

Added support for copy modify header steering action to/from the UDP field.

Resource Dump

Added the following resource dump segments:

  • SEG_HW_STE_FULL that includes dump to STE and all its dependencies

  • SEG_FW_STE_FULL that include dump to FW_STE and to HW_STE_FULL in range

Striding WQE - Headroom and Tail-room

As the software requires additional space before and after a packet is scattered for its processing for stridden RQ, the hardware will allocate the required room while scattering packets to spare a copy.

Connections per Second (CPS)

Improved security offload's Connections per Second (CPS) rate using the general object DEK (PSP TLS etc).

VirtIO vDPA Performance Virtualization

Increased the VirtIO hardware offload message rate to 20/20 MPPS for 256 virtual devices by optimizing the datapath application code.

Open SNAPI: Communication Channel

Open SNAPI steering hop optimization:

  • Only packets with dmac/dlid 0 will enter the SNAPI steering channel. Meaning if the Open SNAPI communication channel exists, all other traffic will have only 1 steering hop penalty

  • SW must use dlid/dmac == 0 in address vector of a SNAPI QP

  • cross eSwitch, Open SNAPI is now allowed if LAG is enabled

SHA Calculations

Added support for SHA calculations via the MMO engine.

UPT Performance

Optimized latency for UPT traffic.

NONDNIC, LAG

Added LAG support on NODNIC interfaces to enable traffic functionality on other ports after the LAG is enabled.

QoS Priority Trust Default State

QoS priority trust default state can now be changed using the new nvconfig below:

  • QOS_TRUST_STATE_P1

  • QOS_TRUST_STATE_P2

The values that can be used to set the default state are:

  • TRUST_PORT

  • TRUST_PCP

  • TRUST_DSCP

  • TRUST_DSCP_PCP

VirtIO Full Emulation

Implemented a transitional device which supports both drivers conforming to the spec 1.x and allows legacy drivers to support virtio legacy driver (virtio 0.95).

Bug Fixes

See Bug Fixes in this Firmware Version section.

© Copyright 2023, NVIDIA. Last updated on Feb 28, 2024.