003fe021 | 16-Jun-2021 |
Andrew Jeffery <andrew@aj.id.au> |
systemd: Remove mctp-demux dependency
mctp-demux-daemon is undergoing a transition from service to socket activation. Move the ownership of the service relationship into the service units provided b
systemd: Remove mctp-demux dependency
mctp-demux-daemon is undergoing a transition from service to socket activation. Move the ownership of the service relationship into the service units provided by libmctp. This will end in a reversal of the dependencies with pldmd connecting to the @mctp-mux socket to launch mctp-demux-daemon on-demand.
Signed-off-by: Andrew Jeffery <andrew@aj.id.au> Change-Id: I7cd3dbaf40a0bc9535b647efb9a0a0d4e2702192
show more ...
|
74f27c73 | 16-May-2021 |
Tom Joseph <rushtotom@gmail.com> |
requester: PLDM handler for async request/response
PLDM request handler provides APIs to register PLDM request message, handle retries and instance ID expiration. Sending the PLDM request and handli
requester: PLDM handler for async request/response
PLDM request handler provides APIs to register PLDM request message, handle retries and instance ID expiration. Sending the PLDM request and handling response is handled in an async manner. On receiving the response the corresponding response handler registered for the request is invoked.
Tested: Ran unit tests
Signed-off-by: Tom Joseph <rushtotom@gmail.com> Change-Id: I9f0a9dfcf0fbc9a84eefad375b92d40dd8b48d3d
show more ...
|
2c0bdf18 | 14-Jun-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Remove Inventory Manager dependency for pldm
- Inventory Manager was added as dependency when pldm daemon used to build the BMC FRU Record table at start.
- As the design was later changed , we n
Remove Inventory Manager dependency for pldm
- Inventory Manager was added as dependency when pldm daemon used to build the BMC FRU Record table at start.
- As the design was later changed , we now build the BMC FRU Record table only after we get the first GETPDR command from host (happens during Host Poweron operation).
- We can assume that the Inventory manager is all up and running before the host is poweredon, so we can remove the inventory dependency from the pldm dependency list.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: Iee667d488e03f4055a02fb845a2432c22abe4e95
show more ...
|
b7095ff3 | 14-Jun-2021 |
George Liu <liuxiwei@inspur.com> |
Fix the return value of pack_pldm_header and unpack_pldm_header
- The intent behind this commit is to fix the return value of the pack_pldm_header and the unpack_pldm_header methods.
- According
Fix the return value of pack_pldm_header and unpack_pldm_header
- The intent behind this commit is to fix the return value of the pack_pldm_header and the unpack_pldm_header methods.
- According to PLDM spec, their return value should be `uint8_t`, not `int`, so 0 is PLDM_SUCCESS and non-0 is failure.
- Also, when we call the pack_pldm_header and unpack_pldm_header methods, we need to verify the return value of the method.
Tested: Built pldm successfully and Unit Test passes.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I0bd6838c4fb3b90f821c10324e4536ed352ffcfa
show more ...
|
c073a20e | 08-May-2021 |
Sampa Misra <sampmisr@in.ibm.com> |
entity_association_tree: Keep tree always updated
This commit keeps the entity association tree updated across Host reboots. It deletes the Host entries from the entity associaton tree when Host is
entity_association_tree: Keep tree always updated
This commit keeps the entity association tree updated across Host reboots. It deletes the Host entries from the entity associaton tree when Host is powered off.
Without this fix the entity association tree keeps on growing with duplicate Host entries during each power on(PDR exchange) resulting a crash of pldm daemon after few power on-off sequence
Change-Id: I8fdc258195aef998d10e33577f3ec98da48b3d40 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
02b4ee45 | 03-May-2021 |
Tom Joseph <rushtotom@gmail.com> |
libpldmresponder: Make libpldmresponder optional
libpldmresponder library is for handling incoming PLDM request messages on BMC. There are usecases for PLDM daemon on BMC where it is primarily a req
libpldmresponder: Make libpldmresponder optional
libpldmresponder library is for handling incoming PLDM request messages on BMC. There are usecases for PLDM daemon on BMC where it is primarily a requester and BMC aggregates information about firmware devices that implement MCTP/PLDM and facilitate firmware upgrade of the devices. This patch is a step in that direction to enable PLDM daemon on BMC primarily as PLDM requester.
Tested: Ran PLDM daemon successfully without libpldmresponder library.
Signed-off-by: Tom Joseph <rushtotom@gmail.com> Change-Id: Iceaa10127352aaaba6c338d7ea9ac187be4e5fad
show more ...
|
5fb37d57 | 06-Mar-2021 |
Sampa Misra <sampmisr@in.ibm.com> |
Fix: create a deferred event for tasks after GetPDR
There are certain tasks that need to be performed when a GetPDR is received. That should be done after sending response to GetPDR
before fix: Rec
Fix: create a deferred event for tasks after GetPDR
There are certain tasks that need to be performed when a GetPDR is received. That should be done after sending response to GetPDR
before fix: Received Msg 09 01 86 02 51 00 00 00 00 00 00 00 00 01 ff 7f 00 00 Sending Msg 06 02 51 05
after fix: Received Msg 09 01 9e 02 51 34 00 00 00 00 00 00 00 01 ff 7f 00 00 Sending Msg 1e 02 51 00 35 00 00 00 00 00 00 00 05 1d 00 34 00 00 00 01 0b 00 00 13 00 02 00 03 00 43 00 04 00 01 00 00 00 00 00 01 c0 00 01 0c
Change-Id: I9590a8365177d5f0e31bad3b67be7e6fbd302822 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
ff80ebf0 | 04-Mar-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Add a new pldm verbosity option
- The intent behind this commit is to add a new compile time meson option to control the pldm verbosity.
- The value that is given for meson option goes into the
Add a new pldm verbosity option
- The intent behind this commit is to add a new compile time meson option to control the pldm verbosity.
- The value that is given for meson option goes into the default systemd environment file which is picked by the pldmd service unit before it starts.
- As the pldmd consumes the default pldmd file at runtime, we should be able to alter the verbosity by changing the content in /etc/default/pldm_verbosity file.
Tested By: 1. meson buildir check the pldmd file (make sure verbosity is 0 by default) 2. meson builddir -Dverbosity=1 check the generated pldm_verbosity file (make sure verbosity is 1) 3. Flash the image & check if the pldm is loaded with the right verbosity that is set during compilation. 4. Change the verbosity in the /etc/default/pldm_verbosity file & restart pldmd.service, and check if the daemon picks up the change.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: Ica5607b801143b2806d343e3b82b043f078fcd22
show more ...
|
db12436a | 28-Jan-2021 |
Jayashankar Padath <jayashankar.padath@in.ibm.com> |
oem-ibm: Resource dump support
This commit includes the changes to support resource dump. Input parameters to initiate resource dump are vsp string and the password.
Resource Dump Flow: 1. PLDM wai
oem-ibm: Resource dump support
This commit includes the changes to support resource dump. Input parameters to initiate resource dump are vsp string and the password.
Resource Dump Flow: 1. PLDM waits for the resource dump create signal from dump manager 2. BMC sends the NewfileAvailable command to hypervisor with resource dump paramters Format: <Length of the VSP String><VSP String> <Length of the Password><Password> 3. Hypervisor reads and validates the data and send the File Ack command back to BMC 4. Once completed, BMC receives the NewfileAvailable command from hypervisor with resource dump details 5. User initiates the dump offload 6. BMC receives the write file by type from memory command from hypervisor 7. Once this operation is completed BMC receives the File Ack command from hyperviosr
Tested By: 1. Initiating the resource dump using pldmtool, busctl and redfish 2. Verified that resource dump entry is updated with source id, length, completion time and status. 3. Dump offload is successful with initiating from redfish 4. Verified that new resource dump is generated at hypervisor level 5. Error scenarios tested are like empty vsp string, not supported vsp string etc.
Signed-off-by: Jayashankar Padath <jayashankar.padath@in.ibm.com> Change-Id: Iedcdf3cf16c263a2d1749bb5251f7f6244c327ea
show more ...
|
ae28bc77 | 10-Dec-2020 |
Sridevi Ramesh <sridevra@in.ibm.com> |
Add tracing when the BMC PLDM daemon issues GetPDR to host
After PDR trace enabled
Sending Msg: 80 02 51 18 00 00 00 00 00 00 00 01 ff ff 00 00 Receiving Msg: 00 02 51 00 19 00 00 00 00 00 00 00 05
Add tracing when the BMC PLDM daemon issues GetPDR to host
After PDR trace enabled
Sending Msg: 80 02 51 18 00 00 00 00 00 00 00 01 ff ff 00 00 Receiving Msg: 00 02 51 00 19 00 00 00 00 00 00 00 05 14 00 18 00 00 00 01 14 00 00 0a 00 02 00 40 01 43 00 01 00 01 00 Sending Msg: 80 02 51 19 00 00 00 00 00 00 00 01 ff ff 00 00 Receiving Msg: 00 02 51 00 1a 00 00 00 00 00 00 00 05 14 00 19 00 00 00 01 14 00 00 0a 00 02 00 41 01 43 00 02 00 01 00 Sending Msg: 80 02 51 1a 00 00 00 00 00 00 00 01 ff ff 00 00 Receiving Msg: 00 02 51 00 1b 00 00 00 00 00 00 00 05 14 00 1a 00 00 00 01 14 00 00 0a 00 02 00 c0 20 42 00 01 00 01 00 Sending Msg: 80 02 51 1b 00 00 00 00 00 00 00 01 ff ff 00 00 Receiving Msg: 00 02 51 00 1c 00 00 00 00 00 00 00 05 14 00 1b 00 00 00 01 14 00 00 0a 00 02 00 c2 20 42 00 02 00 01 00
Signed-off-by: Sridevi Ramesh <sridevra@in.ibm.com> Change-Id: I464de3c128054b381dbba6199f2525ed2b327195
show more ...
|
fec5d59b | 21-Jan-2021 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Upstream pldm-hypervisor services under OEM
- The intent behind this commit is to create a folder for all the pldm services(including the oem services) & installs the respective services base
Upstream pldm-hypervisor services under OEM
- The intent behind this commit is to create a folder for all the pldm services(including the oem services) & installs the respective services based on the meson configuration. - This commit would also remove a redundant systemd dependency which was missed in earlier cleanup.
Tested By: 1. meson buiddir -Doem-ibm=enabled/disabled 2. ninja -C builddir 3. ninja install
Post the install step, was able to see the respective systemd unit files in the systemd_unit_dir (lib/systemd/system)
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I4d9e093be25ac7a8a94bcccc9f8c1e7d3de1c68c
show more ...
|
3a0e3b9b | 21-Oct-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
oem ibm: marker LID validation
This commit adds code for writing marker LID from Host and also send a PlatformEventMessage after validation.
This commit also subscribes for the interface added sign
oem ibm: marker LID validation
This commit adds code for writing marker LID from Host and also send a PlatformEventMessage after validation.
This commit also subscribes for the interface added signal to fetch the new image id and sends the relevant sensor event to host
Change-Id: I92476beca18e6dd255f372dd82d6eaeca18e282c Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
3ca29df0 | 27-Sep-2020 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
pldm: inband code update: clear the image LIDs when pldm daemon comes up
Clear the LID_STAGING_DIR path when pldm daemon comes up. This function will also be used during code update process.
Signed
pldm: inband code update: clear the image LIDs when pldm daemon comes up
Clear the LID_STAGING_DIR path when pldm daemon comes up. This function will also be used during code update process.
Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com> Change-Id: I2a757caaa3e204e4089235d9e3baf6d425f5bec5
show more ...
|
bb585b28 | 10-Sep-2020 |
Varsha Kaverappa <vkaverap@in.ibm.com> |
OEM IBM: Platform: event framework to send events to PHYP
This commit consists of APIs that will be used to send code update event change/update PlatformEventMessage to Phyp for different stages of
OEM IBM: Platform: event framework to send events to PHYP
This commit consists of APIs that will be used to send code update event change/update PlatformEventMessage to Phyp for different stages of inband code update progress. The event is a state sensor event.
Signed-off-by: Varsha Kaverappa <vkaverap@in.ibm.com> Change-Id: I9b4b0493dd6886805044011d994df58b31f80a6e
show more ...
|
aea5dde1 | 31-Aug-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
oem ibm: infrastructure for oem handlers
1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands.
2. This commit adds impl
oem ibm: infrastructure for oem handlers
1. This commit adds the framework for an oem handler which can be used by specific oem use-cases for implementing various commands.
2. This commit adds implementation for getStateSensorReadings and setStateEffecterStates commands for oem state sets.
3. Also adds implementation for inband code update.
Change-Id: Ib38a66ee381dd06b93f6a9313d51de1c23e6ee65 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>
show more ...
|
3aec997c | 14-Dec-2020 |
Pavithra Barithaya <pavithra.b@ibm.com> |
Refactor the platform event message handler code
This commit makes slight code change to use some functions both in BMC requester and responder flow.
Tested : Using pldmtool platformEventMessage is
Refactor the platform event message handler code
This commit makes slight code change to use some functions both in BMC requester and responder flow.
Tested : Using pldmtool platformEventMessage is sent and D-Bus property is verified.
Change-Id: Id433f136ad4c7be0d94817deed1d6b60df36b3e4 Signed-off-by: Pavithra Barithaya <pavithra.b@ibm.com>
show more ...
|
0e9407ad | 29-Sep-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Add service dependency with biosconfig-manager
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: If89aa7f3ec5561e4077427f3fe101cd150b1ca27 |
7f839f9d | 20-Sep-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
oem-ibm: Send the event to host when BIOS attribute changes
IBM has the requirement to send a hot update to host when the BIOS attribute changes. This patch enables sending an OEM platform event mes
oem-ibm: Send the event to host when BIOS attribute changes
IBM has the requirement to send a hot update to host when the BIOS attribute changes. This patch enables sending an OEM platform event message to host with the details of the BIOS attributes that changed on the BMC. Once the host acknowledges the event, then BMC updates the BaseBiosTable in the bios-config-manager. The host comes down and reads the changed BIOS attributes by calling the command GetBIOSAttribute value.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: Id1579bfed1967e653da743313c825b765d227681
show more ...
|
23c52047 | 01-Sep-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
pldmd: improve reaction to mctpd socket close
Previous behavior was to just log a "socket has been closed" message, while the pldmd is still running an event loop. We're seeing the journal contain a
pldmd: improve reaction to mctpd socket close
Previous behavior was to just log a "socket has been closed" message, while the pldmd is still running an event loop. We're seeing the journal contain a large number of these sometimes on Tacoma platforms. This is likely a bug (either in pldmd or mctpd), yet to be determined.
Instead of flooding the journal, a better mechanism is to have the pldmd exit the event loop and return with a failure reason code. This will cause systemd to restart pldmd, which provides a chance for recovery.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Iada6ee50808758312690883109f0499a8396e99e
show more ...
|
cae1866f | 14-May-2020 |
George Liu <liuxiwei@inspur.com> |
send PLDM event msg when state sensor changes
Add the D-Bus to event handler interface to listen all of the state sensor PDRs and pldm should be able to send up a PLDM event msg when a D-Bus propert
send PLDM event msg when state sensor changes
Add the D-Bus to event handler interface to listen all of the state sensor PDRs and pldm should be able to send up a PLDM event msg when a D-Bus property changes. the PlatformEventMessage command format is defined in Table 15 in DSP0248 v1.2.0.
Tested: test with JSON https://gist.github.com/lxwinspur/6a40abea7330c25e4d49826e890c4be9 The sendEventMsg method is successfully called and the corresponding message is successfully sent when the D-Bus property value of the sensor status changes. print requestMsg Data: 80 02 0a 01 00 00 01 00 01 00 00 00(when calling sendEventMsg method)
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: I9b6d5c1403bfcaa00dbbf478f7d797cc4a40f20d
show more ...
|
b5c227ea | 13-Jul-2020 |
Deepak Kodihalli <dkodihal@in.ibm.com> |
libpldmresponder: construct BMC PDRs lazily
BMC's PDRs were constructed when the pldm daemon starts up. However, the pldm daemon might rely on other services to start in order to create PDRs. To sol
libpldmresponder: construct BMC PDRs lazily
BMC's PDRs were constructed when the pldm daemon starts up. However, the pldm daemon might rely on other services to start in order to create PDRs. To solve this problem, construct the PDRs when the first GetPDR call comes in. From a practical timing perspective, this ensures the pldm daemon and the services it needs to build PDRs are all up and running.
An alternative would be to add 'After' directives in pldm's service file, however that can get complex when some of the services are not present on all platforms.
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com> Change-Id: Id6ac9fd47b293f7e84e3837432b32b0e3c3f8a5a
show more ...
|
174665f8 | 08-Jul-2020 |
Chicago Duan <duanzhijia01@inspur.com> |
Implement the PLDM.Event interface
This commit implements a DBus interface defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/33552
When the PLDM daemon receives a s
Implement the PLDM.Event interface
This commit implements a DBus interface defined at https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/33552
When the PLDM daemon receives a state sensor EventMessages, it emits the PLDM.Event.StateSensorEvent signal (with TID, sensorID, sensorOffset, eventState, previousEventState as the signal data). https://gerrit.openbmc-project.xyz/c/openbmc/pldm/+/33553
Signed-off-by: Chicago Duan <duanzhijia01@inspur.com> Change-Id: I64f4b08cf754ff4af74f8c6137ff8de41ccf89f7
show more ...
|
36e81352 | 01-Jul-2020 |
George Liu <liuxiwei@inspur.com> |
libpldmresponder: create PDR when the D-Bus object path exists
On a system where this D-Bus object path does not exist, it should not create a PDR when the D-Bus object specified here is not found.
libpldmresponder: create PDR when the D-Bus object path exists
On a system where this D-Bus object path does not exist, it should not create a PDR when the D-Bus object specified here is not found.
Tested: In the PDR config files, the PDR is successfully created when the objectPath of the D-Bus exists, otherwise, skipped the current config and the PDR is not created.
Signed-off-by: George Liu <liuxiwei@inspur.com> Change-Id: Ib59fa79cc28d5712161bfb971c37c86c363bafb0
show more ...
|
c0c6054c | 01-Jul-2020 |
Sampa Misra <sampmisr@in.ibm.com> |
pldmd: fix creation of HostEffecterParser object
Change-Id: If3da922dadcbacbd1e02ce11632c9e19179463e3 Signed-off-by: Sampa Misra <sampmisr@in.ibm.com> |
33e9c7ea | 11-Jun-2020 |
Tom Joseph <tomjoseph@in.ibm.com> |
Build FRU table lazily
The FRU table is created when the PLDM daemon starts and depends on BMC inventory collection to populate it completely. There is no D-Bus signal or target that PLDM daemon can
Build FRU table lazily
The FRU table is created when the PLDM daemon starts and depends on BMC inventory collection to populate it completely. There is no D-Bus signal or target that PLDM daemon can rely on to figure completion of inventory. This can cause some of the inventory to not show up in the FRU table if the inventory collection is not complete when the PLDM daemon starts.
An easy solution to this problem is to do the FRU table creation lazily. The FRU table will be created when the FRU commands or Get PDR command is handled the first time. The entity association PDR's are created when the FRU table is built. So Get PDR commands expects the building of the FRU table as a pre condition.
Tested:
Ensured FRU table is created when the GetFRURecordTableMetadata, GetFRURecordTable and GetPDR command is handled by the PLDM daemon the first time. Next time already built table is returned for the FRU commands.
Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com> Change-Id: I0deb723f30a30a667d0e80c9f9f6aced5ab23a67
show more ...
|