OOB Network 3-Port Switch Control

To enable both the BMC and the Arm on the DPU to access the out-of-band (OOB) network management interface, an L2, 3-port switch has been incorporated into the system. This switch acts as a bridge, connecting the RJ45 port (OOB), the BMC, and the Arm in the DPU. It is important to note that the switch is exclusively managed by the DPU's BMC through a dedicated I2C line and a GPIO signal that controls the switch's reset function.

oob-network-3-port-switch-control-version-1-modificationdate-1707428480470-api-v2.png

netfunc

cmd

data

Description

0x32

0x97

N/A

Get 3-port switch ports mode.

On success, it returns:

  • 0x00 – all ports are allowed access to RJ45

  • 0x01 – only BMC is allowed access to RJ45

0x32

0x98

  • 0x00 – all ports are allowed access to RJ45

  • 0x01 – only BMC is allowed access to RJ45

Set 3-port switch ports mode.

Note:

  • Setting this command is only possible while the user is logged on to the BMC, this command is not supported over the network interfaces (IPMI nor Redfish)

  • Setting is persistent across power cycle and switch reset command

0x32

0xA1

0x3

Reset on-board 3-port switch

Note

In all these use cases, the internal pathway connecting the DPU and the BMC remains operational. This enables communication between the BMC and the DPU over the internal network.

Example for disabling the OOB network of the DPU Arm:

Copy
Copied!
            

#bmc> ipmitool raw 0x32 0x98 0x1

Get 3-port switch ports mode

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Switch

Example output:

Copy
Copied!
            

{ "TorSwitchMode": { "BmcOobEnabled": true, "DpuOobEnabled": true } }

Where:

  • BmcOobEnabled – Enable the BMC to access the out-of-band network

  • DpuOobEnabled – Enable the DPU to access the out-of-band network

Set 3-port switch ports mode

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X PATCH -d '{"TorSwitchMode": {"BmcOobEnabled": <Port State>, "DpuOobEnabled": <Port State>}}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Switch

Where Port State:

  • True – Enable the port to access the out-of-band network

  • False – Disable the port to access the out-of-band network

Note

The internal pathway connecting the BMC and RJ45 is not allowed to be disabled using Redfish command.

Therefore, the parameter BmcOobEnabled should be set as true when setting 3-port switch ports mode, otherwise the Redfish command would return an error.

The following is an example of how to set only BMC is allowed access to RJ45:

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X PATCH -d '{"TorSwitchMode": {"BmcOobEnabled": true, "DpuOobEnabled": false}}' https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Switch

Example output:

Copy
Copied!
            

{ "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.15.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ] }


Reset on-board 3-port switch

Copy
Copied!
            

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X POST https://<bmc_ip>/redfish/v1/Systems/Bluefield/Oem/Nvidia/Switch.Reset

Example output:

Copy
Copied!
            

{ "@Message.ExtendedInfo": [ { "@odata.type": "#Message.v1_1_1.Message", "Message": "The request completed successfully.", "MessageArgs": [], "MessageId": "Base.1.15.0.Success", "MessageSeverity": "OK", "Resolution": "None" } ] }


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