Intelligent Platform Management Interface

1.0

The NVIDIA® BlueField® DPU provides management interfaces to the BMC and the BlueField device.

The BMC, based on the Intelligent Platform Management Interface (IPMI) standard, supports both out-of-band (OOB) dedicated interfaces, and a serial port to access the CLI of the BMC.

The BMC is connected to an external host server via LAN. IPMItool commands may be issued from the external server to retrieve information from the BMC as follows:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN <ipmitool_arguments>

The sections below provide more details about the IPMItool commands which are supported.

FRU Reading

To retrieve FRU info, run:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN fru print <fru-id>

FRU ID of the BMC FRU EEPROM is optional and can be found using the fru print command.

It is possible to dump the binary FRU data into a file. Run:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN fru read <fru-id> <filename>

Warning

The parameter <filename> is the absolute path to the file.


System Event Log

The system event log (SEL) is non-volatile repository for system events and certain system configuration information. SEL entries have a unique "record ID" field. This field is used for retrieving log entries from the SEL. Record IDs are not required to be sequential or consecutive. Applications should not assume that the SEL record ID follows any particular numeric ordering.

Event logs are chassis events, recorded in the BMC software which can be read using IPMI commands.

If the SEL is full and a new event is raised, the oldest record is removed and the new one is placed at the end of the SEL.

SEL may be accessed, even after BlueField failure, on the server through IPMI LAN access.

The following table lists the command to use to view event logs:

Command

Description

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sel

Displays information about SEL

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sel list

Displays list of events

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sel elist

Displays extended info list of events

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sel save <filename>

Saves SEL events to a file

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sel clear

Clears SEL

SEL Messages

The following subsections detail the messages which are added to the BMC SEL and the scenarios that trigger them.

UEFI Boot

Messages are added to the BMC SEL while the DPU UEFI is booting which describe the status of the UEFI boot.

SEL messages:

  • SMBus initialization

  • PCI resource configuration

  • System boot initiated

Example:

Copy
Copied!
            

SEL Record ID : 0037 Record Type : 02 Timestamp : 06:36:06 UTC 06:36:06 UTC Generator ID : 0001 EvM Revision : 04 Sensor Type : System Firmwares Sensor Number : 06 Event Type : Sensor-specific Discrete Event Direction : Assertion Event Event Data : c207ff Description : PCI resource configuration


IPMB Sensors

QSFP Sensors

Messages are added to the SEL in case of a change in the status of the QSFP cables. The messages describe the event and status of the sensor.

List of QSFP sensors:

  • P0_link – the QSFP 0 cable status

  • P1_link – the QSFP 1 cable status

SEL messages:

  • Config Error – the QSFP cable is down

  • Connected – the QSFP cable is up

Example:

Copy
Copied!
            

SEL Record ID : 003e Record Type : 02 Timestamp : 07:08:28 UTC 07:08:28 UTC Generator ID : 0020 EvM Revision : 04 Sensor Type : Cable / Interconnect Sensor Number : 00 Event Type : Sensor-specific Discrete Event Direction : Assertion Event Event Data (RAW) : 010f0f Event Interpretation : Missing Description : Config Error   Sensor ID : p0_link (0x0) Entity ID : 31.1 Sensor Type (Discrete): Cable / Interconnect States Asserted : Cable / Interconnect [Config Error]


Temperature Sensors

Messages are added to the SEL if temperature sensors detect a value higher than the sensor thresholds. The messages include a description of the event, DPU FRU device description, DPU BMC device description, and the status of the sensor.

List of temperature sensors:

  • bluefield_temp – Bluefield temperature

  • p0_temp – QSFP 0 cable temperature

  • p1_temp – QSFP 1 cable temperature

SEL messages:

  • Upper Critical going high – crossing a upper critical threshold.

  • Upper Non-critical going high – crossing a upper non-critical threshold.

  • Lower Critical going low – crossing a lower critical threshold.

  • Lower Non-critical going low – crossing a lower non-critical threshold.

Example:

Copy
Copied!
            

