MLX BUS Registry Keys

Linux Kernel Upstream Release Notes v6.5

SR-IOV feature can be controlled, on a machine level or per device, using the same set of Registry Keys. However, only one level must be used consistently to control SR-IOV feature. If both levels were used, the per-machine level of configuration will be enforced by the driver.

Registry Keys location for machine configuration:


Registry Keys location for device configuration:

HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e97d-e325-11ce-bfc1- 08002be10318}\<nn>\Parameters

For more information on how to find device index nn, please refer to Finding the Index Value of the HCA.

Key Name

Key Type





0 = Disabled

1 = Enabled (default)

Configures the SR-IOV mode.



0 = auto_port1

1 = auto_port2

2 = manual (default)

Configures the number of VFs to be enabled by the bus driver to each port. Note: In auto_portX mode, port X will have the number of VFs according to the burnt value in the device and the other port will have no SR-IOV and it will support native Ethernet (i.e. no RoCE). Setting this parameter to "Manual" will configure the number of VFs for each port according to the registry key MaxVFPortX.

Note: The number of VFs can be config- ured both on a Mellanox bus driver level and Network Interface level (i.e using SetNetAdapterSriov Powershell cmdlet). The number of VFs actually available to the Network Interface is the minimum value between Mellanox bus driver configuration and Network Interface configuration. For example, if 8 VFs support was burnt in firmware, SriovPortMode is auto_port1, and Network Interface was allowed 32 VFs using SetNetAdapterSriov Powershell cmdlet, the actual number of VFs available to Network Interface will be 8.

MaxVFPort1 MaxVFPort2



MaxVFPort<i> The maximum number of VFs

that are allowed per port. This is the number of VFs the bus driver will open when working in manual mode.

Note: If the total number of VFs requested is larger than the number of VFs burnt in firmware, each port X(1\2) will have the number of VFs according to the following formula: (MaxVFPortX / (MaxVPort1+Max- VPort2)*number of VFs burnt in firmware.

The following registry configuration is available for RoCE under:


This registry is per-driver and it will apply to all available adapters.


Parameter Type


Allowed Values and Default



Sets the RoCE mode. The following are the possible RoCE modes:

  • RoCE MAC Based (v1)

  • RoCE IP Based (v1)

  • RoCE over UDP (v2)

  • No RoCE

  • RoCE MAC Based = 0

  • RoCE IP Based = 5

  • RoCE over UDP = 2

  • No RoCE = 4

Default: No RoCEDefault: RoCE over UDP = 2

Note: The default value depends on the WinOF package used.



Sets the RoCE v2 UDP destination port.

Note that in order to communicate with RoCE v2, all machines in a fabric must be configured with the same value for the UDP port number.

  • 1 - 65535

Default (IANA Port): 4791

Registry Keys location for machine configuration:


Key Name

Key Type






Default: 3000

Polling interval in milliseconds of local IP-address changes for updating RDMA IP-based GIDs.



Enabled: 1

Disabled: 0

Default: 1

Determines whether End-to-End Flow Control for RC connections is enabled.

© Copyright 2023, NVIDIA. Last updated on May 23, 2023.