| # PLDM |
| |
| OpenPRoT devices support the Platform Level Data Model (PLDM) as a responder for |
| firmware updates and platform monitoring. This entails responding to messages of |
| Type 0 (Base), Type 2 (Platform Monitoring and Control), and Type 5 (Firmware |
| Update). |
| |
| ## PLDM Base Specifications |
| |
| ### Type 0 - Base Specification |
| |
| - **Purpose**: Base Specification and Initialization |
| - **Version**: 1.2.0 |
| - **Specification**: |
| [PLDM Base Specification](https://www.dmtf.org/sites/default/files/standards/documents/DSP0240_1.2.0.pdf) |
| |
| All responders must implement the following mandatory PLDM commands: |
| |
| - `GetTID` |
| - `GetPLDMVersion` |
| - `GetPLDMTypes` |
| - `GetPLDMCommands` |
| |
| All responders must also implement the following optional command: |
| |
| - `SetTID` |
| |
| ### Type 2 - Platform Monitoring and Control |
| |
| - **Purpose**: Platform Monitoring and Control |
| - **Version**: 1.3.0 |
| - **Specification**: |
| [PLDM for Platform Monitoring and Control](https://www.dmtf.org/sites/default/files/standards/documents/DSP0248_1.3.0.pdf) |
| |
| OpenPRoT supports PLDM Monitoring and Control by providing a Platform Descriptor |
| Record (PDR) repository to a prospective PLDM manageability access point |
| discovery agent. These PDRs are defined in JSON files and included in OpenPRoT |
| at build time, with no support for dynamic adjustments. The PDRs are limited to |
| security features and will only support PLDM sensors, not effectors. |
| |
| #### PLDM Monitoring PDRs |
| |
| - Terminus Locator PDR |
| - Numeric Sensor PDR |
| |
| ### Type 5 - Firmware Update |
| |
| - **Purpose**: Firmware Update |
| - **Version**: 1.3.0 |
| - **Specification**: |
| [PLDM for Firmware Update](https://www.dmtf.org/sites/default/files/standards/documents/DSP0267_1.3.0.pdf) |
| |
| #### Required Inventory Commands |
| |
| - `QueryDeviceIdentifiers` |
| - `GetFirmwareParameters` |
| |
| #### Required Update Commands |
| |
| - `RequestFirmwareUpdate` |
| - `PassComponentTable` |
| - `UpdateComponent` |
| - `TransferComplete` |
| - `VerifyComplete` |
| - `ApplyComplete` |
| - `ActivateFirmware` |
| - `GetStatus` |
| |
| All responders must also implement the following optional commands: |
| |
| - `GetPackageData` |
| - `GetPackageMetaData` |