SEL Record ID : 003c Record Type : 02 Timestamp : 07:01:06 UTC 07:01:06 UTC Generator ID : 0020 EvM Revision : 04 Sensor Type : Temperature Sensor Number : 03 Event Type : Threshold Event Direction : Assertion Event Event Data (RAW) : 592802 Trigger Reading : 40.000degrees C Trigger Threshold : 2.000degrees C Description : Upper Critical going high   Sensor ID : p0_temp (0x3) Entity ID : 0.1 Sensor Type (Threshold) : Temperature Sensor Reading : 40 (+/- 0) degrees C Status : ok Lower Non-Recoverable : na Lower Critical : -5.000 Lower Non-Critical : 0.000 Upper Non-Critical : 70.000 Upper Critical : 75.000 Upper Non-Recoverable : na Positive Hysteresis : Unspecified Negative Hysteresis : Unspecified Assertion Events : Event Enable : Event Messages Disabled Assertions Enabled : lnc- lcr- unc+ ucr+ Deassertions Enabled : lnc+ lcr+ unc- ucr-   FRU Device Description : Nvidia-BMCMezz (ID 169) Board Mfg Date : Tue Jan 3 23:16:00 2023 UTC Board Mfg : Nvidia Board Product : Nvidia-BMCMezz Board Serial : MT2251XZ02W5 Board Part Number : 900-9D3B6-00CV-AAA   FRU Device Description : BlueField-3 Smar (ID 250) Board Mfg Date : Tue Jan 3 23:16:00 2023 UTC Board Mfg : Nvidia Board Product : BlueField-3 SmartNIC Main Card Board Serial : MT2251XZ02W5 Board Part Number : 900-9D3B6-00CV-AAA Product Manufacturer : Nvidia Product Name : BlueField-3 SmartNIC Main Card Product Part Number : 900-9D3B6-00CV-AAA Product Version : A3 Product Serial : MT2251XZ02W5 Product Asset Tag : 900-9D3B6-00CV-AAA

ADC Sensors

Messages are added to the SEL if the sensor voltage crosses the sensor's thresholds. The messages include a description of the event, DPU FRU device description, DPU BMC device description, and the status of the sensor.

List of ADC sensors:

  • 1V_BMC

  • 1_2V_BMC

  • 1_8V

  • 1_8V_BMC

  • 2_5V

  • 3_3V

  • 3_3V_RGM

  • 5V

  • 12V_ATX

  • 12V_PCIe

  • DVDD

  • HVDD

  • VDD

  • VDDQ

  • VDD_CPU_L

  • VDD_CPU_R

SEL messages:

  • Upper Non-critical going high – crossing a upper non-critical threshold

  • Lower Non-critical going low – crossing a lower non-critical threshold

Example:

Copy
Copied!
            

SEL Record ID : 0042 Record Type : 02 Timestamp : 09:20:50 UTC 09:20:50 UTC Generator ID : 0020 EvM Revision : 04 Sensor Type : Voltage Sensor Number : 06 Event Type : Threshold Event Direction : Assertion Event Event Data (RAW) : 50a9ff Trigger Reading : 1.200Volts Trigger Threshold : 1.810Volts Description : Lower Non-critical going low   Sensor ID : 1_2V_BMC (0x6) Entity ID : 0.1 Sensor Type (Threshold) : Voltage Sensor Reading : 1.200 (+/- 0) Volts Status : ok Lower Non-Recoverable : na Lower Critical : na Lower Non-Critical : 1.143 Upper Non-Critical : 1.257 Upper Critical : na Upper Non-Recoverable : na Positive Hysteresis : Unspecified Negative Hysteresis : Unspecified Assertion Events : Event Enable : Event Messages Disabled Assertions Enabled : lnc- unc+ Deassertions Enabled : lnc+ unc-   FRU Device Description : Nvidia-BMCMezz (ID 169) Board Mfg Date : Tue Jan 3 23:16:00 2023 UTC Board Mfg : Nvidia Board Product : Nvidia-BMCMezz Board Serial : MT2251XZ02W5 Board Part Number : 900-9D3B6-00CV-AAA   FRU Device Description : BlueField-3 Smar (ID 250) Board Mfg Date : Tue Jan 3 23:16:00 2023 UTC Board Mfg : Nvidia Board Product : BlueField-3 SmartNIC Main Card Board Serial : MT2251XZ02W5 Board Part Number : 900-9D3B6-00CV-AAA Product Manufacturer : Nvidia Product Name : BlueField-3 SmartNIC Main Card Product Part Number : 900-9D3B6-00CV-AAA Product Version : A3 Product Serial : MT2251XZ02W5 Product Asset Tag : 900-9D3B6-00CV-AAA

