Fix chassis intrusion D-Bus path and enum handling

The chassis intrusion IPMI command was returning 0xCC (Invalid
Data Field) due to incorrect D-Bus object path and enum string
handling. The handler was using wrong path
"/xyz/openbmc_project/Intrusion/Chassis_Intrusion" and comparing
against short enum strings instead of full returned string. Update
the D-Bus path to "/xyz/openbmc_project/Chassis/Intrusion" and
fix enum comparisons to use complete qualified enum strings.

Tested: IPMI command now returns success with correct chassis
intrusion status.

Change-Id: Icb3b776bc62c61a6b8db0d940cccd2d0db07f1e8
Signed-off-by: Utkarsh Kumar <utkarshx.kumar@intel.com>
Signed-off-by: Swaroop Aradhya N M <swaroopx.aradhya.n.m@intel.com>
2 files changed
tree: aa7f4d8afae371458c8a9229e3803081e8de9e78
  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