IPMI has a large number of interfaces for talking to management controllers. They vary in performance and capability, but the same messages work over the top of all of them. Generally, it does not matter how you interface to an IPMI system, the messages will work the same.
OpenIPMI Generic Interface
The OpenIPMI libary has a generic interface to the various connections. You use a per-interface command to set up the interface, but once set up, the interfaces all work the same. The file shown in Appendix K defines the interface for connections.
Note that not all operations are available on all interfaces. LAN connections, for instance, cannot receive commands.
The most common interface to a management controller is the system interface. This provides a direct connection between the main processor of a system and the management controller. Obviously, this interface isn’t very useful if the system is turned off, but it allows a running system to monitor itself.
The low-level format of a system interface message that is n bytes long is:
1 2 - n-1
Bits 0-1 - Destination LUN Bits 2-7 - NetFN Command Message Data
Commands and responses have basically the same format, except that responses always have the com- pletion code as the first byte of the message data. See chapter 5 for more details.