Sensor Data Record (SDR) Repository

Supported SDR Commands

BMC software supports reading chassis sensor information using the IPMItool.

The following table lists commands which allow reading SDR data:

Command

Description

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sdr list

Displays sensor data repository entry readings and their status

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sdr elist

Displays extended sensor information

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sensor list

Displays sensors and thresholds in a wide table format

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sdr get <name>

Displays information for sensor data records specified by sensor ID

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sdr type <type>

Displays all records from the SDR repository of a specific type

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sensor get <sensor_name>

Displays information for sensors specified by name

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sensor reading <name>…<name>

Displays readings for sensors specified by name (only for numeric sensors)

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sensor ipmitool sensor thresh <sensor name> upper <non-critical value> <critical value> 0 ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN sensor ipmitool sensor thresh <sensor name> lower 0 <critical value> <non-critical value>

  • If the original threshold value is >0, the new threshold values must be between 0-255

  • If the original threshold value is <0, the new threshold values must be between 0-127

If a threshold is crossed, a message is added to the Redfish event log, SEL, and journal.


SDR Entry List

SDR contains information about the type and number of sensors. The following is a list of the available SDR information:

Managed Entity

ID

Sensor Name

SFP link status

0x0

0x1

  • p0_link

  • p1_link

NIC thermal sensors

0x2

bluefield_temp

SFP temperature sensors

0x3

0x4

  • p0_temp

  • p1_temp

NIC voltage sensors

0x5

0x6

0x7

0x8

0x9

0xa

0xb

0xc

0xd

0xe

0xf

0x10

0x11

0x12

0x13

0x14

ADC voltage sensors:

  • 1V_BMC

  • 1_2V_BMC

  • 1_8V

  • 1_8V_BMC

  • 2_5V

  • 3_3V

  • 3_3V_RGM

  • 5V

  • 12V_ATX

  • 12V_PCIe

  • DVDD

  • HVDD

  • VDD

  • VDDQ

  • VDD_CPU_L

  • VDD_CPU_R

Rebooting BlueField with BMC

BMC software enables resetting the BlueField.

To reset the main CPU, run:

Copy
Copied!
            

ipmitool -C 17 -I lanplus -H <bmc_ip_addr> -U ADMIN -P ADMIN chassis power reset


The BMC can retrieve information on BlueField's sensors and FRUs via IPMI over IPMB protocol. IPMItool commands can be issued from the BMC using the following format:

Copy
Copied!
            

ipmitool -I ipmb <ipmitool_arguments>

List of IPMI Supported Sensors

Sensor

Sensor ID

Description

bluefield_temp

0

Support NIC monitoring of BlueField's temperature

ddr0_0_temp

1

Support monitoring of DDR0 temp (on memory controller 0)

ddr0_1_temp

2

Support monitoring of DDR1 temp (on memory controller 0)

ddr1_0_temp

3

Support monitoring of DDR0 temp (on memory controller 1)

ddr1_1_temp

4

Support monitoring of DDR1 temp (on memory controller 1)

p0_temp

5

Port 0 temperature

p1_temp

6

Port 1 temperature

p0_link

7

Port0 link status

  • 0x100 – connection OK

  • 0x200 – connection error

p1_link

8

Port1 link status

  • 0x100 – connection OK

  • 0x200 – connection error


List of IPMI Supported FRUs

FRU

ID

Description

update_timer

0

set_emu_param.service is responsible for collecting data on sensors and FRUs every 3 seconds. This regular update is required for sensors but not for FRUs whose content is less susceptible to change. update_timer is used to sample the FRUs every hour instead. Users may need this timer in the case where they are issuing several raw IPMItool FRU read commands. This helps in assessing how much time users have to retrieve large FRU data before the next FRU update.

update_timer is a hexadecimal number.

fw_info

1

ConnectX firmware information, Arm firmware version, and MLNX_OFED version

The fw_info is in ASCII format

nic_pci_dev_info

2

NIC vendor ID, device ID, subsystem vendor ID, and subsystem device ID

The nic_pci_dev_info is in ASCII format

