In-band IPMI Update over IPMI Blobs

Patrick Venture venture at google.com
Sat Oct 6 00:44:37 AEST 2018


For those who have been watching, we have been upstreaming how we
currently handle in-band updates over IPMI/LPC/PCI to
phosphor-ipmi-flash.  However, recently we also upstreamed a generic
blob interface, phosphor-ipmi-blobs.  Until
https://gerrit.openbmc-project.xyz/13620 it wasn't a suitable
mechanism for the firmware update due to an inability to do a clean
method mapping between the protocols.

I've written up a proposal (downstream for now) to port the
phosphor-ipmi-flash implementation into a blob handler that just goes
through phosphor-ipmi-blobs.  The thinking is to have more things
leverage the generic blob handler instead of having a fully separate
OEM IPMI command set for everything (although phosphor-ipmi-flash goes
over the Firmware Netfn).

It's now a pretty trivial transformation, and once the design has some
age downstream (1-2 days :D), then I'm going to send it here for
review.

Unless there are obvious objections.

And as food for thought, other Blob protocol use-cases in the works:
 - mechanism for downloading core dumps and crash logs over IPMI (no
network access)
 - mechanism for sending commands down for special hardware
 - mechanism for reading back configuration files for whitelisted debug
 - mechanism for randomly creating large files such that the flash
fills up and the system never boots again.

Patrick


More information about the openbmc mailing list