NVIDIA Firmware Tools (MFT) Documentation v4.28
NVIDIA Firmware Tools (MFT) Documentation v4.28

mlxconfig – Changing Device Configuration Tool

The mlxconfig tool allows the user to change some of the device configurations without reburning the firmware. The configuration is kept after reset.

By default, mlxconfig shows the configurations that will be loaded in the next boot. For 5th generation devices, it is also possible to query the default configurations and the configurations that are used by the current running firmware.

  • OFED/WinOF driver to be installed and enabled (for ConnectX-3 and ConnectX-3 Pro)

  • Access to the device through the PCI interface (pciconf/pci_cr)

  • For the adapter cards below, the following firmware versions are required:

    • ConnectX®-3/ConnectX-3 Pro: v2.31.5000 or above

    • Connect-IB®: v10.10.6000 or above

  • Supported devices:

    • Adapter cards: ConnectX-3/ConnectX-3 Pro/Connect-IB/ConnectX-4/ConnectX-4 Lx/ConnectX-5/ConnectX-5 Ex/ConnectX-6/ConnectX-6 Dx/ConnectX-6 Lx/ConnectX-7/NVIDIA BlueField®/NVIDIA BlueField-2/NVIDIA BlueField-3

    • Switches: Switch-IB/Switch-IB 2/Spectrum™/Spectrum-2/Spectrum-3/Spectrum-4/Quantum/Quantum-2

  • Changing device configurations enabled.

Note

For changes after a successful configuration to take effect, reboot the system.

Copy
Copied!
            

# mlxconfig [Options] <commands> [Parameters]

where:

-d|--dev <device>

Performs operation for a specified mst device.

-b|--db <filename>

Use a specific database file.

-f|--file <conf.file>

Raw configuration file.

-h|--help

Displays help message.

-v|--version

Displays version info.

-e|-enable_verbosity

Show default and current configurations. Note: For 5th generation (Group II) devices, the --enable_verbosity option works with ConnectX-4 firmware v12.14.0016 and above for querying the default configurations, and with ConnectX-4 firmware v12.17.1010 and above for querying the current configurations.

-y|--yes

Answers yes in prompt.

-a|--all_attrs

Show all attributes in the XML template.

-p|--private_key

pem file for private key.

-u|--key_uuid

keypair uuid.

-eng|--openssl_engine

OpenSSL engine name.

-k|--open_ssl_key_id

OpenSSL key identifier

--aws_hsm

Sign in 3S environment.

-l|--private_key_label

Private key label to use for 3S HSM sign.

-t|--device_type <switch/hca/linkx>

Specify the device type.

-s|--session_id

Specify the session id for token keep alive session.

-st|--session_time

Specify session time for token keep alive session.

-tkn|--token_type

Specify token type.

--sign_algorithm

Specify a signature algorithm from the following: RSA4k, RSA3k or ECDSA256.

--nested_token

Include challenge response for ArcusE.

clear_semaphore

Clear the tool’s semaphore

i[show_confs]

Display information about all configurations

q[uery]

Queries the supported configurations. Note: Query command will query a single device if a device is specified. Otherwise, it will query all devices on the machine.

r[eset]

Resets configurations to their default value

s[et]

Sets configurations to a specific device

set_raw

Sets raw configuration file (5th generation/Group II devices only)

get_raw

Gets raw configuration file (5th generation/Group II devices only)

backup

Backs up configurations to a file (only 5th generation (Group II) devices). Use set_raw command to restore file.

gen_tlvs_file

Generate a List of all TLVs. TLVs output file name must be specified

g[en_xml_template]

Generate an XML template. TLVs input file name and XML output file name must be specified

xml2raw

Generate a Raw file from an XML file. XML input file name and raw output file name must be specified

raw2xml

Generate an XML file from a Raw file. raw input file name and XML output file name must be specified

xml2bin

Generate binary configuration dump file from XML file. XML input file name and bin output file name must be specified.

create_conf

Generate configuration file from XML file. XML input file name and bin output file name must be specified.

apply

Apply a configuration file, that was created with create_conf command. bin input file name must be specified.

challenge_request

Send a token challenge request to the device. Token type must be specified.

remote_token_keep_alive

Start a remote token session for a specified time. session id must be specified.

token_supported

Query which tokens are supported.

query_token_session

Query the status of a token session.

end_token_session

End an active token session.

Before working with the Lego Softbank CG1 and Lego C2 flavors, make sure that the device is set to NIC mode (CPU as a RC). Please use the following commands, as specified in the "CPU as RC" column.

Lego Configuration

Configuration of Lego Systems

CPU as RC

DPU as RC

Configuration to bifurcation mode

To configure a BlueField-3 card as a "CPU is RC" of NVMe (DPU as PCIe switch):

mlxconfig -d /dev/mst/mt41692_pciconf0 -y reset

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_SWITCH0_UPSTRAEM_PORT_BUS=0

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_SWITCH0_UPSTRAEM_PORT_PEX=0

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_HIERARCHY_TYPE=1

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_WIDTH=5

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_HIERARCHY_TYPE=1

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_HIERARCHY_TYPE=1

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_HIERARCHY_TYPE=1

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_HIERARCHY_TYPE=1

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_SPEED=4

To configure a BlueField-3 card as a "DPU is RC" of NVMe (using SNAP towards the CPU):

mlxconfig -d /dev/mst/mt41692_pciconf0 -y reset

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_HIERARCHY_TYPE=0

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_WIDTH=5

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS00_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_HIERARCHY_TYPE=2

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS10_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_HIERARCHY_TYPE=2

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS12_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_HIERARCHY_TYPE=2

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS14_SPEED=4

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_HIERARCHY_TYPE=2

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_WIDTH=3

mlxconfig -d /dev/mst/mt41692_pciconf0 -y s PCI_BUS16_SPEED=4

Configuring the card in NIC mode

# mlxconfig -d /dev/mst/mt41692_pciconf0 s INTERNAL_CPU_OFFLOAD_ENGINE=1

# mlxconfig -d /dev/mst/mt41692_pciconf0 s INTERNAL_CPU_OFFLOAD_ENGINE=1

© Copyright 2024, NVIDIA. Last updated on May 15, 2024.