History log of /openbmc/pldm/libpldmresponder/meson.build (Results 26 – 50 of 59)
Revision Date Author Comments
# 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 pri

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 ...


# 5327988e 28-Apr-2021 Tom Joseph <rushtotom@gmail.com>

tests: Organize the test code to make it modular

The unit test code for libpldmresponder, host-bmc and common is
in a shared test directory. This patch separates the test code
to the

tests: Organize the test code to make it modular

The unit test code for libpldmresponder, host-bmc and common is
in a shared test directory. This patch separates the test code
to the respective directory.

Tested: Ran the unit test and tests passed.

Signed-off-by: Tom Joseph <rushtotom@gmail.com>
Change-Id: I31d53681fa6c0d8bc6eb7c4e3341aaff4bc341ee

show more ...


# 3b1dc01d 16-Apr-2021 Patrick Williams <patrick@stwcx.xyz>

build: add wrapfiles for dependencies

Add wrapfiles for all dependencies and update meson.build
files to ensure dependencies are requested in all cases.
This enables out-of-bitbake/o

build: add wrapfiles for dependencies

Add wrapfiles for all dependencies and update meson.build
files to ensure dependencies are requested in all cases.
This enables out-of-bitbake/out-of-sdk builds for this
repository and enables it to be used as a meson subproject.

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I0f2f7eed98f7f7555cafefc2605e1031a7f0adaf

show more ...


# 6f4479c7 16-Apr-2021 Patrick Williams <patrick@stwcx.xyz>

build: rename dependency variable

Per [1], the conventions for dependency variables are to
be named '<project or lib>_dep'. This allows consistency
when using this project as a meso

build: rename dependency variable

Per [1], the conventions for dependency variables are to
be named '<project or lib>_dep'. This allows consistency
when using this project as a meson-subproject elsewhere.

Switch the name from 'libpldm' to 'libpldm_dep'.

1. https://mesonbuild.com/Subprojects.html#naming-convention-for-dependency-variables

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: I98c8e2148610b45755b45029d1d38206bac5b885

show more ...


# d94bb836 17-Feb-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

oem-ibm : Add new filetype & logic for handling Progress Codes

- The intent behind this commit , is to add a new file type
for handling IBM Progress Codes.

- The Progress Code

oem-ibm : Add new filetype & logic for handling Progress Codes

- The intent behind this commit , is to add a new file type
for handling IBM Progress Codes.

- The Progress Codes are typically in bytes(<200 bytes), which
is why the host does an inband write rather than using the DMA.

- Once the Progress Code structure is received, pldm would peek into
the buffer to find out the Primary Code which is typically an 8 byte
Hex number (starts at a standard offset 40).

- Once , we get the Primary Code then we pack it into a structure and
set the dbus property which is hosted by the snoopd daemon.

Tested By :

1. PLDM Tool

./pldmtool raw --data 0x80 0x3F 0xC 0x0A 0x00 0x00 0x00 0x00 0x00 0x07
0x00 0x00 0x00 0x48 0x00 0x00 0x00 0x02 0x00 0x00 0x01 0x00 0x00 0x00
0x48 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
0x00 0x00 0x00 0x00 0x00 0x53 0x54 0x41 0x4e 0x44 0x42 0x59 0x20 0x20
0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20
Request Message:
08 01 80 3f 0c 0a 00 00 00 00 00 07 00 00 00 48 00 00 00 02 00 00 01 00
00 00 48 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 53 54 41 4e 44 42 59 20 20 20 20 20 20
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Progress SRC Structure : 02 00 00 01 00 00 00 48 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
53 54 41 4e 44 42 59 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
20 20 20 20 20 20 20 20
Primary Progress Code in Hex : 5354414e44425920

The Ascii Value of 5354414e44425920 is STANDBY(Host reaching standby)

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: I1c8529070ed0718e7770bae99964445e5b14bd65

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.

Resourc

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 ...


# 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.

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 ...


# 001f7885 04-Jan-2021 Manojkiran Eda <manojkiran.eda@gmail.com>