cpuinfo

3

CPU information reported in lscpu and /proc/cpuinfo

The cpuinfo is in ASCII format

ddr0_0_spd

4

FRU for SPD MC0 DIMM 0 (MC = memory controller)

The ddr0_0_spd is in binary format

ddr0_1_spd

5

FRU for SPD MC0 DIMM1

The ddr0_1_spd is in binary format

ddr1_0_spd

6

FRU for SPD MC1 DIMM0

The ddr1_0_spd is in binary format

ddr1_1_spd

7

FRU for SPD MC1 DIMM1

The ddr1_1_spd is in binary format

emmc_info

8

eMMC size, list of its partitions, and partitions usage (in ASCII format).

eMMC CID, CSD, and extended CSD registers (in binary format).

The ASCII data is separated from the binary data with 'StartBinary' marker.

qsfp0_eeprom

9

FRU for QSFP 0 EEPROM page 0 content (256 bytes in binary format)

qsfp1_eeprom

10

FRU for QSFP 1 EEPROM page 0 content (256 bytes in binary format)

ip_addresses

11

This FRU is empty at start time. It can be used to write the BMC port 0 and port 1 IP addresses to the BlueField. They follow these formats:

Copy
Copied!
            

BMC: XXX.XXX.XXX.XXX P0: XXX.XXX.XXX.XXX P1: XXX.XXX.XXX.XXX

The size of the written file should be 61 bytes exactly.

dimms_ce_ue

12

FRU reporting the number of correctable and uncorrectable errors in the DIMMs.

This FRU is updated once every 3 seconds.

eth0

13

Network interface 0 information. Updated once every minute.


Supported IPMI Commands

All the following commands are prepended with ipmitool on the command line.

Commands

IPMItool Command

Relevant IPMI 2.0 Rev1.1 Spec Section

Get Device ID

mc info

20.1

Broadcast "Get Device ID"

Part of "mc info"

20.9

Get BMC Global Enables

mc getenables

22.2

Get Device SDR Info

sdr info

35.2

Get Device SDR

"sdr get", "sdr list" or

"sdr elist"

35.3

Get Sensor Hysteresis

sdr get <sensor-id>

35.7

Set Sensor Threshold

sensor thresh <sensor-id> <threshold> <setting>

35.8

Get Sensor Threshold

sdr get <sensor-id>

35.9

Get Sensor Event Enable

sdr get <sensor-id>

35.11

Get Sensor Reading

sensor reading <sensor-id>

35.14

Get Sensor Type

sdr type <type>

35.16

Read FRU Data

fru read <fru-number> <file-to-write-to> – provides FRU data

34.2

Get SDR Repository Info

sdr info

33.9

Get SEL Info

"sel" or "sel info"

40.2

Get SEL Allocation Info

"sel" or "sel info"

40.3

Get SEL Entry

"sel list" or "sel elist"

40.5

Delete SEL Entry

sel delete <id>

40.8

Clear SEL

sel clear

40.9


The BMC has 2 IPMB modes. It can be used as a requester or responder.

  • Requester Mode
    When used as a requester, the BMC sends IPMB request messages to the BlueField via SMBus 0. The BlueField then processes the request and sends a message back to the BMC.

  • Responder Mode
    When used as a responder, the BMC receives IPMB request messages from the BlueField on SMBus 0. It then processes the message and sends a response back to the BlueField.

Both modes are enabled automatically at boot time.

For more information on how to use IPMI, please refer to the IPMI 2.0 standard.

BMC supports IPMI boot option selection commands. UEFI on BlueField can query for the boot options through an IPMI command over IPMB. Currently, the UEFI on BlueField supports only the option to change the boot device selector flag with the following supported options: PXE boot or the default boot device as selected in the boot menu on BlueField.

Boot Order Config IPMI Support

  • Get current setting:

    Copy
    Copied!
                

    ipmitool chassis bootparam get 5

  • Force PXE boot:

    Copy
    Copied!
                

    ipmitool chassis bootdev pxe options=efiboot

  • Default boot device:

    Copy
    Copied!
                

    ipmitool chassis bootparam set bootflag none

Warning

If Redfish is enabled on UEFI, force PXE from IPMI is ignored.

The DPU boot override setting from BMC is persistent until it is set to none or the BFB image is updated again.

