Examples of mlxconfig Usage
To query the device’s configuration, use the following command line:
# mlxconfig -d <device> query
ConnectX-3 Example:
# mlxconfig -d /dev/mst/mt4099_pciconf0 q
Device type: ConnectX-3
PCI device: /dev/mst/
/dev/mst/mt4099_pciconf0
Device 1:
-----------
Configurations: Next Boot
SRIOV_EN True(1)
NUM_OF_VFS 16
WOL_MAGIC_EN_P1 False(0)
WOL_MAGIC_EN_P2 False(0)
N/A means that the device default configuration is set.
For Array type parameters, the query command will not show a value for it. It will only show you the word "Array" and the range of the array.
For example: HOST_CHAINING_DESCRIPTORS Array[0..7]
To query the fifth element in the array, run: mlxconfig -d <device> query HOST_CHAINING_DESCRIPTORS[5]
To specify a range: mlxconfig -d <device> query HOST_CHAINING_DESCRIPTORS[3..7]
To set the fifth element in the array, run: mlxconfig -d <device> set HOST_CHAINING_DESCRIPTORS[5]=3
Or you can set value for more than one element: mlxconfig -d <device> set HOST_CHAINING_DESCRIPTORS[3..7]=3
ConnectX-4 Lx Example:
# mlxconfig -d /dev/mst/mt4117_pciconf0 --enable_verbosity q
Device #1:
----------
Device type: ConnectX4LX
PCI device: /dev/mst/mt4117_pciconf0
Configurations: Default Current Next Boot
* NUM_OF_VFS 8 5 5
SRIOV_EN True(1) True(1) True(1)
The '*' shows parameters with next value different from default/current value.
To set the device configuration, use the following command line:
# mlxconfig -d <device> set [Parameters....]
Example:
# mlxconfig -d /dev/mst/mt4099_pciconf0 set WOL_MAGIC_EN_P2=1 NUM_OF_VFS=24
Device type: ConnectX-3
PCI device: /dev/mst/mt4099_pciconf0
Configurations: Next Boot New
NUM_OF_VFS 16 24
WOL_MAGIC_EN_P2 False(0) True(1)
Apply new Configuration?(y/n) [n]: y
Applying... Done!
-I- Please reboot the system to load new configurations.
To reset the device configuration to default, use the following command line:
# mlxconfig -d <device> reset
Example:
# mlxconfig -d /dev/mst/mt4099_pciconf0 reset
Reset configuration for device /dev/mst/mt4099_pciconf0? ? (y/n) [n] : y
Applying... Done!
-I- Please power-cycle device to load new configurations.
>mlxconfig -d /dev/mst/mt4099_pciconf0 query
Device 1:
----------
Device type: ConnectX-3
PCI Device: /dev/mst/mt4099_pciconf0
Configurations: Next Boot
SRIOV_EN True(1)
NUM_OF_VFS 8
WOL_MAGIC_EN_P1 False(0)
WOL_MAGIC_EN_P2 False(0)
Set of commands that will fill any missing parameters with default values. If the final configurations matches the current, no set will be done.
# mlxconfig -d <device> --with_default set BOOT_LACP_DIS=False
Example:
# mlxconfig -d /dev/mst/mt41692_pciconf0 --with_default set BOOT_LACP_DIS=False
Found a difference, first difference on the list is VIRTIO_BLK_EMULATION_NUM_MSIX from val 0 to 2
continue to reset and set
Apply reset and set? (y/n) [n] : y
Device #1:
----------
Device type: BlueField3
Name: 900-9D3B6-00CV-AAB_Ax
Description: Nvidia BlueField-3 BF3220 P-Series DPU 200GbE/NDR200 dual-port QSFP112; PCIe Gen5.0 x16 FHHL with x16 PCIe extension option; Crypto Enabled; SB Disabled 32GB on-board DDR; integrated BMC; Tall Bracket; IPN QP
Device: /dev/mst/mt41692_pciconf0
Configurations: Next Boot New
BOOT_LACP_DIS True(1) False(0)
Applying... Done!
-I- Please reboot machine to load new configurations.
Used to define the target host and physical function for Class 3 Per-Host TLV operations.
# mlxconfig -d /dev/mst/mt41692_pciconf0 --host_id 1 --pf_index 1 set ROCE_CONTROL=2
Example:
# mlxconfig -d /dev/mst/mt41692_pciconf0 --host_id 1 --pf_index 1 set ROCE_CONTROL=2
Device #1:
----------
Device type: BlueField3
Name: 900-9D3B6-00CV-AAB_Ax
Description: Nvidia BlueField-3 BF3220 P-Series DPU 200GbE/NDR200 dual-port QSFP112; PCIe Gen5.0 x16 FHHL with x16 PCIe extension option; Crypto Enabled; SB Disabled 32GB on-board DDR; integrated BMC; Tall Bracket; IPN QP
Device: /dev/mst/mt41692_pciconf0
Configurations: Next Boot New
ROCE_CONTROL ROCE_ENABLE(2) ROCE_ENABLE(2)
Apply new Configuration? (y/n) [n] : y
Applying... Done!
-I- Please reboot machine to load new configurations.