NIC Subsystem Management
This content is relevant for BlueField-3 devices only.
Get Operation Mode
curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia
See status under Mode.
Change to DPU Mode
curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"Mode":"DpuMode"}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/Mode.Set
Change to NIC Mode
curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"Mode":"NicMode"}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/Mode.Set
Get Host Rshim
curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia
Host RShim Enable
curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"HostRshim":"Enabled"}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/HostRshim.Set
Host Rshim Disable
curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"HostRshim":"Disabled"}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/HostRshim.Set
Get Strap Options
curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/StrapOptions
Get External Host Privileges
https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/ExternalHostPrivileges
Set External Host Privileges
curl -k -u root:'<password>' -H "Content-Type: application/json" -X POST -d '{"HostPrivFwUpdate":"Default","HostPrivNvGlobal":"Enabled" ...}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/ExternalHostPrivileges/Actions/ExternalHostPrivileges.Set
Currently, firmware does not support the parameters HOST_PRIV_FLASH_ACCESS and HOST_PRIV_PCC_UPDATE. Their value should stay as DEVICE_DEFAULT.
The parameter HOST_PRIV_NV_INTERNAL_CPU should either equal the parameter HOST_PRIV_NV_GLOBAL or one of them should be set to DEVICE_DEFAULT.
If the parameter HOST_PRIV_FLASH_ACCESS is not set to DEVICE_DEFAULT then the following parameters should all be set to DEVICE_DEFAULT or be equal to the value of HOST_PRIV_FLASH_ACCESS: HOST_PRIV_NV_HOST, HOST_PRIV_NV_PORT, HOST_PRIV_NV_GLOBAL, HOST_PRIV_NV_INTERNAL_CPU, HOST_PRIV_PCC_UPDATE, HOST_PRIV_FW_UPDATE.
Since the standard IPMItool commands do not cover all functionality, a set of custom NVIDIA IPMItool raw commands is available to enable configuring the NIC subsystem on the DPU directly.
IPMItool raw commands follow the following format:
ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U <username> -P <password> raw <netfunc> <cmd> <data>
Where:
netfunc – network function which identifies the functional message class, and clusters IPMI commands into sets
cmd – one byte command within a network function
data – optional element which provides additional parameters for a request or response message
The following table lists the supported IPMItool raw commands:
netfunc |
cmd |
data |
Description |
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9A |
N/A |
Get external host privileges. Prints current state for all fields:
Each state is represented by binary byte in order.
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9B |
Byte0 Byte1 |
Set external host privilege. Byte0 selects privilege according to the following table:
Byte1 is the value being set. Supported values:
Note
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9C |
N/A |
Get SmartNIC mode. Prints current configuration: INTERNAL_CPU_OFFLOAD_ENGINE.
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9D |
Byte0 |
Set SmartNIC mode (INTERNAL_CPU_OFFLOAD_ENGINE) to Byte0. Supported values:
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9E |
N/A |
Get host access. Prints current HOST_PRIV_RSHIM.
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0x9F |
Byte0 |
Set host access. Sets HOST_PRIV_RSHIM to Byte0. Supported values:
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0xA2 |
N/A |
Query strap options. Prints current state for all fields:
Each state is represented by binary byte in order. Supported values:
|
||||||||||||||||||||||||||||||||||||||||||||||||
0x32 |
0xA3 |
N/A |
Get SmartNIC OS State.
|
Changing Operation Mode
netfunc |
cmd |
data |
Description |
0x32 |
0x9D |
0x1 |
Change to DPU mode |
0x32 |
0x9D |
0x0 |
Change to NIC mode |
Enable/Disable RShim from Host
netfunc |
cmd |
data |
Description |
0x32 |
0x9F |
0x1 |
Enable RShim from host |
0x32 |
0x9F |
0x0 |
Disable RShim from host |