NIC Subsystem Management

Warning

This content is relevant for BlueField-3 devices only.

Get Operation Mode

Copy
Copied!
            

curl -k -H root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia

Note

See status under "Mode".


Change to DPU Mode

Copy
Copied!
            

curl -k -H 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

Copy
Copied!
            

curl -k -H 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

Copy
Copied!
            

curl -k -H root:'<password>' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia


Host Rshim Enable

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -H "Content-Type: application/json" -X POST -d '{"HostRshim":"Enabled"}' https://$bmc/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/HostRshim.Set


Host Rshim Disable

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -H "Content-Type: application/json" -X POST -d '{"HostRshim":"Disabled"}' https://$bmc/redfish/v1/Systems/Bluefield/Oem/Nvidia/Actions/HostRshim.Set


Get Strap Options

Copy
Copied!
            

curl -k -H "X-Auth-Token: <token>" -X GET https://${bmc}/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/StrapOptions


Get External Host Privileges

Copy
Copied!
            

https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Connectx/ExternalHostPrivileges


Set External Host Privileges

Copy
Copied!
            

curl -k -H "X-Auth-Token:<token>" -H "Content-Type: application/json" -X POST -d '{"HostPrivFwUpdate":"Default","HostPrivNvGlobal":"Enabled" ...}' https://$bmc/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.

IPMItool NIC Subsystem Management

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:

Copy
Copied!
            

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:

Byte

Field

0

HOST_PRIV_FLASH_ACCESS

1

HOST_PRIV_FW_UPDATE

2

HOST_PRIV_NIC_RESET

3

HOST_PRIV_NV_GLOBAL

4

HOST_PRIV_NV_HOST

5

HOST_PRIV_NV_INTERNAL_CPU

6

HOST_PRIV_NV_PORT

7

HOST_PRIV_PCC_UPDATE

Each state is represented by binary byte in order.

  • 00 – Default

  • 01 – Enabled

  • 02 – Disabled

0x32

0x9B

Byte0 Byte1

Set external host privilege.

Byte0 selects privilege according to the following table:

Byte

Field

0

HOST_PRIV_FLASH_ACCESS

1

HOST_PRIV_FW_UPDATE

2

HOST_PRIV_NIC_RESET

3

HOST_PRIV_NV_GLOBAL

4

HOST_PRIV_NV_HOST

5

HOST_PRIV_NV_INTERNAL_CPU

6

HOST_PRIV_NV_PORT

7

HOST_PRIV_PCC_UPDATE

Byte1 is the value being set.

Supported values:

  • 00 – Default

  • 01 – Enabled

  • 02 – Disabled

0x32

0x9C

N/A

Get SmartNIC mode. Prints current configuration: INTERNAL_CPU_OFFLOAD_ENGINE.

  • 00 – Disabled

  • 01 – Enabled

0x32

0x9D

Byte0

Set SmartNIC mode (INTERNAL_CPU_OFFLOAD_ENGINE) to Byte0.

Supported values:

  • 00 – Disabled

  • 01 – Enabled

0x32

0x9E

N/A

Get host access. Prints current HOST_PRIV_RSHIM.

  • 00 – Disabled

  • 01 – Enabled

0x32

0x9F

Byte0

Set host access. Sets HOST_PRIV_RSHIM to Byte0.

Supported values:

  • 00 – Disabled

  • 01 – Enabled

0x32

0xA2

N/A

Query strap options. Prints current state for all fields:

Byte

Field

0

VERSION

1

DISABLE_INBAND_RECOVER_VALUE

2

PRIMARY_IS_PCORE_1_VALUE

3

2PCORE_ACTIVE_VALUE

4

SOCKET_DIRECT_VALUE

5

PCI_REVERSAL_VALUE

6

PCI_PARTITION_1_VALUE

7

PCI_PARTITION_0_VALUE

8

OSC_FREQ_1_VALUE

9

OSC_FREQ_0_VALUE

10

CORE_BYPASS_N_VALUE

11

FNP_VALUE

12

DISABLE_INBAND_RECOVER_VALUE

13

PRIMARY_IS_PCORE_1_MASK

14

2PCORE_ACTIVE_MASK

15

SOCKET_DIRECT_MASK

16

PCI_REVERSAL_MASK

17

PCI_PARTITION_1_MASK

18

PCI_PARTITION_0_MASK

19

OSC_FREQ_1_MASK

20

OSC_FREQ_0_MASK

21

CORE_BYPASS_N_MASK

22

FNP_MASK

Each state is represented by binary byte in order.

Supported values:

  • 00 – Disabled

  • 01 – Enabled

0x32

0xA3

N/A

Get SmartNIC OS State.

  • 00 – BootRom

  • 01 – BL2

  • 02 – BL31

  • 03 – UEFI

  • 04 – OsStarting

  • 05 – OsIsRunning

  • 06 – LowPowerStandby

  • 07 – FirmwareUpdateInProgress

  • 08 – OsCrashDumpInProgress

  • 09 – OsCrashDumpIsComplete

  • 0A – FWFaultCrashDumpInProgress

  • 0B – FWFaultCrashDumpIsComplete

  • 0C – Invalid


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


© Copyright 2023, NVIDIA. Last updated on Feb 8, 2024.