Intelligent Platform Management Bus (IPMB)

The Intelligent Platform Management Bus Communications Protocol defines a byte-level transport for transferring Intelligent Platform Management Interface Specification (IPMI) messages between intelligent I2C devices. This protocol is layered above the bit stream and hardware interface defined by the 100 kbps I2C specification. Together, the protocol and I2C physical interface form the Intelligent Platform Management Bus.

The intelligent devices using the Intelligent Management Bus are typically microcontrollers that perform platform management functions such as servicing the front panel interface, monitoring the baseboard, hotswapping disk drives in the system chassis, etc. Intelligent devices are also referred to in this document as ‘management controllers’ or just ‘controllers’.

Under AdvacedTCA® environment, the Shelf uses an Intelligent Platform Management Bus (IPMB) for managing communications among all Intelligent FRUs. The reliability of the IPMB is improved by the addition of a second IPMB, with the two IPMBs referenced as IPMB-A and IPMB-B. The aggregation of the two IPMBs is IPMB-0. The IPM Controllers aggregate the information received on both IPMBs. An IPM Controller that has a message ready for transmit will use the IPMBs in a round robin fashion. An IPM Controller will try to alternate the transmission of messages between IPMB-A and IPMB-B. If an IPM Controller is unable to transmit on the desired IPMB then it will try to send the message on the alternate IPMB. By using this approach, an IPMB can become unavailable and then available without the IPM Controller needing to take specific action.

The format of IPMB packet depends on its type. The following picture demonstrate formats of IPMB packet as "request" or "response" command.

ipmb-packet.jpg

History

Protocol dependencies

  • N/A

Example traffic

Here is an example of multi packets IPMB shown in Wireshark

ipmb_capture.snapshot.png

Wireshark

There are different ways to capture IPMB traffic.

  • Dissection for Totalphase Aardvark adapter captures is implemented in context of bug 1970. The changes in that bug need to be reworked to avoid copying the code from the generic IPMI dissector.

  • Pigeon Point Systems provide a utility, ipmb_traced, for its shelf managers which generates captures in different format from the above. The main difference is that the utility provides additional information about events noticed by the shelf manager (e.g. bus error). Dissection for these captures is submitted in bug 2787.

Example capture files

Display Filter

N/A

Capture Filter

N/A

External links

Discussion

Which SVN revision is this dissector supposed to be in? Thanks.

  • The IPMB dissector is pending review. You can check the status on bug 1970

Imported from https://wiki.wireshark.org/IPMB_protocol on 2020-08-11 23:15:13 UTC