| commit | 0a652fa9ca42b24190f8073b9de71bfbdaf54cf2 | [log] [tgz] |
|---|---|---|
| author | Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> | Thu Jul 01 17:09:39 2021 +0000 |
| committer | Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com> | Wed Jul 14 04:07:03 2021 +0000 |
| tree | f55b7f7f3cedd98e1d46a122d995e0ab095a3ccd | |
| parent | 1b751dc2720fc4e6ec1874560bff18b1d07818f1 [diff] |
oemcommands: Validate reserved field content
In "Set Processor Error Configuration" command, byte-1’s [7-2],
byte-2, byte-3's [7-1], bits are reserved and in "Disable BMC System
Reset Action" command, byte-1’s [7-1] bits are reserved. So return
"InvalidFieldRequest" when reserved content is non-zero.
Tested:
IPMI Command: Set Processor Error Configuration
Case 1: Byte 1 - reserved1 bits zero
Command: ipmitool raw 0x30 0x9b 0x03 0x0 0x01
Response: //Success
Case 2: Byte 1 - reserved1 bits non-zero
Command: ipmitool raw 0x30 0x9b 0xf3 0x0 0x01
Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0
cmd=0x9b rsp=0xcc): Invalid data field in request
Case 3: Byte 2 - reserved2 bits zero
Command: ipmitool raw 0x30 0x9b 0x03 0x0 0x01
Response: //Success
Case 4: Byte 2 - reserved2 bits non-zero
Command: ipmitool raw 0x30 0x9b 0x03 0x1 0x01
Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0
cmd=0x9b rsp=0xcc): Invalid data field in request
Case 5: If byte - 3 is not present
Command: ipmitool raw 0x30 0x9b 0x03 0x0
Response: //Success
Case 6: byte-3 with reserved portion(reserved3) zero
Command: ipmitool raw 0x30 0x9b 0x03 0x0 0x01
Response: //Success
Case 7: byte-3 with reserved portion (reserved3) non-zero.
Command: ipmitool raw 0x30 0x9b 0x03 0x0 0xf1
Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0
cmd=0x9b rsp=0xcc): Invalid data field in request
IPMI Command: Disable BMC System Reset Action
Case 1: Byte-1 reserved portion (reserved1) non-zero.
Command : ipmitool raw 0x30 0x42 0x03
Response: Unable to send RAW command (channel=0x0 netfn=0x30 lun=0x0
cmd=0x42 rsp=0xcc): Invalid data field in request
Case 2: Byte-1 reserved portion (reserved1) is zero.
Command : ipmitool raw 0x30 0x42 0x01
Response: //Success
Signed-off-by: Jayaprakash Mutyala <mutyalax.jayaprakash@intel.com>
Change-Id: I84a6e3be21d6101824867ff9f92b83be2e6aa406
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.
intel-ipmi-oem serves as an extension[1] to OpenBMC IPMI daemon[2]. It is compiled as a shared library and intended to both:
Related features provided by the library are grouped in separate source files. Main extensions to vanilla OpenBMC IPMI stack are the following:
[4]