Boot Order Config Redfish Support

To retrieve the active boot configuration, run:

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield

Note

The relevant configurations would be under "Boot".

To retrieve the pending boot order settings:

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings

To set the pending boot order settings:

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{"Boot":{ "BootOrder": ["Boot0001", "Boot0040","Boot0000","Boot0002","Boot0003", "Boot0004","Boot0005", "Boot0007","Boot0008","Boot0009","Boot000A","Boot000B", "Boot000C", "Boot000D", "Boot000E", "Boot0013", "Boot0014", "Boot0015","Boot0016", "Boot0017","Boot0018", "Boot0019", "Boot001A","Boot000F","Boot0010","Boot0011", "Boot0012", "Boot0006"] }}'

Note

All active boot options in the active BootOrder list should be included in this list.

Warning

Power cycle is necessary for the changes to take effect.

To set boot configuration, it is necessary to post to settings. For example:

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Settings -d '{   "Boot":{ "BootSourceOverrideEnabled": "Once", "BootSourceOverrideMode": "UEFI", "BootSourceOverrideTarget": "UefiHttp", "UefiTargetBootSourceOverride": "None", "BootNext": "", "AutomaticRetryConfig": "Disabled", } }'

  • BootSourceOverrideEnabled – should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideEnabled@Redfish.AllowableValues

  • BootSourceOverrideMode – should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideMode@Redfish.AllowableValues

  • BootSourceOverrideTarget - should be set according to the values under redfish/v1/Systems/Bluefield -> Boot/BootSourceOverrideTarget@Redfish.AllowableValues

  • UefiTargetBootSourceOverride – this option would be available in the RF JSON if BootSourceOverrideTarget is set to UefiTarget.

  • BootNext – this option would be in the RF JSON if BootSourceOverrideTarget is set to UefiBootnext.

  • AutomaticRetryConfig – only Disabled is supported

The DPU's BMC supports the DMTF SecureBoot schema which enables managing the state of the UEFI Secure Boot through the Redfish interface. This allows clients to set whether UEFI should authenticate the OS image during the boot process.

Reading Secure Boot Status

Copy
Copied!
            

curl -k -u root:'<PASSWORD>' -H 'Content-Type: application/json' -X GET https://<IP>/redfish/v1/Systems/Bluefield/SecureBoot {  "@odata.id": "/redfish/v1/Systems/Bluefield/SecureBoot",  "@odata.type": "#SecureBoot.v1_1_0.SecureBoot",  "Description": "The UEFI Secure Boot associated with this system.",  "Id": "SecureBoot",  "Name": "UEFI Secure Boot",  "SecureBootCurrentBoot": "Disabled",  "SecureBootDatabases": {    "@odata.id": "/redfish/v1/Systems/Bluefield/SecureBoot/SecureBootDatabases" },  "SecureBootEnable": false,  "SecureBootMode": "SetupMode" }


Setting Secure Boot State

The following example illustrates how to deactivate UEFI Secure Boot through the Redfish interface:

Copy
Copied!
            

curl -k -u root:'<PASSWORD>' -X PATCH -H "Content-Type: application/json" https://<IP>/redfish/v1/Systems/Bluefield/SecureBoot -d '{"SecureBootEnable":false}'


BMC supports configuring the BlueField's BIOS using Redfish commands.

Get BIOS Attributes List

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Registries/BiosAttributeRegistry/BiosAttributeRegistry

Output example:

Note

In the following output, there is only one BIOS attribute, UefiPassword.

Copy
Copied!
            

{ "@odata.type": "#AttributeRegistry.v1_3_6.AttributeRegistry", "Description": "This registry defines a representation of BIOS attribute instances", "Id": "BiosAttributeRegistry", "Language": "en", "Name": "BF2 BIOS Attribute Registry", "OwningEntity": "NVIDIA BlueField", "RegistryEntries": { "Attributes": [ { "AttributeName": "UefiPassword", "CurrentValue": "", "DisplayName": "New UEFI Password", "DisplayOrder": 16, "HelpText": "Set the UEFI password.", "Hidden": false, "Immutable": false, "MaxLength": 50, "MenuPath": "./SystemConfiguration/UefiPassword", "MinLength": 0, "ReadOnly": false, "ResetRequired": false, "Type": "String", "WriteOnly": false } ], "Dependencies": [], "Menus": [ { "DisplayName": "Set the UEFI Password.", "DisplayOrder": 18, "Hidden": false, "MenuName": "UefiPassword", "MenuPath": "./SystemConfiguration/UefiPassword", "ReadOnly": false } ] }, "RegistryVersion": "1.0.0", "SupportedSystems": [ { "FirmwareVersion": "BlueField:4.2.0-33-gbe969d4", "ProductName": "NVIDIA BF2", "SystemId": "BF2-DPU" } ] }


