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

Note
  • 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.

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

netfunc

cmd

data

Description

0x32

0x9D

0x1

Change to DPU mode

0x32

0x9D

0x0

Change to NIC mode

netfunc

cmd

data

Description

0x32

0x9F

0x1

Enable RShim from host

0x32

0x9F

0x0

Disable RShim from host

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