pldm: Use Rde Op Enumerate to recover BMC<->RDE device communication

There are scenarios where due to hardware issues, some bytes
in the USB communication get dropped. This could happen,
for any operation including Init, Status, Complete. In this case,
the existing mechanism to Kill an ongoing RDE operation won't work,
because it only kills the current operation using resource id.
But the RDE device may be in a stuck state on a previous
operation with different resource id.

So use Rde Op Enumerate, to identify the ongoing operations in the
RDE device and then kill those operations, if the RDE device is
stuck.

Tested:

```
1) Tested on a real hardware which drops requests byts at random leaving
the BMC<->RDE device communication in stuck state. The rded dameon is,
able to call Operation Eumerate, identify the active operations and kill
them. Ran repeated queries for over 7 hours and verified that BMC<->RDE
devcie communication recovers with next request after it gets messed up
due to request/response bytes being dropped. Verified rded daemon state
is good.
2) Ran multiple rde stress tests that run for 24 hours and no issue is
observed.

https://fusion2.corp.google.com/ci/guitar/workflows/%2F%2Fplatforms%2Fminibmc%2Fmtest%2Fintegration_test:mackback_test_regression/activity/33293d9d-6fa8-3b71-9a68-135b7414718e:0/overview
```

Google-Bug-Id: 325678605
Google-Bug-Id: 325680612
Change-Id: Icb0204cae4c97fb6f14f7dec8fb43d7247433023
Signed-off-by: Nikhil Namjoshi <nikhilnamjoshi@google.com>
2 files changed
tree: 29c9ea6b92b53dcff7ff541c08db3d0d69c4f2fd
  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.