Remove redundant dependency calls

- In the current state, the build system has too many
dependency calls, because of which meson tries to find
the same dependendency mutiple time

Remove redundant dependency calls

- In the current state, the build system has too many
dependency calls, because of which meson tries to find
the same dependendency mutiple times & prints a trace
on the console.This would have been an ideal solution
when all the subdirectories are subprojects in meson but
in the current context it is not.

- Even though meson uses the cached dependency objects
rather than fetching them every time, it might not
give any added advantage on the performance front.

- But checking for the same dependency mutiple times gives
a false impression to the users & this can be avoided by
re-using the dependency objects across subdirectories.

Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com>
Change-Id: Ic428b2ab1897e4dc4a0024164c07fd416c927da1

show more ...


# ce1c96fb 05-Oct-2020 Ravi Teja <raviteja28031990@gmail.com>

oem-ibm: Modified to write system dump data on unix domain socket.

Currently pldm writes dump data on nbd device.

This commit is to enable dump offload using UNIX socket
On dump

oem-ibm: Modified to write system dump data on unix domain socket.

Currently pldm writes dump data on nbd device.

This commit is to enable dump offload using UNIX socket
On dump offload request, pldm setup a UNIX socket and
write data on socket, webserver connects to this socket
and reads data to offload

Tested By:
1. Offloaded system dump
2. Ran below pldmtool commands for performance test
while offloading system dump, i don't see an delay
pldmtool bios GetBIOSTable -t 1
pldmtool bios GetBIOSTable -t 2

Signed-off-by: Ravi Teja <raviteja28031990@gmail.com>
Change-Id: Iad8863d87c3b04a8dd588f1f0239f65fcb59f38b

show more ...


# 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 platfo

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 ...


# 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

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 ...


# ac19bd68 16-Jun-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

host-bmc: code re-org

Move code specific to Host BMC PLDM communication into its own
directory.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I0a88874bdcc

host-bmc: code re-org

Move code specific to Host BMC PLDM communication into its own
directory.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I0a88874bdccfe6cd71099ff41b8b5c654915316d

show more ...


# d4d97a53 23-Mar-2020 TOM JOSEPH <tomjoseph@in.ibm.com>

pldm_events: Implement support for state sensorEvents

PLDM supports platform event message by which events can be generated
by a PLDM entity and can be processed by event receiver like B

pldm_events: Implement support for state sensorEvents

PLDM supports platform event message by which events can be generated
by a PLDM entity and can be processed by event receiver like BMC. This
patch adds support for remote state sensors which sends PlatformEventMessage
command with sensorEvent type. The sensor is mapped to a D-Bus property
and the eventState is mapped to a D-Bus property value.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Change-Id: I50dea23eccbdf29ad1b4cf2c9ab5700d74c12c68

show more ...


# 8cb6f665 10-Apr-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

event: Handling pldmPDRRepositoryChgEvent

Added a handler to react to the "pldmPDRRepositoryChgEvent" event and
extract the data. If the eventDataFormat is "formatIsPDRHandles" then

event: Handling pldmPDRRepositoryChgEvent

Added a handler to react to the "pldmPDRRepositoryChgEvent" event and
extract the data. If the eventDataFormat is "formatIsPDRHandles" then
the changeRecords are further extracted. If the eventDataOperation is
"recordAdded" then the PDRHandles are extracted from the changeEntry
data and stored in the "pdrRecordHandle" vector.

"decode_pldm_pdr_repository_chg_event_data" function will extract the
eventData and changeRecord from the pldmPDRRepositoryChgEvent class
while the "decode_pldm_pdr_repository_change_record_data" will extract
the changeEntries data from the changeRecord. Unit tests for the above
decode functions have been added.

Extracted PDR handles are used to fetch PDRs corresponding to the same
from the host.

Signed-off-by: Zahed Hossain <zahzahed@in.ibm.com>
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I32e8745e04ac82393e067c0f0ab48802809495a6

