The demands placed on modern data center infrastructures continue to grow, and with them, the need for open, flexible, and future-proof server manageability. To address this challenge, Arm and 9elements Cyber Security have teamed up on a project that not only brings a prototype of OpenBMC to the Arm Neoverse Compute Subsystem (CSS), but also illustrates how modern communication protocols and industry standards are shaping next-generation server management.
Baseboard Management Controllers (BMCs) and the software interfaces they provide, for example Redfish and Intelligent Platform Management Interface (IPMI), are essential in the server management landscape. They enable features that are expected by datacenter and enterprise users, ranging from remote server monitoring and control to deployment, hardware lifecycle management, and fault management and troubleshooting. It is important for Arm based servers to establish a system architecture that ensures compatibility with off-the-shelf hardware and software components that rely on these technologies.
By embracing industry standards principles, the project is a proof-of-concept that demonstrates how OpenBMC on Arm Fixed Virtual Platform (FVP) can serve as a blueprint for modern Arm server platforms. It highlights the benefits of open-source firmware combined with Arm’s standard-driven approach—where each component, from the BMC layer to the manageability protocols, aligns with a common set of expectations. This, in turn, reduces complexity, improves interoperability, and paves the way for advanced features that can be easily integrated and scaled.
Figure: “Arm server management architecture”
Central to Arm’s vision of manageable servers is the Arm Server Base Manageability Requirements (SBMR) specification. SBMR standardizes how BMCs expose essential management capabilities by forming a baseline of BMC interoperability between Arm Hosts (in-band) and datacenter infrastructure (out-of-band). This ensures that all Arm-based servers, including its firmware capabilities (for example monitoring system health, updating firmware, and reading sensor data), adhere to consistent, vendor-neutral manageability frameworks. SBMR builds on the top of widely adopted management industry standards, for example:
SBMR adds Arm specific requirements and choices that are based on these industry standards. It also addresses considerations that are special to Arm servers, which are not fully covered in the industry standards.
In addition to the specification, Arm provides an open-source SBMR Architecture Compliance Suite, SBMR-ACS. This is an open-source test tool that uses the Robot automation framework, and targets IPMI and Redfish interfaces compliance testing according to the SBMR as well as the DMTF, OCP, and IPMI industry standards.
Source: https://www.dmtf.org/sites/default/files/standards/documents/DSP2015_2.2.0.pdf
PLDM (Platform Level Data Model) and MCTP (Management Component Transport Protocol) are both industry-standard specifications that are published by DMTF. They form a key part of the modular, layered approach to out-of-band management.
PLDM defines a standardized data model and message formats for representing platform management data. By abstracting low-level details, PLDM enables firmware components, host software, and management controllers to communicate seamlessly about system states, health metrics, and events. It is an effective interface & data model for efficient access to:
MCTP defines a transport-agnostic protocol that can run over various physical interfaces—for example SMBus/I2C, PCIe, I3C, USB, and Serial. It supports logical addressing based on Endpoint IDs and provides simple message fragmentation/reassembly with the built-in capability discovery. This flexibility allows MCTP to serve as a common transport layer for different management protocols, including PLDM. With MCTP as the underlying fabric, system components can talk to each other in a standardized way, regardless of the underlying hardware bus or topology.
As a first step, and as a proof-of-concept, Arm and 9elements ported OpenBMC—an open-source BMC firmware stack— to the Arm’s Base FVP. The Base FVP acts as an emulated environment that closely mirrors the behavior of a real Arm SoC, offering developers a stable, configurable platform to validate firmware features without relying on physical hardware. There are several virtual platform SKUs:
FVP closely models new Arm architectural features:
For further information about using Arm Base FVP, refer to: https://gitlab.arm.com/arm-reference-solutions/arm-reference-solutions-docs/-/blob/master/docs/aemfvp-a/user-guide.rst
This leverages the Arm FVP models to showcase the modern communication protocol between the BMC and the Arm SoC processor. These protocols operate on the SBMR-defined SoC in-band and side-band interfaces by using virtual wire interfaces (virtual UART).
Our proof-of-concept prototype uses:
This setup enables:
The mctpd runs as a system service to manage MCTP endpoint discovery. It exposes a D-Bus interface for discovering new MCTP endpoints and notifies the pldmd daemon to perform PLDM terminus initialization. Additionally, it provides several functions for configuring remote endpoints.
mctpd
pldmd
The pldmd daemon will discover and initialize the PLDM terminus that is based on the D-Bus interface that mctpd exposed. It will assign a Terminus ID (TID) to the PLDM terminus and query PLDM terminus' capabilities. Once the PLDM terminus is identified, the pldmd daemon will parse the Platform Descriptor Records (PDR) for sensor data monitoring and expose the corresponding D-Bus object for temperature sensor data.
The sensor reading data monitored by the pldmd daemon will be exposed and accessible through the bmcweb service. And end-users can query and monitor this data through the Redfish API. In addition to sensor reading data, PLDM Event Messages, for example Common Platform Error Record (CPER) events, can be transferred from the MCP to the BMC. These PLDM events will also be exposed and accessible through the Redfish API.
bmcweb
The IPMI Serial interface protocol has been integrated into the ipmid daemon, allowing it to handle IPMI requests from the Host (in the pre-boot UEFI environment as well as the Operating System) and send responses back. During boot time, the Host can communicate with the BMC through IPMI in-band to query BMC information or send boot information, for example boot progress codes, to the BMC.
ipmid
All the source code of this proof-of-concept has been up-streamed and merged into the OpenBMC master branch. Please refer to the ‘Readme’ here to try it out:
Learn more