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
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 |