show more ...


# d823cc0b 24-Mar-2020 Sampa Misra <sampmisr@in.ibm.com>

pldm oem: implement certificate handler

This commit adds code to handle the ceritificate request and
certificate transfer between the host and bmc following pldm oem
file i/o protoco

pldm oem: implement certificate handler

This commit adds code to handle the ceritificate request and
certificate transfer between the host and bmc following pldm oem
file i/o protocol

Change-Id: I8095e0f5ad8c3c5cc796da1cfbe4bb9946af31cf
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...


# 6080aae7 13-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Use the new APIs in bios table commands

Use new APIs(BIOSConfig) in bios table commands.

The previous code built bios tables after receiving
the GetBIOSTable command. But

bios: Use the new APIs in bios table commands

Use new APIs(BIOSConfig) in bios table commands.

The previous code built bios tables after receiving
the GetBIOSTable command. But A BIOS can send
GetBIOSAttributeCurrentValueByHandle or
SetBIOSAttributeCurrentValue before GetBIOSTable, then
we should build bios tables in those commands.

This change builds bios tables in the command handler's
constructor, which avoids building bios tables in multiple
places.

Tested: Build tables and verify that built tables are as expected
(same as before)

Tested on fp5280g2, with json file
https://gist.github.com/wangzqbj/b24558331cb35d14fca3b555ef03e458

$ pldmtool bios GetBIOSTable -t StringTable
...
...
PLDM StringTable:
BIOSStringHandle : BIOSString
0 : CodeUpdatePolicy
1 : Concurrent
2 : Disruptive
3 : Led
4 : Model
5 : OUTLET
6 : Off
7 : On
8 : str_example3

$ pldmtool bios GetBIOSTable -t AttributeTable
...
...
PLDM AttributeTable:
AttributeHandle: 0, AttributeNameHandle: 4(Model)
AttributeType: BIOSString
StringType: 0x01
MinimumStringLength: 1
MaximumStringLength: 100
DefaultStringLength: 8
DefaultString: FP5280G2
AttributeHandle: 1, AttributeNameHandle: 8(str_example3)
AttributeType: BIOSStringReadOnly
StringType: 0x00
MinimumStringLength: 1
MaximumStringLength: 100
DefaultStringLength: 2
DefaultString: ef
AttributeHandle: 2, AttributeNameHandle: 5(OUTLET)
AttributeType: BIOSInteger
LowerBound: 0
UpperBound: 68002
ScalarIncrement: 1
DefaultValue: 0
AttributeHandle: 3, AttributeNameHandle: 3(Led)
AttributeType: BIOSEnumeration
NumberOfPossibleValues: 2
PossibleValueStringHandle[0] = 7(On)
PossibleValueStringHandle[1] = 6(Off)
NumberOfDefaultValues: 1
DefaultValueStringHandleIndex[0] = 1, StringHandle = 6(Off)
AttributeHandle: 4, AttributeNameHandle: 0(CodeUpdatePolicy)
AttributeType: BIOSEnumerationReadOnly
NumberOfPossibleValues: 2
PossibleValueStringHandle[0] = 1(Concurrent)
PossibleValueStringHandle[1] = 2(Disruptive)
NumberOfDefaultValues: 1
DefaultValueStringHandleIndex[0] = 0, StringHandle = 1(Concurrent)

$ pldmtool bios GetBIOSTable -t AttributeValueTable
...
...
PLDM AttributeValueTable:
AttributeHandle: 0
AttributeType: BIOSString
CurrentStringLength: 12
CurrentString: powersupply0
AttributeHandle: 1
AttributeType: BIOSStringReadOnly
CurrentStringLength: 2
CurrentString: ef
AttributeHandle: 2
AttributeType: BIOSInteger
CurrentValue: 0
AttributeHandle: 3
AttributeType: BIOSEnumeration
NumberOfCurrentValues: 1
CurrentValueStringHandleIndex[0] = 1, StringHandle = 6(Off)
AttributeHandle: 4
AttributeType: BIOSEnumerationReadOnly
NumberOfCurrentValues: 1
CurrentValueStringHandleIndex[0] = 0, StringHandle = 1(Concurrent)

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: Icb698971ccd78023e8532be947f2150ea903ff8d

