NVIDIA BlueField BMC Software

DPU Chassis

The Redfish Chassis schema provides a structured and standardized way to represent essential information about the physical infrastructure of computing systems (i.e., the NVIDIA® BlueField®), offering valuable insights for system administrators, data center operators, and management software developers.

The BlueField chassis encompasses all system components, which include the Bluefield_BMC, Bluefield_ERoT, and Card1 (which represents the BlueField). 

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis

Output example:

{
  "@odata.id": "/redfish/v1/Chassis",
  "@odata.type": "#ChassisCollection.ChassisCollection",
  "Members": [
    {
      "@odata.id": "/redfish/v1/Chassis/Bluefield_BMC"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Bluefield_ERoT"
    },
    {
      "@odata.id": "/redfish/v1/Chassis/Card1"
    }
  ],
  "Members@odata.count": 3,
  "Name": "Chassis Collection"
}

Chassis Card1

curl -k -u root:'<password>' -H 'Content-Type: application/json' -X GET https://<bmc_ip>/redfish/v1/Chassis/Card1

Output example:

{
  "@odata.id": "/redfish/v1/Chassis/Card1",
  "@odata.type": "#Chassis.v1_21_0.Chassis",
  "Actions": {
    "#Chassis.Reset": {
      "@Redfish.ActionInfo": "/redfish/v1/Chassis/Card1/ResetActionInfo",
      "target": "/redfish/v1/Chassis/Card1/Actions/Chassis.Reset"
    }
  },
..
  "ChassisType": "Card",
  
  "EnvironmentMetrics": {
    "@odata.id": "/redfish/v1/Chassis/Card1/EnvironmentMetrics"
  },
  "Id": "Card1",
  "Links": {
    "ComputerSystems": [
      {
        "@odata.id": "/redfish/v1/Systems/Bluefield"
      }
    ],
    "Contains": [
      {
        "@odata.id": "/redfish/v1/Chassis/Bluefield_ERoT"
      },
      {
        "@odata.id": "/redfish/v1/Chassis/Bluefield_BMC"
      }
    ],
    "ManagedBy": [
      {
        "@odata.id": "/redfish/v1/Managers/Bluefield_BMC"
      }
    ]
  },
  "Manufacturer": "Nvidia",
  "Model": "Bluefield 3 SmartNIC Main Card",
  "Name": "Card1",
  "NetworkAdapters": {
    "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters"
  },
  "PCIeDevices": {
    "@odata.id": "/redfish/v1/Chassis/Card1/PCIeDevices"
  },
  "PCIeSlots": {
    "@odata.id": "/redfish/v1/Chassis/Card1/PCIeSlots"
  },
  "PartNumber": "900-9D3B4-00EN-EAB   ",
  "Power": {
    "@odata.id": "/redfish/v1/Chassis/Card1/Power"
  },
  "PowerState": "On",
  "PowerSubsystem": {
    "@odata.id": "/redfish/v1/Chassis/Card1/PowerSubsystem"
  },
  "SKU": "",
  "Sensors": {
    "@odata.id": "/redfish/v1/Chassis/Card1/Sensors"
  },
  "SerialNumber": "MT2245X00175            ",
  "Status": {
    "Conditions": [],
    "Health": "OK",
    "HealthRollup": "OK",
    "State": "Enabled"
  },
  "Thermal": {
    "@odata.id": "/redfish/v1/Chassis/Card1/Thermal"
  },
  "ThermalSubsystem": {
    "@odata.id": "/redfish/v1/Chassis/Card1/ThermalSubsystem"
  },
  "TrustedComponents": {
    "@odata.id": "/redfish/v1/Chassis/Card1/TrustedComponents"
  },
  "UUID": ""
} 

Chassis Card1 NetworkAdapters

Retrieving these values is supported when operating in DPU mode only.

The NetworkAdapters schema specifically aims to standardize NIC management and representation. This schema includes a collection under NvidiaNetworkAdapter where each element holds the following fields:

  • Ports 

    The following is an example of the network port associated with eth0. Note that the naming conventions may differ depending on your device configuration. 

    curl -k -u root:'PASSWORD' -H 'Content-Type: application/json' -X GET https://<IP>/redfish/v1/Chassis/Card1/NetworkAdapters/NvidiaNetworkAdapter/Ports/eth0
    

    Example output: 

    {
      "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/NvidiaNetworkAdapter/Ports/eth0",
      "@odata.type": "#Port.v1_6_0.Port",
      "CurrentSpeedGbps": 200,
      "Id": "eth0",
      "LinkNetworkTechnology": "Ethernet",
      "LinkStatus": "LinkUp",
      "Name": "Port"
    }
    


  • NetworkDeviceFunctions 

    The following is an example of the network device function for eth0f0 (i.e., eth0 function 0). Note that the naming conventions may differ depending on your device configuration.

    curl -k -u root:'PASSWORD' -H 'Content-Type: application/json' -X GET https://<IP>/redfish/v1/Chassis/Card1/NetworkAdapters/NvidiaNetworkAdapter/NetworkDeviceFunctions/eth0f0
    

    Example output: 

    {
      "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/NvidiaNetworkAdapter/NetworkDeviceFunctions/eth0f0",
      "@odata.type": "#NetworkDeviceFunction.v1_9_0.NetworkDeviceFunction",
      "Ethernet": {
        "MACAddress": "02:8e:00:2d:4f:f8",
        "MTUSize": 1500
      },
      "Id": "eth0f0",
      "Links": {
        "OffloadSystem": {
          "@odata.id": "/redfish/v1/Systems/Bluefield"
        },
        "PhysicalPortAssignment": {
          "@odata.id": "/redfish/v1/Chassis/Card1/NetworkAdapters/NvidiaNetworkAdapter/Ports/eth0"
        }
      },
      "Name": "NetworkDeviceFunction",
      "NetDevFuncCapabilities": [
        "Ethernet"
      ],
      "NetDevFuncType": "Ethernet"
    }
    

Removing or adding new ports requires a BMC reboot.

Last updated: