> This page is for version 11 (default).
> For other versions, use one of these documentation indexes:
> - 11 (default): https://docs.nvidia.com/base-command-manager/product-manuals/11/llms.txt
> - 10: https://docs.nvidia.com/base-command-manager/product-manuals/10/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.nvidia.com/base-command-manager/product-manuals/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.nvidia.com/base-command-manager/product-manuals/_mcp/server.

# Redfish Management

This appendix gives an overview of Redfish management for cluster devices. Redfish is a standard RESTful API for managing servers, storage, and network infrastructure. BCM provides integration with Redfish-enabled devices for out-of-band management, hardware monitoring, and configuration.

Section [N.1](#n1-redfish-overview) provides an overview of Redfish and its role in cluster management.

Section [N.2](#n2-redfish-commands) covers commands for querying and managing devices using Redfish.

## N.1  Redfish Overview

Redfish is an industry-standard specification developed by the DMTF (Distributed Management Task Force) that provides a RESTful interface for managing modern data center hardware. It replaces older protocols like IPMI with a more modern, secure, and extensible approach.

### N.1.1  Redfish Features

Redfish features include:

* RESTful API using JSON data format

* Secure communication over HTTPS

* Standard schema for hardware components ([https://redfish.dmtf.org/redfish/schema_index](https://redfish.dmtf.org/redfish/schema_index))

* Event-driven notifications

* Support for firmware updates

* Power and thermal management

### N.1.2  Redfish In BCM

BCM uses Redfish for:

* BMC (Baseboard Management Controller) communication (section [3.7](/admin/configuring#37-configuring-bmc-ipmiilodraccimcredfish-interfaces))

* Hardware inventory collection (section [14.11.1](/admin/administration#14111-hardware-inventory-information-hardwareinventoryinfo))

* Power control operations (section [N.2.3](#n23-power-control-using-redfish))

* Sensor and health monitoring (section [G.2.3](/admin/metricshealthchecksactions#g23-redfish-health-checks) and [G.1.10](/admin/metricshealthchecksactions#g110-redfish-metrics))

* Firmware management (section [14.5.2](/admin/administration#1452-bios-management-with-bcm-json-configuration-templates-in-redfish))

* Leak detection in NVL8 hardware ([section 3.3.2.5](/nvidia-mission-control/rackmanagement#3325-leak-detection-within-device-mode-the-latestmonitoringdata-command-for-nvl8-clusters) of the *NVIDIA Mission Control Manual*)

## N.2  Redfish Commands

Redfish operations can be performed using commands available in the `device` mode of `cmsh`.

### N.2.1  Redfish Status

Device status and Redfish connectivity can be verified through standard `device status` ([here](/admin/provisioning#552-node-states-shown-in-cmsh)) commands, just as for nodes:

**Example**

```bash
[basecm11->device[b13-1-s1-ibcl-01]->interfaces[rf0]]% show
Parameter                        Value
-------------------------------- ------------------------------------------------
Revision
Type                             bmc
Network device name              rf0
Network                          ipminet12
...
[basecm11->device[b13-1-s1-ibcl-01]->interfaces[rf0]]% ds b13-1-s1-ibcl-01
b13-1-s1-ibcl-01 ......... [   UP   ]
```

### N.2.2  Hardware Inventory Using Redfish

The `hardwareinventoryinfo` command (section [14.11.1](/admin/administration#14111-hardware-inventory-information-hardwareinventoryinfo)) retrieves hardware inventory data from devices using Redfish when available. This includes component information such as CPUs, memory, GPUs, and network adapters.

### N.2.3  Power Control Using Redfish

Power control operations (section [4.2](/admin/power#42-power-operations)) can be performed on Redfish-enabled devices using the standard `power` commands in device mode:

**Example**

```bash
[basecm11->device]% power on node001
[basecm11->device]% power off node001
[basecm11->device]% power reset node001
```

For devices with Redfish BMCs, these commands are associated with the `DC power cycle` terminology used in Redfish. The commands communicate with the BMC using the Redfish API to perform the requested power action and assume that the AC power source to the BMC is on.

`AC power cycle` ([here](/admin/administration#ac-and-dc-power-cycling-for-the-dgx-h100)) is the term used to describe a power reset of the BMC itself.

### N.2.4  Redfish Subscriptions: `redfishsubscriptions`

The `redfishsubscriptions` command is run from `device` mode, and displays the status of Redfish event subscriptions for devices such NVLink switches.

BCM subscribes to Redfish events from device BMCs to receive real-time notifications about hardware events, alerts, and status changes.

**Example**

```bash
[basecm11->device]% redfishsubscriptions
hostname            id          initialized  ip              kind     port  ssl   subscribed  uuid
------------------- ----------- ------------ --------------- -------- ----- ----- ----------  -----...--
a07-p01-dgx-02-c01  3111116886  true         10.102.174.132  GB300    443   true  true        1be5d...97
a07-p01-dgx-02-c02  454918174   true         10.102.174.133  GB300    443   true  true        a8eb0...b4
a07-p01-dgx-02-c03  2737332992  true         10.102.174.134  GB300    443   true  true        8754c...79
...
a07-p01-nvsw-01     2220290718  true         10.102.174.150  GB200SW  443   true  true        58519...65
a07-p01-nvsw-02     2506796990  true         10.102.174.151  GB200SW  443   true  true        1f792...61
...
```

The output shows:

* `hostname`: The device hostname

* `id`: The subscription identifier

* `initialized`: Whether the subscription has been initialized

* `ip`: The BMC IP address

* `kind`: The device type (`GB300` for compute trays, `GB200SW` for NVLink switches)

* `port`: The Redfish API port (typically 443 for HTTPS)

* `ssl`: Whether SSL/TLS is enabled

* `subscribed`: Whether the subscription is active

* `uuid`: The unique identifier for the device

### N.2.5  Redfish Event Testing: `redfishevent`

The `redfishevent` command can be used to test Redfish event delivery. The `-m|--message` option sends a custom message that can be used to verify that event subscriptions are working correctly:

**Example**

```bash
[basecm11->device]% redfishevent -m test1
Tue Jan 13 05:40:27 2026 [warning] a07-p01-dgx-02-c05: test1
For details type: events details 7
```

Running the command multiple times triggers test events from different subscribed devices, confirming that Redfish event delivery is functioning across the cluster. The events are logged and can be viewed using the `events` command.

The `redfishevent` command has options for targeting specific nodes. Details can be seen by running the `help` command (`help redfishevent`).

### N.2.6  Redfish HTTP Commands

BCM provides commands for direct Redfish API access using standard HTTP methods. These commands allow administrators to query and modify device configurations directly through the Redfish interface.

#### N.2.6.1  Redfish GET: `redfishget`

The `redfishget` command carries out an HTTP GET request to a Redfish endpoint. This is used to retrieve information from devices:

**Example**

```bash
[basecm11->device]% redfishget -r a07 /redfish/v1/Chassis
==== a07-p01-dgx-02-c02, curl code: 0, http code: 200 ====
{
  "@odata.id": "/redfish/v1/Chassis",
  "@odata.type": "#ChassisCollection.ChassisCollection",
  "Members": [
    { "@odata.id": "/redfish/v1/Chassis/BMC_0" },
    { "@odata.id": "/redfish/v1/Chassis/CBC_0" },
    { "@odata.id": "/redfish/v1/Chassis/Chassis_0" },
    ...
  ]
}
```

#### N.2.6.2  Redfish POST: `redfishpost`

The `redfishpost` command carries out an HTTP POST request to a Redfish endpoint. This is used to create resources or trigger actions. The `-f|--filename` option specifies a JSON template file, and `-p|--parameter` option is used for parameter substitutions:

**Example**

```bash
[basecm11->device]% redfishpost -r rack01 /redfish/v1/Chassis/Chassis_0/Sensors/LeakDetector \\
    -f /cm/local/examples/cmd/redfish/sensor-leak-threshold.json -p reading=0.5
```

#### N.2.6.3  Redfish PUT: `redfishput`

The `redfishput` command carries out an HTTP PUT request to a Redfish endpoint. This is used to replace an entire resource:

**Example**

```bash
[basecm11->device]% redfishput -n node001 /redfish/v1/Systems/System_0 \\
    -f /cm/local/examples/cmd/redfish/system-config.json
```

#### N.2.6.4  Redfish PATCH: `redfishpatch`

The `redfishpatch` command carries out an HTTP PATCH request to a Redfish endpoint. This is used to partially update a resource:

**Example**

```bash
[basecm11->device]% redfishpatch -n node001 /redfish/v1/Systems/System_0 \\
    -f /cm/local/examples/cmd/redfish/system-update.json
```

#### N.2.6.5  Redfish DELETE: `redfishdelete`

The `redfishdelete` command carries out an HTTP DELETE request to a Redfish endpoint. This is used to remove resources:

**Example**

```bash
[basecm11->device]% redfishdelete -n node001 /redfish/v1/EventService/Subscriptions/1
```

All Redfish HTTP commands support filtering by node, category, rack, and other criteria. Details can be seen by running the `help` command (for example: `help redfishget`).