|IPMI(4)||Device Drivers Manual||IPMI(4)|
ipmi — Intelligent
Platform Management Interface driver
ipmi0 at mainbus0
ipmi0 at acpi?
ipmi0 at iic?
ipmi0 at fdt?
ipmi term Intelligent Platform
Management refers to autonomous monitoring and recovery features implemented
directly in platform management hardware and firmware. The key
characteristics of Intelligent Platform Management is that inventory,
monitoring, logging, and recovery control functions are available
independent of the main processor, BIOS, and operating system.
Platform status information can be obtained and recovery actions initiated under situations where vendor "in-band" management mechanisms are unavailable. The independent monitoring, logging, and access functions available through IPMI provide a level of manageability built in to the platform hardware. This can support systems where there is no systems management software available for a particular operating system.
At the heart of the IPMI architecture is a microcontroller called the Baseboard Management Controller (BMC). The BMC provides the intelligence behind Intelligent Platform Management. The BMC manages the interface between system management software and the platform management hardware, provides autonomous monitoring, event logging, and recovery control and serves as the gateway between systems management software and hardware.
IPMI uses message-based interfaces for the different interfaces to the platform management subsystems. All IPMI messages share the same fields in the message "payload", regardless of the interface (transport) that they're transferred over. IPMI messaging uses a request/response protocol. IPMI request messages are commonly referred to as commands. The use of request/response protocol facilitates the transfer of IPMI messages over different transports. IPMI commands are grouped into functional command sets using a field called network function code. There are command sets for sensor and event related commands, chassis commands etc. This functional grouping makes it easier to organize and manage the assignment and allocation of command values.
Access to monitored information such as temperatures, voltages, fan status etc., is provided via the IPMI Sensor Model. Instead of providing direct access to the monitoring hardware, IPMI provides access by abstracted sensor commands such as the "Get Sensor Reading" command, implemented via a management controller. This approach isolates the software from changes in the platform management hardware implementation.
Sensors are classified according to the type of readings they provide and/or the type of events they generate. A sensor can return either an analog or discrete reading. Sensor events can be discrete or threshold-based.
The BMC provides a centralized non-volatile System Event Log, or SEL. Having the SEL and logging functions managed by the BMC helps ensure that post-mortem logging information is available should a failure occur that disables the systems processor(s).
A set of IPMI commands allows the SEL to be read and cleared and for events to be added to the SEL. The common request message (command) used for adding events to the SEL is referred to as an Event Message.
IPMI's extensibility and scalability mean that each platform implementation can have a different population of management controllers and sensors and different event generation capabilities. The design of IPMI allows system management software to retrieve information from the platform and automatically configure itself to the platform's capabilities.
Information that describes the platform management capabilities is provided via two mechanisms: Capabilities Commands and Sensor Data Records (SDRs). Capabilities commands are commands within the IPMI command sets that return fields that provide information on other commands and functions the controller can handle.
IPMI defines three standardized systems interfaces that systems software uses for transferring IPMI messages to the BMC. In order to support a variety of microcontrollers, IPMI offers a choice of systems interfaces. The system interfaces are similar enough so that a single driver can handle all IPMI system interfaces.
IPMI provides watchdog(4) timer functionality. Once configured, if the watchdog is not reset within a certain period of time, it will timeout and the server will reset. The reset will occur regardless of the recoverability of the hang or crash.
Example of enabling a watchdog:
# sysctl kern.watchdog.period=10
In this case if the watchdog is not reset, it'll reboot the server after roughly 10 seconds.
Example of disabling the watchdog:
# sysctl kern.watchdog.period=0
ipmi driver first appeared in
OpenBSD 3.9 and conforms to the IPMI 1.5
ipmi driver was written by
|March 29, 2020||OpenBSD-current|