libpldm: Add RdeOperationEnumerate support

Add encoders and decoders for RDEOperationEnumerate
Additionlly added code hooks to serve RDEOperationEnumerate
requests from the client. Also added test for the encoders
and decoders

Tested:
Unit tested the encoders and decoders
Additionally tested the fix through libmctp app by sending
RdeOperationEnumerate requested in the middle of the
RdeOperationComplete request

```
0xc0000
Reading 0xc0000

Received. EID: 9  tag_owner: 0  msg_tag: 6  len:265
cc: 0
operation_status: 5
completion_percentage: 100
Has paylaod: Yes
response_payload_length: 242
etag len: 1
etag:
{"@odata.id":"/redfish/v1/Chassis/Tray/Controls","@odata.type":"#ControlCollection.ControlCollection","Name":"Control Collection","Members":[{"@odata.id":"/redfish/v1/Chassis/Tray/Controls/HDD_pid"},{"@odata.id":"/redfish/v1/Chassis/Tray/Controls/fans"}],"Members@odata.count":2}

{
    "@odata.id": "/redfish/v1/Chassis/Tray/Controls",
    "@odata.type": "#ControlCollection.ControlCollection",
    "Members": [
        {
            "@odata.id": "/redfish/v1/Chassis/Tray/Controls/HDD_pid"
        },
        {
            "@odata.id": "/redfish/v1/Chassis/Tray/Controls/fans"
        }
    ],
    "Members@odata.count": 2,
    "Name": "Control Collection"
}

Received. EID: 9  tag_owner: 0  msg_tag: 6  len:13
cc: 0
operation count : 1
Resource Id : 786432
Operation Id: 65451
Operation Type : 1
Resource id verified

Received. EID: 9  tag_owner: 0  msg_tag: 6  len:4
cc: 0
operation completed!!!
```

Google-Bug-Id: 323193207
Google-Bug-Id: 286466007
Change-Id: Ifbee2b4d5a41c0a6af0f299b5a9a799ce682ffba
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
2 files changed
tree: 51506ff0bf13afcbf6048b51b1661f01aae83c6f
  1. conf/
  2. dynamic-layers/
  3. recipes-bsp/
  4. recipes-connectivity/
  5. recipes-core/
  6. recipes-devtools/
  7. recipes-extended/
  8. recipes-google/
  9. recipes-kernel/
  10. recipes-phosphor/
  11. recipes-tpm1/
  12. LICENSE
  13. README.md
README.md

meta-gbmc-staging

This repository contains additions to the openbmc/meta-google layer that are not yet ready for OpenBMC inclusion.

How to use this layer

  1. Clone openbmc/openbmc from GitHub.
  2. Clone this layer from GitHub into a subdirectory of openbmc.