New IPMI architecture coming soon to an OpenBMC near you
Vernon Mauery
vernon.mauery at linux.intel.com
Wed Feb 27 05:01:12 AEDT 2019
Last March at OCP, a new IPMI architecture was discussed. Plans were
made and a proposal was written up. I started writing up the
implementation and pushed the first round of patches in June. I
demonstrated and discussed the changes at the last hackathon and
answered questions and concerns in person. The series included changes
in both ipmid and netipmid. I have lost count of the number of patches
and number of revisions pushed, but they are finally ready to be merged.
For anyone that is interested in looking at the code, here is a link to
the first patch in the series for ipmid and netipmid:
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-host-ipmid/+/11273
https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-net-ipmid/+/11707
The changes should start off with very little impact to existing code.
All of the legacy interfaces have been carefully coded around so they
can be maintained until the existing handlers and bridges can be
rewritten using the new APIs.
But new IPMI handlers should be written using the new APIs. After the
core gets merged, I will start submitting changes to some of the
existing handlers that can be used as examples for new code and for
rewriting any other handlers.
This is just the first step. Here is a list of future work if anyone
wants to step up and lend a hand:
1) Rework existing IPMI handlers to use the new handler API. This
includes the automatic parameter extraction as well as the
availability of asynchronous/yielding D-Bus calls.
2) Change existing IPMI bridges to use the new D-Bus interface. See the
netipmid implementation and the soon-to-be-pushed ipmitool
implementation as examples.
3) Reviewing code. The changes above plus all the new changes that are
coming into the IPMI projects generate a lot of changes to review.
Please have your friends and colleagues review your code. Seeing a
+1 from someone else helps.
--Vernon
More information about the openbmc
mailing list