storagecommands: Split validation logic

The Fru validation logic is useful in isolation, split it into a
separate library that can be included.

Tested:
[0/1] Running all tests.
 1/12 phosphor-objmgr / well_known                          OK              0.24s
 2/12 phosphor-objmgr / need_to_introspect                  OK              0.22s
 3/12 phosphor-objmgr / name_change                         OK              0.16s
 4/12 phosphor-objmgr / interfaces_added                    OK              0.13s
 5/12 phosphor-objmgr / handler                             OK              0.09s
 6/12 phosphor-objmgr / mapper                              OK              0.07s
 7/12 phosphor-host-ipmid / entitymap_json                  OK              0.06s
 8/12 phosphor-host-ipmid / message                         OK              0.05s
 9/12 phosphor-host-ipmid / session/closesession            OK              0.03s
10/12 phosphor-objmgr / associations                        OK              0.20s
11/12 phosphor-host-ipmid / dbus-sdr/sensorcommands         OK              0.02s
12/12 intel-ipmi-oem / message                              OK              0.02s

Ok:                 12
Expected Fail:      0
Fail:               0
Unexpected Pass:    0
Skipped:            0
Timeout:            0

Change-Id: I9130eb81703b0cda7c3229f16cd689dd2c96c55c
Signed-off-by: Peter Foley <pefoley@google.com>
5 files changed
tree: 1e9ecb3253aa9170588d6d8170e0d2af5e7f0710
  1. docs/
  2. include/
  3. src/
  4. subprojects/
  5. tests/
  6. .clang-format
  7. .gitignore
  8. generate-allowlist.py
  9. ipmi-allowlist.conf
  10. LICENSE
  11. meson.build
  12. meson.options
  13. OWNERS
  14. README.md
README.md

Intel IPMI OEM support library

This component is intended to provide Intel-specific IPMI[3] command handlers for OpenBMC. These handlers are intended to integrate BMC with servers based on Intel architecture.

Overview

intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:

  • override existing implementation of standard IPMI commands to comply with Intel-specific solutions,
  • provide implementation for non-standard OEM extensions.

Capabilities

Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:

  • Acquiring SMBIOS data over IPMI
  • Commands for better integration with Intel hardware
  • Firmware update extensions
  • Extended parsing of IPMI Platform Events[4]

References

  1. OpenBMC IPMI Architecture
  2. Phosphor IPMI Host
  3. IPMI Specification v2.0
  4. Intel Platform Events parsing