#
9fdcad5a |
| 07-Feb-2025 |
Matt Spinler <spinler@us.ibm.com> |
PELs: Use pldm_msg_hdr_correlate_response()
This call to ensure the PLDM response matches the PLDM request for the 'New PEL Available' command was previously missing (since it didn't exist at the ti
PELs: Use pldm_msg_hdr_correlate_response()
This call to ensure the PLDM response matches the PLDM request for the 'New PEL Available' command was previously missing (since it didn't exist at the time this code was written), causing the code to think it got the correct response when really it was someone else's.
It would then move on to the next PEL before it actually heard back about the current one, causing issues on the host side.
Change-Id: I471d7727a2b8c77a0ffc85c15cef7531898d22d7 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
#
b0ff05ab |
| 24-Sep-2024 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Increase PLDM timeout
The current time the code waits for a PLDM response from PHYP before it considers it a timeout is ten seconds, after which it will retry sending the command again. Howeve
PEL: Increase PLDM timeout
The current time the code waits for a PLDM response from PHYP before it considers it a timeout is ten seconds, after which it will retry sending the command again. However, PHYP has two twenty second waits on its responses to the BMC PLDM daemon so ten seconds isn't long enough to know something failed.
There has been a case seen where it took the BMC PLDM code 12 seconds to handle the response from PHYP, in which case the PEL daemon thought it failed and re-sent a new file available command to PHYP for a PEL it already knew about.
The timeout value is being increased to 45 seconds, which is the 40 seconds for the PHYP wait plus some wiggle room.
Even if PHYP does time out trying to respond it does does already know about the PEL, so if we resend it will already have it, but I don't really see any alternatives, as the code can't be sure PHYP got it if it never responded.
Tested: PELs are sent to PHYP. It's rare to hit a case where there are timeouts, so putting this in place anyway.
Change-Id: I3f4ce422f292d8d54c36bd9cf051f776b837b983 Signed-off-by: Matt Spinler <spinler@us.ibm.com>
show more ...
|
#
0387a74e |
| 01-Jul-2024 |
Lakshmi Yadlapati <lakshmiy@us.ibm.com> |
openpower-pels: Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs. - Updated the receive function to pass pldm_transport as
openpower-pels: Move to libpldm pldm_transport APIs
- Replaced the deprecated pldm transport APIs with the new libpldm pldm_transport APIs. - Updated the receive function to pass pldm_transport as a parameter. - Modified the function signatures and their calls to ensure the pldm_transport parameter is properly passed.
This change migrates the application off of the deprecated "requester" APIs in libpldm.
We don't currently have the infrastructure in place to get the correct TIDs, so to keep everything working as before use the EID as the TID in the EID-to-TID mapping.
Change-Id: Ib143dc122637ef7e390fceb64f1f94c65172ae39 Signed-off-by: Lakshmi Yadlapati <lakshmiy@us.ibm.com>
show more ...
|
#
49bcbe92 |
| 26-Jun-2024 |
Patrick Williams <patrick@stwcx.xyz> |
openpower-pels: use libpldm directly for IID allocation
libpldm provides APIs for allocating instance IDs directly, which eliminates the need for remote dbus calls to the pldm daemon. Refactor the
openpower-pels: use libpldm directly for IID allocation
libpldm provides APIs for allocating instance IDs directly, which eliminates the need for remote dbus calls to the pldm daemon. Refactor the code to use these APIs and eliminate all the dbus operations.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ia1214fe6d68cb49dc1c91af07b7046ac652fb9c4
show more ...
|
#
2544b419 |
| 04-Oct-2022 |
Patrick Williams <patrick@stwcx.xyz> |
clang-format: update with latest
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I329396457b83bb2eb8740629b4ac1fbe9106bced
|
#
2843ba28 |
| 03-Mar-2020 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Get PLDM instance ID asynchonously
Start actually getting the PLDM instance ID from the PLDM daemon for use in sending PLDM commands, and refactor the PLDM interface class to do this using sd_b
PEL: Get PLDM instance ID asynchonously
Start actually getting the PLDM instance ID from the PLDM daemon for use in sending PLDM commands, and refactor the PLDM interface class to do this using sd_bus_call_method_async. After the instance ID is obtained then the rest of the PLDM command sequence can be run to notify the host of PELs.
This is necessary because the PLDM daemon may be making a call to the logging daemon at the same time to create a new OpenBMC event log due to a host PEL that came down, and there will be a deadlock if the method call was synchronous.
A new instance ID is needed for every new PLDM command, unless there was a failure before the host could respond, so the code keeps track of when it needs to get a new ID.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: I0e00d1180363250662bd85f9ec69813ada500931
show more ...
|
#
5c350fdf |
| 12-Dec-2019 |
Matt Spinler <spinler@us.ibm.com> |
PEL: Add PLDM command handler
Derive a PLDMInterface class from the HostInterface class to implement sending the 'new file available' PLDM command to notify the host of the ID and size of PELs.
The
PEL: Add PLDM command handler
Derive a PLDMInterface class from the HostInterface class to implement sending the 'new file available' PLDM command to notify the host of the ID and size of PELs.
The command response is received asynchronously by watching for activity on the MCTP file descriptor that was used for the command. If a response isn't received in 10 seconds, it will be considered a failure.
Both on response success and failure the class will call the registered callback function and pass it the result.
Signed-off-by: Matt Spinler <spinler@us.ibm.com> Change-Id: Ica00da590628cc81114a48e2831a436dc2115269
show more ...
|