show more ...


# 3be7085e 13-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Implement BIOSEnumAttribute

Implement BIOSEnumAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for enum att

bios: Implement BIOSEnumAttribute

Implement BIOSEnumAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for enum attribute

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: Ia6230485fd2d6d05f9f2ddb3a80b81f6556aee9f

show more ...


# 95e6b3c1 12-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Implement BIOSIntegerAttribute

Implement BIOSIntegerAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for in

bios: Implement BIOSIntegerAttribute

Implement BIOSIntegerAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for integer attribute

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: I57d5b5dbcb74f9a404f5133426208f4c6851dea2

show more ...


# d965934f 27-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Implement BIOSConfig

Load the parsed json configs into memory.
And provid APIs to get/set on bios tables.

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: Ida

bios: Implement BIOSConfig

Load the parsed json configs into memory.
And provid APIs to get/set on bios tables.

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: Ida1fedc923d31afc61dd2d4aec70d81bb6a90ae9

show more ...


# 29683b53 27-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Implement BIOSStringAttribute

Implement BIOSStringAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for stri

bios: Implement BIOSStringAttribute

Implement BIOSStringAttribute, most of the code is copied from
bios/bios_parser.cpp.

Implement SetAttrValueOnDbus and constructEntry for string attribute

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: Ic7c6b35d32738d698d7649f97cb7843606b8a2ba

show more ...


# e2efdcce 12-Feb-2020 John Wang <wangzqbj@inspur.com>

bios: Implement BIOSAttribute

BIOS tables are built based on json entry. When a bios attribute
is set by pldm, the corresponding dbus backend should be synchronized.

Then, the B

bios: Implement BIOSAttribute

BIOS tables are built based on json entry. When a bios attribute
is set by pldm, the corresponding dbus backend should be synchronized.

Then, the BIOSAttribute class is abstracted, and it provides the following two
interfaces

1. constructEntry: Construct the entry of the attribute/attribute-value table
2. setAttrValueOnDbus: Update the corresponding dbus backend

Specific types of attributes are implemented based on BIOSAttribute. eg
BIOSStringAttribute, BIOSEnumAttribute, BIOSIntegerAttribute.

Once the BIOS Handler is loaded, all attributes would be constructed from json.
We use BIOSConfig(class) to persist all attributes in ram.

BIOSConfig provides the following methods.

- buildTables: Build tables
- removeTables: Remove the persistent tables
- setAttrValue: Set attribute value on dbus and update the bios table
- getBIOSTable: Get bios table by table type

After we implemented BIOSConfig/BIOSSIntegerAttribute/BIOSStringAttribute/BIOSEnumAttribute,
we will use the new interface(BIOSConfig) in BIOS Handler.

It will have the following advantages

1. Different types of attribute implementations are placed in different files, improving readability
2. Logic to operate bios tables is no longer coupled with BIOS Handler.

In addition, added a c++ wrapper for string table. After
completing this refactor, will move the implementation to a common
place. It's useful for pldmtool.

Signed-off-by: John Wang <wangzqbj@inspur.com>
Change-Id: I11e304c470360ca5fde23e4969494bb03de475c0

show more ...


# 18967161 14-Jan-2020 Sampa Misra <sampmisr@in.ibm.com>

implement commands for dump xfer

This commit implements the writeFile command
for dumpHandler in PLDM oem. This is for offloading
the dump from host memory to an external location

implement commands for dump xfer

This commit implements the writeFile command
for dumpHandler in PLDM oem. This is for offloading
the dump from host memory to an external location
via bmc. Also it implements the newfileAvailable
notification handler in libpldmresponder.This caters
to the new dump notification coming from the Host

Change-Id: Ibf7c1facea282ec4f772dfee646cca9f7877bb7d
Signed-off-by: Sampa Misra <sampmisr@in.ibm.com>

