Redfish Device Enablement (RDE) support

NOTES

It is possible that some properties or resources described in this section are not implemented in HPE iLO 4 and iLO 5.

HPE iLO implements the Platform Level Data Model for Redfish Device Enablement (PLDM for RDE) DMTF standard. In this section the term RDE is a shortcut for PLDM for RDE. The term RDE capable device refers to a physical device (i.e. storage controller) implementing PLDM for RDE.

RDE enables management controllers (i.e. iLO) to present a Redfish-conformant data model, without the need of embedding specific code related to the vendor, family or model device. When PLDM for RDE is implemented in both the management controller and the device, the former acts as a request forwarder (pass-through) between the Redfish client and the device.

TIP

As GET responses from RDE capable devices come from the device, they don't contain any HPE Oem/Hpe section. However, they may contain OEM sections specific to the device maker (Oem/DeviceMaker).

Refer to this paragraph for the Redfish URIs enabled by iLO for RDE capable devices.

In the detail, RDE capable management controllers and devices may use the Management Component Transfer Protocol (MCTP) to exchange Redfish encoded messages. By default, HPE iLO enables MCTP globally as well as on all possible device slots. Refer to the iLO user guide for managing MCTP from the GUI (System Information --> Device Inventory --> Discovery).

Warning

When MCTP is globally disabled or if a device slot (PCIe, M.2, OCP...) is MCTP disabled, RDE capable devices may not be accessible via Redfish anymore.

NOTE

It is not possible to enable MCTP on a specific device slot. A global MCTP factory reset is required. This action enables MCTP globally and on all device slots. Refer to the examples below to manage the MCTP with Redfish.

MCTP management with Redfish

For troubleshooting or other reasons, you may want to disable or factory reset the MCTP.

Retrieve MCTP status

The following example retrieves the MCTP global status and the status of slot 5.

MCTP global statusMCTP Specific slot status
Copy
Copied
GET /redfish/v1/Chassis/1/?$select=Oem/Hpe/MCTPEnabledOnServer
Copy
Copied
GET /redfish/v1/Chassis/1/devices/5/?$select=MCTPProtocolDisabled

Disable the MCTP globally

Disable the MCTPRequest bodyResponse body
Copy
Copied
POST /redfish/v1/Chassis/1/Actions/Oem/Hpe/HpeServerChassis.DisableMCTPOnServer/
Copy
Copied
{}
Copy
Copied
{
    "error": {
        "code": "iLO.0.10.ExtendedInfo",
        "message": "See @Message.ExtendedInfo for more information.",
        "@Message.ExtendedInfo": [
            {
                "MessageId": "Base.1.12.Success"
            }
        ]
    }
}

Disable the MCTP on a specific slot

Generic PATCH requestRequest bodyResponse body
Copy
Copied
PATCH: /redfish/v1/Chassis/{{ChassisId}}/devices/{{slotId}}/
Copy
Copied
{
    "MCTPProtocolDisabled": true
}
Copy
Copied
{
    "error": {
        "code": "iLO.0.10.ExtendedInfo",
        "message": "See @Message.ExtendedInfo for more information.",
        "@Message.ExtendedInfo": [
            {
                "MessageId": "Base.1.12.Success"
            }
        ]
    }
}

MCTP factory reset

In order to globally re-enable the MCTP and all the specific slots, a MCTP factory reset is required.

MCTP factory resetRequest bodyResponse body
Copy
Copied
POST /redfish/v1/Chassis/1/Actions/Oem/Hpe/HpeServerChassis.FactoryResetMCTP
Copy
Copied
{}
Copy
Copied
{
    "error": {
        "code": "iLO.0.10.ExtendedInfo",
        "message": "See @Message.ExtendedInfo for more information.",
        "@Message.ExtendedInfo": [
            {
                "MessageId": "Base.1.12.Success"
            }
        ]
    }
}
TIP

