Plans for BMC i2c to host bridge via IPMI

Peter Hanson peterh at google.com
Thu Apr 13 10:54:23 AEST 2017


On Wed, Apr 12, 2017 at 12:51 PM, tomjose <tomjose at linux.vnet.ibm.com> wrote:
> Hello Peter,
>
> As i understand you would be leveraging the BT(Block Transfer) interface to
> route commands from host to BMC.
>
> From the IPMI specification it looks like this can be a generic one
> implementation instead of implementing
> OEM commands.
>
> Implementing the IPMB interface (Section 7) in the IPMI specification would
> probably suit your requirement.
> The following commands should help us achieve the goal: Master Write-Read
> command, Get Message command
> and Send message command.
>
> I am thinking that IPMB interface could be a dbus service which parses host
> IPMI commands and maps to an I2C read/write.

Choosing the best interface is a very important early step, so I very
much appreciate specific suggestions in that area - like this - and
will be as specific as possible in my response, so that I can promptly
correct holes in my thinking.

So here goes:

1. IPMB plumbing alone is significantly heavier than this feature. The
resulting Send Message and Get Message API seems awkward for our
simple case. Someone with actual IPMB use cases should drive that
work.

2. The key message the host would want to send - Master Write-Read
Command - does not address the full problem at a modern BMC. My
reading of Table 22- in section 22.11 puts the maximum number of
private SMBuses at 8. We have 9 i2c _controllers_ on a typical system;
some are further connected to multiplexers, further multiplying the
number of logical buses.

Our proposed OEM master write-read feature addresses both concerns.

> Let me know your thoughts.
>
> Regards,
> Tom


More information about the openbmc mailing list