show more ...


# c682fe2d 04-Mar-2020 Deepak Kodihalli <dkodihal@in.ibm.com>

More PDR refactor

- PDRs can be created not just by the platform monitoring and control
handlers, but by other handlers (eg FRU) as well.
- For this purpose, create the PDR repo in

More PDR refactor

- PDRs can be created not just by the platform monitoring and control
handlers, but by other handlers (eg FRU) as well.
- For this purpose, create the PDR repo in the pldm daemon, and pass it
to the handlers. This change warranted some refactor.

Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I4e789da9bae99dee1b535d92ce98ae5bb8eed62b
Signed-off-by: George Liu <liuxiwei@inspur.com>

show more ...


# e53193fa 23-Feb-2020 George Liu <liuxiwei@inspur.com>

pldm: Refector PDR repo based on the new PDR APIs

The related APIs for PDR operations is implemented in
pldm/libpldm/pdr.h and pldm/libpldm/pdr.c, we need to use this instead
of pdr:

pldm: Refector PDR repo based on the new PDR APIs

The related APIs for PDR operations is implemented in
pldm/libpldm/pdr.h and pldm/libpldm/pdr.c, we need to use this instead
of pdr::Repo(defined in libpldmresponder/pdr.hpp).
pdr::Repo is now a C++ wrapper around the PDR APIs in libpldm.

Tested with unit tests, with JSON files:
https://gist.github.com/lxwinspur/2c3fd68cdb35e06480c4a5f7890e3a06#file-effecter_pdr-json.

$ pldmtool platform GetPDR -d 0
Encode request successfully
Request Message:
08 01 80 02 51 00 00 00 00 00 00 00 00 01 80 00 00 00
Success in creating the socket : RC = 3
Success in connecting to socket : RC = 0
Success in sending message type as pldm to mctp : RC = 0
Write to socket successful : RC = 18
Total length:18
Loopback response message:
08 01 80 02 51 00 00 00 00 00 00 00 00 01 80 00 00 00
On first recv(),response == request : RC = 0
Total length: 46
Shutdown Socket successful : RC = 0
Response Message:
08 01 00 02 51 00 02 00 00 00 00 00 00 00 01 1d 00 01 00 00 00 01 0b 00 00 13 00 00 00 01 00 21 00 00 00 00 00 00 00 00 00 01 c4 00 01 06
Parsed Response Msg:
nextRecordHandle: 2
responseCount: 29
recordHandle: 1
PDRHeaderVersion: 1
PDRType: 11
recordChangeNumber: 0
dataLength: 19
PLDMTerminusHandle: 0
effecterID: 1
entityType: 33
entityInstanceNumber: 0
containerID: 0
effecterSemanticID: 0
effecterInit: 0
effecterDescriptionPDR: false
compositeEffecterCount: 1
stateSetID: 196
possibleStatesSize: 1
possibleStates: 6

Signed-off-by: George Liu <liuxiwei@inspur.com>
Change-Id: I0c41f888b2e36a5a49968dff190ad8d53255b9ed

show more ...


# 70e8db0c 21-Oct-2019 Deepak Kodihalli <dkodihal@in.ibm.com>

Implement the FRU implementation class

FRU implementation class implements the logic to build the PLDM FRU table
from the inventory D-Bus objects. This class exposes APIs to read the

Implement the FRU implementation class

FRU implementation class implements the logic to build the PLDM FRU table
from the inventory D-Bus objects. This class exposes APIs to read the
FRU table, number of FRU records and the checksum of the table. This will
be consumed by the GetFRURecordTableMetadata command and GetFRURecordTable
command specified in the DMTF specification DSP0257.

Signed-off-by: Tom Joseph <tomjoseph@in.ibm.com>
Signed-off-by: Deepak Kodihalli <dkodihal@in.ibm.com>
Change-Id: I3212f59e7e972dc66f57a507ba87b707281ba0b9

show more ...


123