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