Get BIOS Attributes Current Value

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -H Content-Type: application/octet-stream -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/

Output example:

Note

The current value of UefiPassword is an empty string.

Copy
Copied!
            

{ "@Redfish.Settings": { "@odata.type": "#Settings.v1_3_5.Settings", "SettingsObject": { "@odata.id": "/redfish/v1/Systems/Bluefield/Bios/Settings" } }, "@odata.id": "/redfish/v1/Systems/Bluefield/Bios", "@odata.type": "#Bios.v1_2_0.Bios", "Actions": { "#Bios.ChangePassword": { "target": "/redfish/v1/Systems/Bluefield/Bios/Actions/Bios.ChangePassword" }, "#Bios.ResetBios": { "target": "/redfish/v1/Systems/Bluefield/Bios/Actions/Bios.ResetBios" } }, "Attributes": { "UefiPassword": "" }, "Description": "BIOS Configuration Service", "Id": "BIOS", "Name": "BIOS Configuration", "ResetBiosToDefaultsPending": false }


Request to Change BIOS Attributes Value

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X PATCH https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{Attributes:{UefiPassword : NewPassword123}}'

This command example requests changing the UefiPassword attribute to NewPassword123. At the next boot cycle of the DPU, the UEFI changes the requested attribute if the requested value is valid.

Get BIOS Attribute Pending Values

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Bios/Settings

Pending values are a list of values that that user has requested to change. The list of pending values is purged once the UEFI changes the pending attributes.

Output example:

Note

UefiPassword appears in the pending attributes list.

Copy
Copied!
            

{ "@odata.id": "/redfish/v1/Systems/Bluefield/Bios/Settings", "@odata.type": "#Bios.v1_2_0.Bios", "Attributes": { "UefiPassword": "NewPassword123" }, "Description": "BIOS Settings", "Id": "BIOS_Settings", "Name": "BIOS Configuration" }

Note

The active BIOS attribute list is updated only after the UEFI approves the changes during the next reboot cycle.


BIOS Configuration Examples

Changing UEFI Password

Copy
Copied!
            

curl -k -u root:<PASSWORD> -X PATCH -H "Content-Type: application/json" https://<IP>/redfish/v1/Systems/Bluefield/Bios/Settings -d '{"Attributes":{"CurrentUefiPassword":"CurrentPassword", "UefiPassword":"NewPassword321"}}'

BMC supports reset control of BlueField through the GPIOs connected to the BMC.

Issue the following command from the BMC to get the power status of the DPU:

Copy
Copied!
            

ipmitool chassis power status

To perform a reset of the DPU, use the following commands:

Description

Command

Hard reset of BlueField DPU (Arm cores and NIC)

Copy
Copied!
            

ipmitool chassis power cycle

Hard reset of BlueField Arm cores

Copy
Copied!
            

ipmitool chassis power reset

Warning

Hard reset of the BlueField DPU is allowed only when the host asserts:

  • PERST signal on BlueField-2

  • All_STANDBY signal on BlueField-3

OEM command 0xA1 is defined for additional non-standard reset controls of BlueField from BMC under the OEM NetFn group 0x30.

NVIDIA OEM command to reset BlueField DPU:

RequestResponseReset Option

  • 0x32 – NetFun
  • 0xA1 – command
  • 0x00 – Req_data1 (reset option)

Completion code:

  • 0x00 – success
  • <ipmi-error-code> – failure

  • 0x02 – soft reset of BlueField Arm cores

    Note

    This graceful reset command is only available when the DPU OS is up.

  • 0x03 – reset on-board 3-port switch

© Copyright 2023, NVIDIA. Last updated on Nov 15, 2023.