NIC Subsystem Management
This content is relevant for NVIDIA® BlueField®-3 devices only.
Configuring BlueField Mode of Operation
Refer to "BlueField Modes of Operation Configuration" for information.
Getting Host RShim
            
            curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia
    
    
    
        
Enabling Host RShim
            
            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
    
    
    
        
Disabling Host RShim
            
            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
    
    
    
        
Getting Strap Options
            
            curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/StrapOptions
    
    
    
        
Getting External Host Privileges
            
            curl -k -u root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/ExternalHostPrivileges
    
    
    
        
Setting 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_ACCESSand- HOST_PRIV_PCC_UPDATE. Their value should stay as- DEVICE_DEFAULT.
- The parameter - HOST_PRIV_NV_INTERNAL_CPUshould either equal the parameter- HOST_PRIV_NV_GLOBALor one of them should be set to- DEVICE_DEFAULT.
- If the parameter - HOST_PRIV_FLASH_ACCESSis not set to- DEVICE_DEFAULTthen the following parameters should all be set to- DEVICE_DEFAULTor 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 BlueField 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 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | N/A | Get external host privileges. Prints current state for all fields: 
 Each state is represented by binary byte in order. 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | Byte0 Byte1 | Set external host privilege. 
 
 
 Supported values: 
 Note 
 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | N/A | Get SmartNIC mode. Prints current configuration:  
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | Byte0 | Set SmartNIC mode ( Supported values: 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | N/A | Get host access. Prints current  
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | Byte0 | Set host access. Sets  Supported values: 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | N/A | Query strap options. Prints current state for all fields: 
 Each state is represented by binary byte in order. Supported values: 
 | ||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
 | N/A | Get SmartNIC OS State. 
 | 
Setting Operation Mode
| netfunc | cmd | data | Description | 
| 
 | 
 | 
 | Set DPU mode | 
| 
 | 
 | 
 | Set NIC mode | 
Enabling/Disabling RShim from Host
| netfunc | cmd | data | Description | 
| 
 | 
 | 
 | Enable RShim from host | 
| 
 | 
 | 
 | Disable RShim from host |