If an MCTP factory reset returns an error (i.e. ActionNotSupported) and, the System Information --> Device Inventory --> Recovery button in the iLO graphical user interface is greyed out, it is possible to recover with an Auxiliary Power Cycle (efuse) action.

iLO RDE URIs and corresponding HTTP methods

The following table lists the Redfish URIs enabled by iLO for RDE capable devices. Cells contain the list of iLO generations supporting operations, or a dash character ("-") if the operation is not applicable or not supported. Refer to the iLO 5 changelog file and look for string RDE support changes to get the first firmware version implementing RDE operations. iLO 6 implements all mentioned operations since version 1.05.

NOTE
  • iLO returns 400 Bad Request when RDE devices take a long time to process and respond to POST requests.
  • Enabled operations by iLO listed in the following table does not imply that all RDE capable devices supports those operations as well. For example, if RDE capable storage devices supports storage volumes then iLO supports POST and DELETE operations.
URI GET HEAD PATCH POST DELETE
/redfish/v1/Systems/{@systemsId}/NetworkInterfaces 5, 6 - - - -
/redfish/v1/Systems/{@systemsId}/NetworkInterfaces/{@nicId} 5, 6 5, 6 - - -
/redfish/v1/Systems/{@systemId}/EthernetInterfaces 5, 6 - - - -
/redfish/v1/Systems/{@systemId}/EthernetInterfaces/{@nicId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Chassis/{@chassisId}/PCIeDevices 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId} 5, 6 5, 6 - - -
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId}/PCIeFunctions 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/PCIeDevices/{@PCIeDeviceId}/PCIeFunctions/{@PCIeFunctionId} 5, 6 5, 6 - - -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkPorts 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkPorts/{@portId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/Ports 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/Ports/{@portId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkDeviceFunctions 5, 6 - - - -
/redfish/v1/Chassis/{@chassisId}/NetworkAdapters/{@nicId}/NetworkDeviceFunctions/{@pfId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Systems/{@systemId}/Storage 5, 6 - - - -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Drives/{@driveId} 5, 6 5, 6 5, 6 5, 6 -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/ 5, 6 - - - -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/{@controllerId} 5, 6 5, 6 5, 6 - -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Controllers/{@ControllerId}/Ports/{@portId} 5, 6 5, 6 5, 6 - -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Volumes 5, 6 - - 5, 6 -
/redfish/v1/Systems/{@systemId}/Storage/{@storageId}/Volumes/{@volumeId} 5, 6 5, 6 5, 6 5, 6 5, 6

RDE capable device schema file locations

Redfish responses from RDE enabled devices depend on the schema versions that are supported by each device. They may vary across device vendors, families and models. The schema files describing RDE capable devices are not stored in iLO and usually not in the device. However, their location is in the Link response header property of HEAD requests.

These schema files can be obtained using iLOrest tool.

Controller schema file location of an RDE capable storage controller

iLOrest commandResponse
Copy
Copied
ilorest rawhead /redfish/v1/Systems/1/Storage/DE07C000 2>/dev/null | jq '.Link'
Copy
Copied
https://redfish.dmtf.org/schemas/Storage.v1_13_0.json

Volume schema file location of an RDE capable logical volumes

iLOrest commandResponse
Copy
Copied
ilorest rawhead /redfish/v1/Systems/1/Storage/DE07C000/Volumes 2>/dev/null | jq -r '.Link'
Copy
Copied
https://redfish.dmtf.org/schemas/VolumeCollection.json

Network port schema file location of an RDE capable network adapter

iLOrest commandResponse
Copy
Copied
ilorest rawhead /redfish/v1/Chassis/1/NetworkAdapters/DE080000/NetworkPorts 2>/dev/null | jq '.Link'
Copy
Copied
http://redfish.dmtf.org/schemas/v1/NetworkPortCollection.json

For more detail concerning PLDM for RDE, refer to the DMTF RDE specification.