sensorcommands:Platform Event Message command corrected

Add support to check the incoming channel type and update the
generatorID based on requester slave address.

Add support to check for valid evmRev and Sensor Type.

Tested:
Command: ipmitool  -I lanplus -H <BMC_IP> -U root -P 0penBmc raw 0x04
0x02 0x04 0x6a 0xcd 0xf6 0x6b 0xed 0x0f
Response: Unable to send RAW command (channel=0x0 netfn=0x4 lun=0x0
cmd=0x2 rsp=0xcc): Invalid data field in request

Command: ipmitool  -I lanplus -H <BMC_IP> -U root -P 0penBmc raw 0x04
0x02 0x54 0x6a 0xcd 0xf6 0x6b 0xed 0x0f
Response: Unable to send RAW command (channel=0x0 netfn=0x4 lun=0x0
cmd=0x2 rsp=0xcc): Invalid data field in request

Signed-off-by: Chalapathi Venkataramashetty <chalapathix.venkataramashetty@intel.com>
Change-Id: Ibb93d09777f5a7c515d45a4aa910c657d503d9ce
1 file changed
tree: b0ee27bc76f1a90be9f437be9b4965f61dc842ea
  1. cmake/
  2. docs/
  3. include/
  4. non-yocto/
  5. src/
  6. tests/
  7. .clang-format
  8. .gitignore
  9. cmake-format.json
  10. CMakeLists.txt
  11. CMakeLists.txt.in
  12. generate-whitelist.py
  13. ipmi-whitelist.conf
  14. LICENSE
  15. MAINTAINERS
  16. 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