NVIDIA BlueField-3 DPU NIC Firmware Release Notes v32.42.1000
NVIDIA BlueField-3 DPU NIC Firmware Release Notes v32.42.1000

Changes and New Features

Feature/Change

Description

32.42.1000

Memory Slow Release

Added a new command interface "Memory slow release" to enable/disable holding memory pages for a defined period of time. Once the timer expires, the firmware will return the pages to the driver.

Server's Resource Size

Increased the server's resource size for 10k data QP (connections from NVME initiator) attached to the XRQ upon 32MB, 64MB, 128MB, 256MB staging buffer.

Hotplug Power Off for Virtio FS

Added support for Hotplug Power Off for Virtio FS (hotplug_power_off).

Kernel Lockdown

Added support for MVTS register via a miscellaneous driver using the access_register PRM command.

Dynamic Queue Modification

Added support for Virtio devices' dynamic queue modification. A Virtio PF manages the available number of queues (doorbells) that can be allocated to its Virtio VFs.

Managed Hot-Plug

Added support for remove/plugged-in Memory Device units while the system is active. To insert/remove the device while the system is active, use the Attention Button Control or User OS Commands, press Attention Butten if exists or write SW Command if not exists.

Note: This capability is not enabled by default, to enable managed hot plug, configure the following setting using mlxconfig and then power-cycle:

  • setting name: OFF_BOARD_SERIALIZER

    • *cmd: mlxconfig -d <device> set OFF_BOARD_SERIALIZER=1

    • *Description: when set, the BlueField-3 enables the serializer that is connected to the SMC bridge board and enables the bitstream.

ResourceDump QP_INFO

Added QP_INFO segment to resource dump access_register command.

Maximum Number of EQs

Added a new hca_cap call max_num_eqs_24b to report the number of EQs for VFs, PFs of ECPFs, and SFs.

Note: It is only writable for SFs.

MSIX

Firmware allocates the MSIX/VQ resources according to the function number, thus, every VF function will get the same number of MSIX/VQ.

For example: In case of a total of 8K MSIX locked ICMC resource, each VF will get 8K MSIX/ (384 vblk VF + 128 vnet VF) = 16 MSIX by symmetric distribution.

As of firmware v32.42.100x, X_EMULATION_NUM_VF_MSIX are added to set the Emulation VF device MSIX number in NVCONFIG, such as VIRTIO_VBLK_EMULATION_NUM_VF_MSIX (=8 MSIx for this user case) and VIRTIO_NET_EMULATION_NUM_VF_MSIX (=32 MSIx for this user case).

MSIX Allocation

The user can now know the exact number of allocated MSIX by the firmware using the new added call actual_msix_number.

Dynamic MSIX Allocation

Each VF can allocate all VFs' MSIX of the PF as a free pool of the PF. The new modification, increased the maximum VNET/VBLK VF MSIX number from 64 to 256. To see the new value, query the cmd_hca_cap.max_dynamic_vf_msix_table_size.

Now each VF will get the number of MSI by the asymmetric distribution according to the new VF MSIX configuration (X_EMULATION_NUM_VF_MSIX).

If there are not enough MSIX to be allocated, the actual number of MSIXs will be deduced from the total free number and not from the NVCONFIG value. The actual_msix_number value is shown as LSPCI value. To get the actual_msix_number in the PCI device, query the "Current" column of the mlxconfig, which is the same as the ‘lspci’ shown.

MMO: Cache-Invalidate WQE

Enabled Cache-Invalidate WQE (OPCODE=”MMO”) with OPC_MOD=”DPU_CACHE_INVALIDATE" by default for DPU GVMI. Additionally, added related capabilities to show if this capability is supported and what is the maximum supported data size to be invalidated (2MB by default.).

Steering SF Traffic to a Specific PF MSI-X

MSI-X on SF can be received now through the PF's MSI-X vector.

Bug Fixes

See Bug Fixes in this Firmware Version section.

© Copyright 2024, NVIDIA. Last updated on Aug 14, 2024.