[AMD Official Use Only - General] Hi Aladyshev, I had updated code according to our discussion on PLDM over MCTP, please take a look at https://github.com/changab/edk2-platforms/tree/MCTP_OVER_KCS_UPDATE and verify it at you end if possible. The PLDM command table is also removed at this version.
Thanks Abner > -----Original Message----- > From: disc...@edk2.groups.io <disc...@edk2.groups.io> On Behalf Of > Chang, Abner via groups.io > Sent: Saturday, October 14, 2023 5:11 PM > To: Konstantin Aladyshev <aladyshe...@gmail.com> > Cc: disc...@edk2.groups.io; devel@edk2.groups.io > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KCS > > [AMD Official Use Only - General] > > Caution: This message originated from an External Source. Use proper caution > when opening attachments, clicking links, or responding. > > > [AMD Official Use Only - General] > > > -----Original Message----- > > From: Konstantin Aladyshev <aladyshe...@gmail.com> > > Sent: Saturday, October 14, 2023 4:26 PM > > To: Chang, Abner <abner.ch...@amd.com> > > Cc: disc...@edk2.groups.io; devel@edk2.groups.io > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KCS > > > > Caution: This message originated from an External Source. Use proper > caution > > when opening attachments, clicking links, or responding. > > > > > > Sorry I got confused a little bit by your answer. > > You were talking about PLDM TIDs (Terminus IDs) and I was asking about > > MCTP EIDs. Don't they like different concepts? Or did you mean that we > > need to have a mapping of TIDs<-->EIDs in PldmProtocolLib? > I just distinguish the ID naming for PLDM and MCTP using the terminologies > defined in spec. For PLDM to MCTP, the values are the same as the SID and EID > are passed to MCTP from PLDM. > > > > > > I reviewed these patches just now, that looks good to me. However this > way > > we don’t have the history in the mailing list. > > If the code looks good to you, I'll try to properly format all our > > patches and send them to the mailing list next week. > Ok, I see. > > > > > BTW, are you an individual contributor or you are the representative of a > > firm? > > As a part of my job I develop UEFI and BMC firmware. But all the > > open-source work that I do I perform on my own free time. So you can > > count me as an individual contributor) > I am asking this because I am looking for an additional reviewer for > ManageabilityPkg as the replacement of Isaac from Intel as he is no longer > works on edk2 stuff. > > Thanks > Abner > > > > > Best regards, > > Konstantin Aladyshev > > > > On Sat, Oct 14, 2023 at 11:06 AM Chang, Abner <abner.ch...@amd.com> > > wrote: > > > > > > [AMD Official Use Only - General] > > > > > > > -----Original Message----- > > > > From: Konstantin Aladyshev <aladyshe...@gmail.com> > > > > Sent: Friday, October 13, 2023 8:16 PM > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > Cc: disc...@edk2.groups.io; devel@edk2.groups.io > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over > > KCS > > > > > > > > Caution: This message originated from an External Source. Use proper > > caution > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > Hi Chang! > > > > > > > > Thanks for the response! > > > > Is it ok that because of 1) we would need to include MCTP > > > > SrcEID/DstEID in each function of the > > PLDM_SMBIOS_TRANSFER_PROTOCOL? > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > platforms/blob/06f6274d56422084281886fad447ab117fd0e487/Features/ > > > > > > > ManageabilityPkg/Universal/PldmSmbiosTransferDxe/PldmSmbiosTransferDx > > > > e.c#L459 > > > > ``` > > > > EDKII_PLDM_SMBIOS_TRANSFER_PROTOCOL_V1_0 > > > > mPldmSmbiosTransferProtocolV10 = { > > > > GetSmbiosStructureTableMetaData, > > > > SetSmbiosStructureTableMetaData, > > > > GetSmbiosStructureTable, > > > > SetSmbiosStructureTable, > > > > GetSmbiosStructureByType, > > > > GetSmbiosStructureByHandle > > > > }; > > > > ``` > > > For the PLDM_SMBIOS_TRANSFER_PROTOCOL, we can add a API in > > EDKII_PLDM_SMBIOS_TRANSFER_PROTOCOL_V1_0 for setting the PLDM > > terminus. As adding Terminus STID and DTID seems a burden to this > protocol. > > > So, we can do this, > > > > > > Define SetPldmTerminus (UINT8 SourceTid, UINT8 DestinationTid) API and > > put it in the first member of > > EDKII_PLDM_SMBIOS_TRANSFER_PROTOCOL_V1_0. > > > Define PldmSetTerminus in PldmProtocolLib and invoked by > > SetPldmTerminus API, this way each PLDM application driver (e.g., SMBIOS) > > has its own PLDM terminus ID in the PldmProtocolLib instance. We still > define > > PCDs for these two PLDM ID which is similar to MCTP protocol. Use PCD > > instead in case SourceTid and DestinationTid had never been set in > > PldmProtocolLib. > > > > > > EDKII_PLDM_SMBIOS_TRANSFER_PROTOCOL_V1_0 = > > > mPldmSmbiosTransferProtocolV10 = { > > > SetPldmTerminus, > > > GetSmbiosStructureTableMetaData, > > > SetSmbiosStructureTableMetaData, > > > GetSmbiosStructureTable, > > > SetSmbiosStructureTable, > > > GetSmbiosStructureByType, > > > GetSmbiosStructureByHandle > > > }; > > > > > > > > > > > I've also send you pull requests with my changes to the > > > > edk2/edk2-platforms repos: > > > > https://github.com/changab/edk2/pull/1 > > > > https://github.com/changab/edk2-platforms/pull/6 > > > > > > > > If you don't mind I would send patches in this fashion before posting > > > > them to the mailing list. So you can review them and provide feedback. > > > I reviewed these patches just now, that looks good to me. However this > way > > we don’t have the history in mailing list. > > > > > > > > > > > Also I wanted to ask if you plan to work on the required changes > > > > yourself, or am I on my own from here?) > > > That would be good if you can help, that is also fine for me to update the > > code, however it would be later next week as I have to work on some tasks. > > > > > > BTW, are you an individual contributor or you are the representative of a > > firm? > > > > > > Thanks > > > Abner > > > > > > > > Best regards, > > > > Konstantin Aladyshev > > > > > > > > On Wed, Oct 11, 2023 at 8:58 AM Chang, Abner > > <abner.ch...@amd.com> > > > > wrote: > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > Hi Aladyshev, > > > > > Here is my response, > > > > > > > > > > 1. Shouldn't we update the PLDM protocol's 'PldmSubmit' function to > > > > receive 'MctpSrcEID'/'MctpDestEID'. > > > > > Yes, I see the use case of EFI shell application. I would like to > > > > > have the > > input > > > > parameters similar with MctpSubmitCommand. Use pointers for the > given > > > > SEID and DEID, adopt the fix PCD value of the pointer is NULL. > > > > > > > > > > 2. The 'PldmProtocolCommon' code contains array ofexpected > response > > > > sizes. > > > > > The idea is as an high level PLDM driver, such as SMBIOS, it doesn't > > > > > have > > to > > > > handle the full size of PLDM message. It should only care about the > > response > > > > data belong to it. That's why I added the array to define the PLDM > > response > > > > size for any PLDM spec. > > > > > As the PLDM message and PLDM complete code is in a fixe size. I think > we > > > > can remove the array and just adjust the response size in PLDM Protocol > > > > driver. > > > > > > > > > > 3. The 'AdditionalTransferError' is designed to accommodate error > codes > > for > > > > the specific transport or protocol. We don’t have much implementation > of > > > > 'AdditionalTransferError' as the entire Manageability needs more > practices > > to > > > > make it more mature. > > > > > I suggest we can categorize 'AdditionalTransferError' using the most > > > > significant byte, for example > > > > > 0x00 - Common additional transfer error. > > > > > 0x80 - KCS transport error > > > > > 0x81 - MCTP > > > > > ... > > > > > 0xC0 - IPMI protocol error > > > > > 0xC1 - PLDM protocol error > > > > > ... > > > > > > > > > > How do you think? > > > > > Thanks > > > > > Abner > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > From: Konstantin Aladyshev <aladyshe...@gmail.com> > > > > > > Sent: Thursday, October 5, 2023 11:18 PM > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > Cc: disc...@edk2.groups.io; devel@edk2.groups.io > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP > > over > > > > KCS > > > > > > > > > > > > Caution: This message originated from an External Source. Use proper > > > > caution > > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > > > Sorry for many messages today, but I have one more observation. > > > > > > > > > > > > I think the MCTP code should set specific 'AdditionalTransferError' > > > > > > for the caller when it fails on each of the response header checks: > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > c#L464 > > > > > > > > > > > > But I'm not sure how 'AdditionalTransferError' can be utilized for > > > > > > this. Right now the errors are generic for the IPMI/MCTP protocols > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > ManageabilityPkg/Include/Library/ManageabilityTransportLib.h#L63 > > > > > > Maybe it would be good to reserve some bits for the protocol > > > > > > specific > > > > > > errors? What do you think? > > > > > > > > > > > > Also I don't see anything like 'AdditionalTransferError' in the PLDM > > > > > > protocol code. Shouldn't it also support reporting additional error > > > > > > information to the user? > > > > > > > > > > > > I've also created PRs for your edk2/edk2-platforms forks with some > > > > > > things that I've found today. > > > > > > https://github.com/changab/edk2/pull/1 > > > > > > https://github.com/changab/edk2-platforms/pull/6 > > > > > > > > > > > > Best regards, > > > > > > Konstantin Aladyshev > > > > > > > > > > > > On Thu, Oct 5, 2023 at 3:31 PM Konstantin Aladyshev > > > > > > <aladyshe...@gmail.com> wrote: > > > > > > > > > > > > > > I was thinking more about it and I think the right solution would > > > > > > > be > > > > > > > to move these checks to the > > > > EDKII_PLDM_SMBIOS_TRANSFER_PROTOCOL > > > > > > code > > > > > > > (i.e. https://github.com/changab/edk2- > > > > > > > > > > > > > platforms/blob/MCTP_OVER_KCS_UPDATE/Features/ManageabilityPkg/Univ > > > > > > ersal/PldmSmbiosTransferDxe/PldmSmbiosTransferDxe.c) > > > > > > > > > > > > > > Because only the PldmSmbios protocol code should know such > > > > information > > > > > > > as expected response sizes for its commands. > > > > > > > > > > > > > > Best regards, > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > On Thu, Oct 5, 2023 at 3:19 PM Konstantin Aladyshev > > > > > > > <aladyshe...@gmail.com> wrote: > > > > > > > > > > > > > > > > Also I see that the 'PldmProtocolCommon' code contains array of > > > > > > > > expected response sizes for every supported PLDM command: > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > c#L24 > > > > > > > > > > > > > > > > I'm not sure that we should have this, since we don't need to > know > > the > > > > > > > > MCTP response size apriori. > > > > > > > > This only limits allowed PLDM commands to the supported array: > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > c#L261 > > > > > > > > > > > > > > > > This means that right now I can't execute my simple > 'GetPLDMTypes' > > > > > > > > command through the 'PldmSubmit' protocol function. > > > > > > > > > > > > > > > > Best regards, > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > On Thu, Oct 5, 2023 at 12:55 PM Konstantin Aladyshev > > > > > > > > <aladyshe...@gmail.com> wrote: > > > > > > > > > > > > > > > > > > Shouldn't we update the PLDM protocol's 'PldmSubmit' function > > to > > > > > > > > > receive 'MctpSrcEID'/'MctpDestEID' as incoming parameters? Or > > > > maybe > > > > > > > > > add some 'PldmInit' function to set those parameters for > > > > > > > > > further > > > > PLDM > > > > > > > > > communication? > > > > > > > > > Because right now the MCTP EIDs are fixed to PCDs with no > > flexibility > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > platforms/blob/d6e36a151ff8365cdc55a6914cc5e6138d5788dc/Features/ > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > c#L121 > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > On Thu, Oct 5, 2023 at 7:03 AM Chang, Abner > > > > > > <abner.ch...@amd.com> wrote: > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > From: disc...@edk2.groups.io <disc...@edk2.groups.io> > On > > > > Behalf > > > > > > Of > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > Sent: Thursday, October 5, 2023 1:57 AM > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > Cc: devel@edk2.groups.io; disc...@edk2.groups.io > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via > > > > MCTP > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External Source. > Use > > > > proper > > > > > > caution > > > > > > > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised there are some build > > > > > > > > > > > > errors > at > > > > your > > > > > > end. > > > > > > > > > > > > > > > > > > > > > > I'm surprised your compiler didn't catch that since it is > > > > > > > > > > > all basic > > > > > > > > > > > syntax errors. > > > > > > > > > > > I've used your https://github.com/changab/edk2- > > > > > > > > > > > platforms/tree/MCTP_OVER_KCS_UPDATE > > > > > > > > > > > directly. > > > > > > > > > > > > > > > > > > > > Ah I know why, I forget to rebuild the changes of both PEC > > > > > > > > > > and > > > > MCTP > > > > > > EID after I verifying the functionality of IPMI on the new > > KbcCommonLib.c. > > > > > > Yes, I do see the build error now and was fixed at my end. My fault. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > How do you think we just send it to the mailing list for > review > > > > and > > > > > > keep > > > > > > > > > > > working on other problems based on it.? > > > > > > > > > > > > Could you please send the patches out, with you as the > > author > > > > and > > > > > > I'm the > > > > > > > > > > > coauthor? I will review it again on dev mailing list. > > > > > > > > > > > > > > > > > > > > > > No problem, I can send a patch to the 'edk2-devel' mailing > list. > > > > > > > > > > > But before that I think I'll write a test app to check if > > > > > > > > > > > PLDM > > > > > > > > > > > protocols work correctly. > > > > > > > > > > Ok. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also earlier I've pointed to a fact that > > > > > > > > > > > 'MctpSourceEndpointId' > > and > > > > > > > > > > > 'MctpDestinationEndpointId' aren't actually used in the > > > > > > > > > > > 'MctpSubmitMessage' function. > > > > > > > > > > > EIDs are always taken from the PCDs: > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/1c8d0d3fa403b47a34667f7f690add7822163111/Features/ > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > > > > > > c#L178 > > > > > > > > > > > What can we do about that? > > > > > > > > > > Ah yes, we should update the algorithm, it is done here: > > > > > > https://github.com/changab/edk2- > > > > > > platforms/tree/MCTP_OVER_KCS_UPDATE. You have to update your > > code > > > > > > here: > > > > > > > > > > > > > https://github.com/Kostr/PLDM/blob/master/PldmMessage/PldmMessage.c > > > > > > > > > > And we also need the fix the typo on edk2, > > > > > > https://github.com/changab/edk2/tree/MCTP_OVER_KCS_UPDATE > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Btw, how long do you think I would take to merge your > > changes > > > > on > > > > > > > > > > > openBMC? > > > > > > > > > > > > > > > > > > > > > > So as I've described in the > > > > > > https://github.com/Kostr/PLDM/tree/master > > > > > > > > > > > there are basically 2 approaches for the MCTP stack in > > OpenBMC: > > > > > > > > > > > (1) userspace approach (legacy, shouldn't be really used > > > > > > > > > > > now) > > > > > > > > > > > (2) kernel approach > > > > > > > > > > > > > > > > > > > > > > It is hard to tell if OpenBMC patches for the (1) > > > > > > > > > > > approach will > be > > > > > > > > > > > merged. Since I've developed the Linux kernel driver (2) > nobody > > > > really > > > > > > > > > > > cares about (1). > > > > > > > > > > > > > > > > > > > > > > For the (2) there are a couple of OpenBMC patches which > > > > > > > > > > > I've > > > > helped > > > > > > to > > > > > > > > > > > develop, but I'm just a coathor in them. So it is hard > > > > > > > > > > > for me to > > tell > > > > > > > > > > > when they would be merged. For me it looks like they are > > mostly > > > > > > ready: > > > > > > > > > > > 66591: transport: af-mctp: Add > > pldm_transport_af_mctp_bind() | > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/libpldm/+/66591 > > > > > > > > > > > 63652: pldm: Convert to using libpldm transport APIs | > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 > > > > > > > > > > > > > > > > > > > > > > For the (2) I also need to push the mctp Linux kernel > > > > > > > > > > > driver > > > > upstream. > > > > > > > > > > > Linux kernel development is not what I do every day, so > > > > > > > > > > > I'm > not > > > > sure > > > > > > > > > > > how long it would take. But I'm pretty determined to > > > > > > > > > > > finish > the > > > > work > > > > > > > > > > > and push my driver upstream. Currently there are some > > questions > > > > > > > > > > > regarding Linux KCS subsystem, so along with the KCS > > subsystem > > > > > > creator > > > > > > > > > > > we have to figure out how to rewrite the subsystem > > > > > > > > > > > correctly. > > So > > > > this > > > > > > > > > > > can take some time. > > > > > > > > > > > After the code is pushed to the torvalds/linux, it would > > > > > > > > > > > be > > picked > > > > up > > > > > > > > > > > by the openbmc/linux automatically. > > > > > > > > > > Ok, I got it. Thanks for the detailed information. > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 4, 2023 at 7:12 PM Chang, Abner > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised there are some build > > > > > > > > > > > > errors > at > > > > your > > > > > > end. > > > > > > > > > > > > How do you think we just send it to the mailing list for > review > > > > and > > > > > > keep > > > > > > > > > > > working on other problems based on it.? > > > > > > > > > > > > Could you please send the patches out, with you as the > > author > > > > and > > > > > > I'm the > > > > > > > > > > > coauthor? I will review it again on dev mailing list. > > > > > > > > > > > > > > > > > > > > > > > > I will take a look on kernal change. Btw, how long do > > > > > > > > > > > > you > think > > I > > > > > > would take > > > > > > > > > > > to merge your changes on openBMC? > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > Get Outlook for Android > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > > > > > From: Konstantin Aladyshev <aladyshe...@gmail.com> > > > > > > > > > > > > Sent: Wednesday, October 4, 2023 11:59:16 PM > > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > > Cc: devel@edk2.groups.io <devel@edk2.groups.io>; > > > > > > > > > > > disc...@edk2.groups.io <disc...@edk2.groups.io> > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages > via > > > > MCTP > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External > > > > > > > > > > > > Source. > > Use > > > > > > proper > > > > > > > > > > > caution when opening attachments, clicking links, or > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Chang! > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > There were a couple of trivial compilation errors, but > > > > > > > > > > > > after > I've > > > > > > > > > > > > fixed them everything seems to work fine! > > > > > > > > > > > > Just in case I've tested the OpenBMC side with the mctp > Linux > > > > kernel > > > > > > > > > > > > driver approach > > > > > > > > > > > > (https://github.com/Kostr/PLDM/tree/master/mctp- > kernel) > > > > > > > > > > > > The latest kernel patches can be found here: > > > > > > > > > > > > https://lore.kernel.org/lkml/20231003131505.337-1- > > > > > > > > > > > aladyshe...@gmail.com/ > > > > > > > > > > > > > > > > > > > > > > > > Here is a fix for the build errors that I've found: > > > > > > > > > > > > ``` > > > > > > > > > > > > diff --git > > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtoc > > > > > > > > > > > olCommon.c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProto > > > > > > > > > > > colCommon.c > > > > > > > > > > > > index 79501d27aa..345c6da81a 100644 > > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtoc > > > > > > > > > > > olCommon.c > > > > > > > > > > > > +++ > > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProto > > > > > > > > > > > colCommon.c > > > > > > > > > > > > @@ -193,7 +193,7 @@ SetupMctpRequestTransportPacket > ( > > > > > > > > > > > > > > > > > > > > > > > > // > > > > > > > > > > > > // Generate PEC follow SMBUS 2.0 specification. > > > > > > > > > > > > - *MctpKcsTrailer->Pec = > HelperManageabilityGenerateCrc8 > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0, ThisPackage, > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > + MctpKcsTrailer->Pec = > > > > > > > > > > > > HelperManageabilityGenerateCrc8 > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0, ThisPackage, > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > *PacketBody = (UINT8 *)ThisPackage; > > > > > > > > > > > > *PacketBodySize = MctpKcsHeader->ByteCount; > > > > > > > > > > > > *PacketTrailer = > > > > > > > > > > > (MANAGEABILITY_TRANSPORT_TRAILER)MctpKcsTrailer; > > > > > > > > > > > > diff --git > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocol.c > > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocol.c > > > > > > > > > > > > index 863b8d471c..247d032b9b 100644 > > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocol.c > > > > > > > > > > > > +++ > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocol.c > > > > > > > > > > > > @@ -79,17 +79,17 @@ MctpSubmitMessage ( > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > // > > > > > > > > > > > > - // Chec source EID and destination EDI. > > > > > > > > > > > > + // Check source EID and destination EID > > > > > > > > > > > > // > > > > > > > > > > > > if ((MctpSourceEndpointId >= > > > > > > MCTP_RESERVED_ENDPOINT_START_ID) && > > > > > > > > > > > > - MctpSourceEndpointId <= > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > + (MctpSourceEndpointId <= > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > ) { > > > > > > > > > > > > DEBUG ((DEBUG_ERROR, "%a: The value of MCTP source > > EID > > > > (%x) > > > > > > is > > > > > > > > > > > > reserved.\n", func, MctpSourceEndpointId)); > > > > > > > > > > > > return EFI_INVALID_PARAMETER; > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > if ((MctpDestinationEndpointId >= > > > > > > > > > > > MCTP_RESERVED_ENDPOINT_START_ID) && > > > > > > > > > > > > - MctpDestinationEndpointId <= > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > + (MctpDestinationEndpointId <= > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > ) { > > > > > > > > > > > > DEBUG ((DEBUG_ERROR, "%a: The value of MCTP > > destination > > > > EID > > > > > > (%x) > > > > > > > > > > > > is reserved.\n", func, MctpDestinationEndpointId)); > > > > > > > > > > > > return EFI_INVALID_PARAMETER; > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 4, 2023 at 2:52 PM Chang, Abner > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > I have updated the change you made and put those code > on > > > > below > > > > > > link, > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > platforms/commit/1c8d0d3fa403b47a34667f7f690add7822163111 > > > > > > > > > > > > > > > > > > > > > > > > > > I combined MCTP over KCS changes and IPMI over KCS > > > > > > functionality in > > > > > > > > > > > KcsCommonLib.c. I also created > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER as you > > > > > > > > > > > suggested. The source EID and destination EID are checked > > > > > > > > > > > in > > > > > > > > > > > MctpSubmitCommand as well. IPMI/KCS functionality is > > verified > > > > and > > > > > > works > > > > > > > > > > > fine after this change. > > > > > > > > > > > > > As I am no able to use the corresponding change you > made > > on > > > > > > OpenBMC > > > > > > > > > > > site at my end, could you please help to verify my > > > > > > > > > > > updates on > > your > > > > > > machine? > > > > > > > > > > > Let's see how it works. > > > > > > > > > > > > > I also consider to migrate the code that generates > > > > > > > > > > > > > MCTP > > over > > > > KCS > > > > > > > > > > > header/trailer from MctpProtocolCommon.c to > > KcsCommonLib.c, > > > > > > maybe after > > > > > > > > > > > we verifying PLDM->MCTP->KCS route works well on > > > > > > ManageabilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > From: Konstantin Aladyshev <aladyshe...@gmail.com> > > > > > > > > > > > > > > Sent: Friday, September 29, 2023 2:18 AM > > > > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; disc...@edk2.groups.io > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM > messages > > via > > > > > > MCTP over > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External > Source. > > > > Use > > > > > > proper > > > > > > > > > > > caution > > > > > > > > > > > > > > when opening attachments, clicking links, or > > > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > Did you have time to test libmctp MCTP KCS binding > > solution? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here are some updates from my end. As I was saying, > > > > > > > > > > > > > > I > > was > > > > > > working on > > > > > > > > > > > > > > the Linux kernel binding solution. > > > > > > > > > > > > > > And now I've finished the initial implementation of > > > > > > > > > > > > > > the > > Linux > > > > > > kernel > > > > > > > > > > > > > > binding driver for the MCTP-over-KCS binding and > > proposed > > > > all > > > > > > the > > > > > > > > > > > > > > patches upstream > > > > > > > > > > > > > > > > (https://www.spinics.net/lists/kernel/msg4949173.html). > > > > > > > > > > > > > > I've also updated instructions in my repo > > > > > > > > > > > > > > https://github.com/Kostr/PLDM (the guide for the > kernel > > > > > > binding > > > > > > > > > > > > > > solution and all the necessary Linux kernel patches > > > > > > > > > > > > > > can > be > > > > found > > > > > > here > > > > > > > > > > > > > > https://github.com/Kostr/PLDM/tree/master/mctp- > > kernel). > > > > > > > > > > > > > > So now you can use Linux driver instead of the > > > > > > > > > > > > > > libmctp > > utility > > > > on > > > > > > the BMC > > > > > > > > > > > side. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Couple of things that I've noticed in the > > > > > > > > > > > > > > development > > > > process: > > > > > > > > > > > > > > - `MctpSubmitCommand` receives > > > > > > > > > > > > > > 'MctpSourceEndpointId'/'MctpDestinationEndpointId' > as > > > > > > arguments. But > > > > > > > > > > > > > > these values aren't actually used. The current code > > > > > > > > > > > > > > just > > uses > > > > EIDs > > > > > > > > > > > > > > that were set via PCDs > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/d03a60523a6086d200d3eb1e2f25530bf1cb790e/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > > > > > > > > > c#L178) > > > > > > > > > > > > > > - According to the specification DSP0236 (section > > > > > > > > > > > > > > 8.2) > > MCTP > > > > EID > > > > > > 0 to 7 > > > > > > > > > > > > > > are reserved. It is critical that we do not use > > > > > > > > > > > > > > them since > > MCTP > > > > > > Linux > > > > > > > > > > > > > > kernel subsystem checks that part. So we probably > > > > > > > > > > > > > > need > > to > > > > add > > > > > > some > > > > > > > > > > > > > > check to the `MctpSubmitCommand` that would verify > > that > > > > we > > > > > > don't use > > > > > > > > > > > > > > reserved EIDs. > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Sep 21, 2023 at 5:32 AM Chang, Abner > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > Thanks for providing the details, I will take a > > > > > > > > > > > > > > > look at > your > > > > code > > > > > > first, > > > > > > > > > > > > > > implement it at my end and then response to your > > question. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > <aladyshe...@gmail.com> > > > > > > > > > > > > > > > > Sent: Friday, September 8, 2023 8:57 PM > > > > > > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; disc...@edk2.groups.io > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM > > messages > > > > via > > > > > > MCTP > > > > > > > > > > > over > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an > > > > > > > > > > > > > > > > External > > Source. > > > > > > Use proper > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > when opening attachments, clicking links, or > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've finished my initial implementation of the > > > > > > > > > > > > > > > > MCTP > > over > > > > KCS > > > > > > binding. > > > > > > > > > > > > > > > > You can find 'edk2-platform' patches and > > > > > > > > > > > > > > > > 'openbmc' > > > > patches > > > > > > along > > > > > > > > > > > with > > > > > > > > > > > > > > > > all of the instructions in my repository > > > > > > > > > > > > > > > > https://github.com/Kostr/PLDM. I hope you'll be > able > > to > > > > > > reproduce > > > > > > > > > > > > > > > > everything on your hardware configuration. Feel > > > > > > > > > > > > > > > > free > > to > > > > ask > > > > > > any > > > > > > > > > > > > > > > > questions. > > > > > > > > > > > > > > > > Also I've sent all the openbmc patches upstream, > hope > > > > they > > > > > > will get > > > > > > > > > > > > > > > > accepted soon. > > > > > > > > > > > > > > > > As for the 'edk2-platform' patches, right now I > > > > > > > > > > > > > > > > don't > > fully > > > > > > understand > > > > > > > > > > > > > > > > how to write them correctly to keep IPMI over > > > > > > > > > > > > > > > > KCS > > stack > > > > > > working. I > > > > > > > > > > > > > > > > think here I would need your help. Right now > > > > > > > > > > > > > > > > I've > > > > commited > > > > > > them to > > > > > > > > > > > my > > > > > > > > > > > > > > > > `edk2-platforms` fork > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > platforms/commit/99a6c98a63b37f955c0d0480149b84fcc3a03f74 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Couple of questions/notices: > > > > > > > > > > > > > > > > 1) You've said that we can differentiate MCTP > > > > > > > > > > > > > > > > by the > > > > transfer > > > > > > token, > > > > > > > > > > > > > > > > but it is not passed to the > > 'KcsTransportSendCommand' > > > > > > function > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/bb6841e3fd1c60b3f8510b4fc0a380784e05d326/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > on.c#L414 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) What function should know about the > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER? > > > > > > > > > > > > > > > > Keep in mind that this header includes > > > > > > > > > > > > > > > > 'ByteCount' > for > > the > > > > > > incoming > > > > > > > > > > > > > > > > data size that we need to read. > > > > > > > > > > > > > > > > - KcsTransportSendCommand or > > > > > > CommonMctpSubmitMessage ? > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTra > > > > > > > > > > > > > > > > nsportKcsLib/Common/KcsCommon.c) > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/MctpProtocol/ > > > > > > > > > > > > > > > > Common/MctpProtocolCommon.c)? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) As I've said earlier I think it would be > > > > > > > > > > > > > > > > good to add > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER to the Mctp.h > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) Not sure if it is a good idea to pass these > parameters > > to > > > > the > > > > > > > > > > > > > > > > MctpSubmitCommand protocol function: > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > UINT8 MctpType, > > > > > > > > > > > > > > > > BOOLEAN RequestDataIntegrityCheck, > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Include/Protocol/MctpPr > > > > > > > > > > > > > > > > otocol.h) > > > > > > > > > > > > > > > > Shouldn't it be in the `RequestData` directly > > > > > > > > > > > > > > > > since it is > > more > > > > of > > > > > > a > > > > > > > > > > > > > > > > payload than a header for the MCTP? I don't know > the > > > > > > specification > > > > > > > > > > > > > > > > very well, but what if the > > > > > > > > > > > > > > > > RequestDataIntegrityCheck > > > > would > > > > > > be set in > > > > > > > > > > > > > > > > the response? Who would need to check the > > > > > > > > > > > > > > > > integrity > > of > > > > the > > > > > > payload > > > > > > > > > > > > > > > > buffer in that case? MCTP library or the code > > > > > > > > > > > > > > > > calling > the > > > > MCTP > > > > > > > > > > > > > > > > library? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) Haven't tested the PldmProtocol, maybe it > > > > > > > > > > > > > > > > also > > needs > > > > > > some > > > > > > > > > > > corrections. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Feel free to ask any questions about my > > > > > > > > > > > > > > > > solution. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Right now I'll probably focus on the Linux > > > > > > > > > > > > > > > > kernel > driver > > for > > > > the > > > > > > MCTP > > > > > > > > > > > > > > > > over KCS binding. So if you want to finish edk2- > > platforms > > > > > > code based > > > > > > > > > > > > > > > > on my patches, feel free to do it. If not, I'll > > > > > > > > > > > > > > > > try to get > > back > > > > to it > > > > > > > > > > > > > > > > after I finish the Linux kernel driver. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, Sep 1, 2023 at 8:58 AM Chang, Abner > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > See my answer below, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > From: devel@edk2.groups.io > > <devel@edk2.groups.io> > > > > On > > > > > > Behalf > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > > > > > > > > Sent: Friday, September 1, 2023 12:02 AM > > > > > > > > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; > > disc...@edk2.groups.io > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] > > > > > > > > > > > > > > > > > > PLDM > > > > messages > > > > > > via > > > > > > > > > > > MCTP > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an > > > > > > > > > > > > > > > > > > External > > > > Source. > > > > > > Use > > > > > > > > > > > proper > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > when opening attachments, clicking links, or > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As I've said there is nothing like "KCS > > > > > > > > > > > > > > > > > > completion > > code" > > > > in > > > > > > the > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > over KCS binding specification > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1 > > > > > > > > > > > > > > > > > > .0.0.pdf). > > > > > > > > > > > > > > > > > > The response packet should have the same > > structure as > > > > a > > > > > > request. > > > > > > > > > > > I.e. > > > > > > > > > > > > > > > > > > a packet with > > MANAGEABILITY_MCTP_KCS_HEADER > > > > and > > > > > > PEC. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Currently I'm writing "MCTP over KCS" > > > > > > > > > > > > > > > > > > binding for > > the > > > > > > OpenBMC > > > > > > > > > > > > > > libmctp > > > > > > > > > > > > > > > > > > project. So I can send whatever I want, I > > > > > > > > > > > > > > > > > > don't > think > > > > my > > > > > > output > > > > > > > > > > > would > > > > > > > > > > > > > > > > > > be any useful to you. But I've asked this > > > > > > > > > > > > > > > > > > question > in > > the > > > > > > > > > > > community > > > > > > > > > > > > > > > > > > and they also confirmed that the response > > > > > > > > > > > > > > > > > > packet > > has > > > > the > > > > > > same > > > > > > > > > > > > > > > > > > structure. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://discord.com/channels/775381525260664832/7787906385638850 > > > > > > > > > > > > > > > > > > 86/1146782595334549554) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Now I'm a little bit confused about the > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > > > function. It has the following arguments > > > > > > > > > > > > > > > > > > for the > > > > function > > > > > > output: > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > OUT UINT8 > > > > > > > > > > > > > > > > > > *ResponseData > > > > OPTIONAL, > > > > > > > > > > > > > > > > > > IN OUT UINT32 > *ResponseDataSize > > > > > > OPTIONAL > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > Should we include > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > this > > > > > > > > > > > > > > > > > > output or not? > > > > > > > > > > > > > > > > > If the MCTP KCS packet for host->BMC and BMC- > > >host > > > > are > > > > > > in the > > > > > > > > > > > same > > > > > > > > > > > > > > > > structure, then yes, the response data from BMC > > should > > > > > > includes > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER > > > > in > > > > > > my > > > > > > > > > > > opinion, as > > > > > > > > > > > > > > this > > > > > > > > > > > > > > > > is defined in MCTP base protocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > So let me explain the implementation for MCTP > over > > KCS > > > > > > and what > > > > > > > > > > > do we > > > > > > > > > > > > > > > > miss now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > A. MCTP protocol driver linked with KCS > > > > > > > > > > > > > > > > > Transport > > > > interface > > > > > > library > > > > > > > > > > > > > > > > > - In MCTP protocol driver, if the transport > interface > > is > > > > KCS > > > > > > then > > > > > > > > > > > > > > > > > 1. MCTP protocol driver builds up the > > > > > > > > > > > > > > > > > MCTP KCS > > > > > > transport > > > > > > > > > > > header, > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > is DefBody, NetFunc and ByeCount > > > > > > > > > > > > > > > > > 2. MCTP protocol driver builds up the > > > > > > > > > > > > > > > > > MCTP > > payload > > > > > > > > > > > > > > > > > 3. MCTP protocol driver builds up the > > > > > > > > > > > > > > > > > MCTP KCS > > > > > > transport trailer, > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > is PEC. > > > > > > > > > > > > > > > > > Above three steps are already > > > > > > > > > > > > > > > > > implemented. > > > > > > > > > > > > > > > > > PEC is calculated by MCTP protocol > > > > > > > > > > > > > > > > > driver and > > should > > > > be > > > > > > verified > > > > > > > > > > > by > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > using the same algorithm in my understanding of > spec. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > B. In KCS Transport interface library > > > > > > > > > > > > > > > > > 1. KCS Transport interface library > > > > > > > > > > > > > > > > > sends the > > transport > > > > > > header got > > > > > > > > > > > from > > > > > > > > > > > > > > > > TransportToken. Same behavior for IPMI protocol, > but > > > > > > different > > > > > > > > > > > content. > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > Transport interface library doesn't have to > understand > > > > this. > > > > > > > > > > > > > > > > > 2. KCS Transport interface library > > > > > > > > > > > > > > > > > sends the > > payload > > > > > > > > > > > > > > > > > 3. KCS Transport interface library > > > > > > > > > > > > > > > > > sends the > > transport > > > > > > trailer got > > > > > > > > > > > from > > > > > > > > > > > > > > > > TransportToken. Same behavior for IPMI protocol, > but > > > > > > different > > > > > > > > > > > content. > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > Transport interface library doesn't have to > understand > > > > this. > > > > > > > > > > > > > > > > > Above three steps are already > > > > > > > > > > > > > > > > > implemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Then, if Manageability protocol is > > > > > > > > > > > > > > > > > MCTP, we skip > > > > reading > > > > > > > > > > > responses > > > > > > > > > > > > > > > > header (Not implemented) > > > > > > > > > > > > > > > > > For reading response data > > > > > > > > > > > > > > > > > 1. If the ResponseData and > > > > > > > > > > > > > > > > > ResponseSize is > valid > > in > > > > the > > > > > > given > > > > > > > > > > > > > > > > TransportToken, then we read ResponseSize data > from > > > > KCS. > > > > > > (Already > > > > > > > > > > > > > > > > implemented) > > > > > > > > > > > > > > > > > 2. if Manageability protocol is > > > > > > > > > > > > > > > > > MCTP, then we > > skip > > > > > > reading > > > > > > > > > > > responses > > > > > > > > > > > > > > > > header again (Not implemented) > > > > > > > > > > > > > > > > > Now the response is returned to MCTP > > > > > > > > > > > > > > > > > protocol > > driver > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > C. In MCTP protocol driver, we expect to get > > > > > > > > > > > > > > > > > the > > whole > > > > > > MCTP over > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > packet response, that includes DefBody, NetFunc > > > > > > > > > > > > > > > > and > > > > > > ByeCount, > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > message and PEC. > > > > > > > > > > > > > > > > > 1. MCTP protocol driver verifies the > > > > > > > > > > > > > > > > > returned > > PEC > > > > with > > > > > > the > > > > > > > > > > > payload. > > > > > > > > > > > > > > > > > 2. Strip out DefBody, NetFunc, > > > > > > > > > > > > > > > > > ByeCount and > > PEC > > > > and > > > > > > then > > > > > > > > > > > returns it > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > upper layer (e.g., MCTP transport interface > > > > > > > > > > > > > > > > library). > > > > Returns > > > > > > only > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > Transport header and MCTP packet payload as it > shows > > in > > > > > > MCTP base > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > spec. > > > > > > > > > > > > > > > > > Above is not implemented > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. In MCTP transport interface library, we > > > > > > > > > > > > > > > > > can strip > > out > > > > > > MCTP > > > > > > > > > > > transport > > > > > > > > > > > > > > > > header and then return it to upper layer (e.g., > > > > > > > > > > > > > > > > PLDM > > > > protocol > > > > > > driver). > > > > > > > > > > > > > > > > > Above is not implemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > E. In PLDM protocol driver, > > > > > > > > > > > > > > > > > 1. we verify the Message Integrity > > > > > > > > > > > > > > > > > Check if the > > > > Message > > > > > > Type > > > > > > > > > > > > > > requests it. > > > > > > > > > > > > > > > > > 2. we can remove MCTP message type > > > > > > > > > > > > > > > > > then > > return it > > > > to > > > > > > upper > > > > > > > > > > > layer > > > > > > > > > > > > > > (e.g., > > > > > > > > > > > > > > > > PLDM SMBIOS transfer) > > > > > > > > > > > > > > > > > Above is not implemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We didn’t implement BMC->Host in step C, D > > > > > > > > > > > > > > > > > and E > > as > > > > our > > > > > > current > > > > > > > > > > > > > > demand is > > > > > > > > > > > > > > > > to send the SMBIOS table to BMC, which doesn't > > require > > > > the > > > > > > response > > > > > > > > > > > data > > > > > > > > > > > > > > if I > > > > > > > > > > > > > > > > am not wrong. > > > > > > > > > > > > > > > > > Let me know if it is problematic in the above > process. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks and regards, > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Aug 31, 2023 at 6:52 PM Chang, Abner > > > > > > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But wait, wee my another comment below, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > From: Chang, Abner > > > > > > > > > > > > > > > > > > > > Sent: Thursday, August 31, 2023 11:42 PM > > > > > > > > > > > > > > > > > > > > To: devel@edk2.groups.io; > > > > aladyshe...@gmail.com > > > > > > > > > > > > > > > > > > > > Cc: disc...@edk2.groups.io > > > > > > > > > > > > > > > > > > > > Subject: RE: [edk2-devel] [edk2-discuss] > PLDM > > > > > > messages via > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > From: devel@edk2.groups.io > > > > > > <devel@edk2.groups.io> On > > > > > > > > > > > Behalf > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > > > > > > > > > > > Sent: Thursday, August 31, 2023 10:57 > > > > > > > > > > > > > > > > > > > > > PM > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > Cc: disc...@edk2.groups.io; > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] > > > > > > > > > > > > > > > > > > > > > [edk2-discuss] > > PLDM > > > > > > messages via > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from > > > > > > > > > > > > > > > > > > > > > an > > External > > > > > > Source. > > > > > > > > > > > Use > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > when opening attachments, clicking > > > > > > > > > > > > > > > > > > > > > links, or > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (I don see what is the response > > > > > > > > > > > > > > > > > > > > > > header for > > MCTP > > > > > > KCS in spec > > > > > > > > > > > > > > though, > > > > > > > > > > > > > > > > > > does > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > mention the KCS response?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The spec doesn't explicitly mention > > > > > > > > > > > > > > > > > > > > > that the > > > > format of > > > > > > a send > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > response packets differ. So I assume > > > > > > > > > > > > > > > > > > > > > it is the > > same > > > > > > and it is > > > > > > > > > > > > > > > > > > > > > described at the "Figure 1 – MCTP > > > > > > > > > > > > > > > > > > > > > over KCS > > Packet > > > > > > Format" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1 > > > > > > > > > > > > > > > > > > > > > .0.0.pdf) > > > > > > > > > > > > > > > > > > > > > Therefore the format of a response > > > > > > > > > > > > > > > > > > > > > would > look > > > > like > > > > > > this: > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Include/Library/Managea > > > > > > > > > > > > > > > > > > > > > bilityTransportMctpLib.h) > > > > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > > > > > > > > > > > > > > > > > > > > > Standard/Mctp.h) > > > > > > > > > > > > > > > > > > > > > MCTP_MESSAGE_HEADER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > > > > > > > > > > > > > > > > > > > > > Standard/Mctp.h) > > > > > > > > > > > > > > > > > > > > > < response data> > > > > > > > > > > > > > > > > > > > > What do you see the KCS response from > > > > > > > > > > > > > > > > > > > > BMC? > > You > > > > > > probably > > > > > > > > > > > right as > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > header and trailer are labeled in > > > > > > > > > > > > > > > > > > > > different > colors > > 😊. > > > > > > Could you > > > > > > > > > > > > > > please > > > > > > > > > > > > > > > > > > enable > > > > > > > > > > > > > > > > > > > > the debug message to capture it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > PEC > > > > > > > > > > > > > > > > > > > > > (Probably we need to define > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER) > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > We have > MANAGEABILITY_MCTP_KCS_HEADER > > > > > > defined but no > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER as it is > > > > > > hardcoded to one > > > > > > > > > > > > > > byte. > > > > > > > > > > > > > > > > > > > > If the KCS response is PEC, then yes, > > > > > > > > > > > > > > > > > > > > we can > > create > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER for KCS > > > > > > transport > > > > > > > > > > > interface. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > In the implementation, PEC is calculated > > > > > > > > > > > > > > > > > > > in > MCTP > > > > > > protocol and > > > > > > > > > > > send > > > > > > > > > > > > > > > > through > > > > > > > > > > > > > > > > > > KCS as the KCS packet trailer. So, when we > > > > > > > > > > > > > > > > > > send > the > > > > MCTP > > > > > > request > > > > > > > > > > > > > > through > > > > > > > > > > > > > > > > > > KCS, KCS shouldn't respond the PEC to upper > stack, > > > > right? > > > > > > I still > > > > > > > > > > > think > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > response should be the KCS completion code. > > > > > > > > > > > > > > > > > > The > > > > debug > > > > > > message > > > > > > > > > > > from > > > > > > > > > > > > > > > > your > > > > > > > > > > > > > > > > > > end may help to clarify this as your BMC > > > > > > > > > > > > > > > > > > has the > > MCTP > > > > > > KCS > > > > > > > > > > > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > So in the "KcsTransportSendCommand" > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > on.c#L414) > > > > > > > > > > > > > > > > > > > > > we can check if we transfer is MCTP > > > > > > > > > > > > > > > > > > > > > (based > on > > > > > > > > > > > > > > > > > > > > > "TransportToken- > > > > >ManagebilityProtocolSpecification > > > > > > == > > > > > > > > > > > MCTP" like > > > > > > > > > > > > > > > > > > > > > you've suggested) and handle response > > > > accordingly. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But which headers should we check in > > > > > > > > > > > > > > > > > > > > > this > > > > function? > > > > > > Only > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER/MANAGEABILITY_MCTP_KCS_TRAILER > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > Yes, only check header and trailer for > > > > > > > > > > > > > > > > > > > > transport > > > > > > interface. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What about > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER? > > > > > > > > > > > > > > > > > > Do > > > > > > > > > > > > > > > > > > > > we > > > > > > > > > > > > > > > > > > > > > need to > > > > > > > > > > > > > > > > > > > > > check them here as well? Or do we > > > > > > > > > > > > > > > > > > > > > need to > > check > > > > > > them > > > > > > > > > > > > > > somewhere > > > > > > > > > > > > > > > > > > upper > > > > > > > > > > > > > > > > > > > > > the call stack? > > > > > > > > > > > > > > > > > > > > We should leave this to MCTP protocol > > > > > > > > > > > > > > > > > > > > driver > as > > > > this is > > > > > > belong > > > > > > > > > > > to > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > layer, the upper layer stack. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Aug 31, 2023 at 7:59 AM Chang, > > Abner > > > > > > > > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > <aladyshe...@gmail.com> > > > > > > > > > > > > > > > > > > > > > > > Sent: Wednesday, August 30, 2023 > 11:09 > > PM > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > > > Cc: disc...@edk2.groups.io; > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-discuss] PLDM > > messages > > > > via > > > > > > MCTP > > > > > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated > > > > > > > > > > > > > > > > > > > > > > > from an > > > > External > > > > > > Source. > > > > > > > > > > > Use > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > when opening attachments, > > > > > > > > > > > > > > > > > > > > > > > clicking links, > > or > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've started to implement MCTP > > > > > > > > > > > > > > > > > > > > > > > over KCS > > > > binding > > > > > > for the > > > > > > > > > > > > > > libmctp > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/libmctp) > > and > > > > test > > > > > > it with > > > > > > > > > > > the > > > > > > > > > > > > > > > > current > > > > > > > > > > > > > > > > > > code > > > > > > > > > > > > > > > > > > > > > > > in the ManageabilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I was able successfully send the > > > > > > > > > > > > > > > > > > > > > > > MCTP > > packet > > > > to > > > > > > the BMC, > > > > > > > > > > > but > > > > > > > > > > > > > > right > > > > > > > > > > > > > > > > > > now > > > > > > > > > > > > > > > > > > > > > > > I'm having some troubles with > > > > > > > > > > > > > > > > > > > > > > > receiving > the > > > > > > answer back. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think I've found some bug in the > > > > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > After it sends data over KCS in > > > > > > > > > > > > > > > > > > > > > > > expects a > > > > responce > > > > > > starting > > > > > > > > > > > with > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > 'IPMI_KCS_RESPONSE_HEADER' > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > > on.c#L476 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Isn't it wrong, assuming that the > > > > > > > > > > > > > > > > > > > > > > > right > > header > > > > in > > > > > > case of > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > should > > > > > > > > > > > > > > > > > > > > > > > be > > 'MANAGEABILITY_MCTP_KCS_HEADER' ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I guess the > > 'IpmiHelperCheckCompletionCode' > > > > > > check after > > > > > > > > > > > the > > > > > > > > > > > > > > data > > > > > > > > > > > > > > > > > > > > > > > receive is also not relevant for > > > > > > > > > > > > > > > > > > > > > > > the MCTP. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is something I don’t really > > > > > > > > > > > > > > > > > > > > > > sure as I > can't > > > > verify > > > > > > the > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > because our BMC doesn't have the code > > > > > > > > > > > > > > > > > > > > > to > > handle > > > > > > MCTP over > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > command. > > > > > > > > > > > > > > > > > > > > > However it is appreciated if > > > > > > > > > > > > > > > > > > > > > community can > > help > > > > to > > > > > > verify this. > > > > > > > > > > > As I > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > remember, I can see the return KCS > > > > > > > > > > > > > > > > > > > > > status is > > 0xC1, > > > > > > the invalid > > > > > > > > > > > > > > > > command. > > > > > > > > > > > > > > > > > > > > Thus I > > > > > > > > > > > > > > > > > > > > > think if we do a MCTP over KCS, the > > > > > > > > > > > > > > > > > > > > > first > > response > > > > is > > > > > > still KCS > > > > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > > > header. > > > > > > > > > > > > > > > > > > > > > > This is not what do you see on the > > > > > > > > > > > > > > > > > > > > > > BCM it > > does > > > > > > support > > > > > > > > > > > MCTP > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > KCS? If > > > > > > > > > > > > > > > > > > > > > so, then I would like to have your > > > > > > > > > > > > > > > > > > > > > help to > > correct > > > > this > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Since > > > > > > > > > > > > > > > > > > > > > > > 'ManageabilityTransportKcsLib' can > > be > > > > used > > > > > > both for > > > > > > > > > > > IPMI > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > MCTP, how should we deal with > > > > > > > > > > > > > > > > > > > > > > > this? > > > > > > > > > > > > > > > > > > > > > > If KcsCommon.c, we can have > > > > > > > > > > > > > > > > > > > > > > different > code > > > > path > > > > > > for the > > > > > > > > > > > given > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > > GUID. e.g., if (TransportToken- > > > > > > > > > > > >ManagebilityProtocolSpecification > > > > > > > > > > > > > > == > > > > > > > > > > > > > > > > > > MCTP). > > > > > > > > > > > > > > > > > > > > > > Then skip reading the > > KCS_REPOSNSE_HEADER > > > > or > > > > > > to read > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > MCTP_RESPONSE_HEADER (I don see what > is > > the > > > > > > response > > > > > > > > > > > header > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > KCS in spec though, does it mention > > > > > > > > > > > > > > > > > > > > > the KCS > > > > > > response?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Aug 23, 2023 at 5:18 AM > Chang, > > > > Abner > > > > > > > > > > > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - > > > > > > > > > > > > > > > > > > > > > > > > General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please see my answers inline. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > > > From: disc...@edk2.groups.io > > > > > > > > > > > <disc...@edk2.groups.io> > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via > > > > > > > > > > > > > > > > > > > > > > > > > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Wednesday, August 23, > > > > > > > > > > > > > > > > > > > > > > > > > 2023 > > 1:54 > > > > AM > > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > > > > > Cc: disc...@edk2.groups.io; > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-discuss] > > > > > > > > > > > > > > > > > > > > > > > > > PLDM > > > > messages > > > > > > via MCTP > > > > > > > > > > > over > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message > > > > > > > > > > > > > > > > > > > > > > > > > originated from > > an > > > > > > External > > > > > > > > > > > Source. > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > when opening attachments, > > > > > > > > > > > > > > > > > > > > > > > > > clicking > > links, > > > > or > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the answer! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I was a little bit confused > > > > > > > > > > > > > > > > > > > > > > > > > about the > > part, > > > > that > > > > > > in the > > > > > > > > > > > same > > > > > > > > > > > > > > > > package > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > > > > > actually need to provide > > > > > > > > > > > > > > > > > > > > > > > > > different > library > > > > > > > > > > > implementations > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > same > > > > > > > > > > > > > > > > > > > > > > > > > 'ManageabilityTransportLib', > > thanks > > > > for > > > > > > the > > > > > > > > > > > > > > clarification! > > > > > > > > > > > > > > > > > > > > > > > > > I think your DSC example > > > > > > > > > > > > > > > > > > > > > > > > > should go > into > > > > the > > > > > > package > > > > > > > > > > > > > > > > > > documentation. > > > > > > > > > > > > > > > > > > > > > > > > Yes, this is a good idea. I > > > > > > > > > > > > > > > > > > > > > > > > will update it. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As for me, I'm working with > > > > > > > > > > > > > > > > > > > > > > > > > the > > OpenBMC > > > > > > distribution > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/openbmc) > > > > and > > > > > > my goal > > > > > > > > > > > is to > > > > > > > > > > > > > > > > > > transfer > > > > > > > > > > > > > > > > > > > > > data > > > > > > > > > > > > > > > > > > > > > > > > > from the BIOS to the BMC via > > MCTP/PLDM. > > > > > > > > > > > > > > > > > > > > > > > > > Currently there is no > > > > > > > > > > > > > > > > > > > > > > > > > solution for the > > MCTP > > > > > > over KCS > > > > > > > > > > > binding > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > Linux, > > > > > > > > > > > > > > > > > > > > > > > > > so I need to add this support: > > > > > > > > > > > > > > > > > > > > > > > > > - either to the MCTP > > > > > > > > > > > > > > > > > > > > > > > > > userspace library > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/libmctp) > > > > [old > > > > > > > > > > > OpenBMC > > > > > > > > > > > > > > way, > > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > > > > probably > > > > > > > > > > > > > > > > > > > > > > > > > easier] > > > > > > > > > > > > > > > > > > > > > > > > > - or to the MCTP kernel > > > > > > > > > > > > > > > > > > > > > > > > > binding > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/torvalds/linux/tree/master/drivers/net/mctp) > > > > > > > > > > > > > > > > > > > > > > > > > [modern mctp Linux driver > > > > > > > > > > > > > > > > > > > > > > > > > approach] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Both don't sound like an easy > > > > > > > > > > > > > > > > > > > > > > > > > task, so > > can I > > > > > > ask, what > > > > > > > > > > > MC > > > > > > > > > > > > > > (i.e. > > > > > > > > > > > > > > > > > > > > > > > > > management controller) device > > > > > > > > > > > > > > > > > > > > > > > > > and > > > > firmware > > > > > > do you > > > > > > > > > > > use on > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > side of the MCTP KCS > > > > > > > > > > > > > > > > > > > > > > > > > transmissions? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We use OpenBMC as well, but as > > > > > > > > > > > > > > > > > > > > > > > > you > > > > mention > > > > > > there are > > > > > > > > > > > some > > > > > > > > > > > > > > > > > > missing > > > > > > > > > > > > > > > > > > > > > pieces > > > > > > > > > > > > > > > > > > > > > > > to fully support manageability > > > > > > > > > > > > > > > > > > > > > > > between > > host > > > > and > > > > > > BMC. > > > > > > > > > > > > > > > > > > > > > > > > We don’t have code to handle > > > > > > > > > > > > > > > > > > > > > > > > MCTP > > IPMI > > > > > > either, the > > > > > > > > > > > edk2 > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg > > > > > > > > > > > > > > > > > > > > > > > provides the framework while > > > > MCTP/PLDM/KCS > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > > > > > provides > > > > > > > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > sample other than IPMI/KCS to > > > > > > > > > > > > > > > > > > > > > > > prove the > > > > > > flexibility of > > > > > > > > > > > > > > > > > > ManageabilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > Actually, MCTP over KCS is not > supported > > in > > > > our > > > > > > BMC > > > > > > > > > > > > > > firmware > > > > > > > > > > > > > > > > yet, > > > > > > > > > > > > > > > > > > > > thus > > > > > > > > > > > > > > > > > > > > > > > BMC just returns the invalid > > > > > > > > > > > > > > > > > > > > > > > command. > > > > However, > > > > > > the > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > > framework > > > > > > > > > > > > > > > > > > > > > > > has been verified to make sure the > > > > > > implementation works > > > > > > > > > > > fine > > > > > > > > > > > > > > as > > > > > > > > > > > > > > > > > > expect. > > > > > > > > > > > > > > > > > > > > > > > > We need help from community to > > provide > > > > more > > > > > > > > > > > > > > manageability > > > > > > > > > > > > > > > > > > > > protocols > > > > > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > transport interface libraries to > > > > > > > > > > > > > > > > > > > > > > > this > package. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You've also mentioned PLDM > > > > > > > > > > > > > > > > > > > > > > > > > SMBIOS, > > isn't > > > > it > > > > > > covered > > > > > > > > > > > by > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/PldmSmbiosTr > > > > > > > > > > > > > > > > > > > > > > > > > ansferDxe/PldmSmbiosTransferDxe.c > > > > > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > Ah hah, yes I forget I upstream > > > > > > > > > > > > > > > > > > > > > > > > it. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please just feel free to send > > > > > > > > > > > > > > > > > > > > > > > > patch to > > make > > > > more > > > > > > > > > > > > > > functionalities to > > > > > > > > > > > > > > > > > > this > > > > > > > > > > > > > > > > > > > > > > > package. > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, Aug 22, 2023 at 7:26 > > > > > > > > > > > > > > > > > > > > > > > > > PM > > Chang, > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > <abner.ch...@amd.com> > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - > > > > > > > > > > > > > > > > > > > > > > > > > > General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > > > > We use library class to > > > > > > > > > > > > > > > > > > > > > > > > > > specify the > > desire > > > > > > transport > > > > > > > > > > > > > > interface > > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > management protocol, such as > > > > > > > > > > > > > > > > > > > > > > > > > MCTP, > > > > PLDM > > > > > > and IPMI. > > > > > > > > > > > This > > > > > > > > > > > > > > > > way > > > > > > > > > > > > > > > > > > we > > > > > > > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > > > > > flexibly support any transport > interface > > for > > > > the > > > > > > > > > > > management > > > > > > > > > > > > > > > > > > protocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is the example of using > > > > > > ManageabilityPkg, which > > > > > > > > > > > is > > > > > > > > > > > > > > > > PLDM > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > > over KCS. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf > > > > > > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > <LibraryClasses> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tKcsLib/Dxe/DxeManageabilityTransportKcs.inf > > > > > > > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.inf > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > <LibraryClasses> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tKcsLib/Dxe/DxeManageabilityTransportKcs.inf > > > > > > > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Dxe/PldmProtocolDxe.inf > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > <LibraryClasses> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspor > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tMctpLib/Dxe/DxeManageabilityTransportMctp.inf > > > > > > > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > So you can implement > > > > > > ManageabilityTransport library > > > > > > > > > > > for > > > > > > > > > > > > > > > > either > > > > > > > > > > > > > > > > > > > > > industry > > > > > > > > > > > > > > > > > > > > > > > > > standard or proprietary > implementation > > for > > > > > > the specific > > > > > > > > > > > > > > > > > > management > > > > > > > > > > > > > > > > > > > > > > > > > protocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > BTW, We do have PLDM SMBIOS > over > > > > MCTP > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > > > not > > > > > > > > > > > > > > > > > > > > > > > > > upstream yet. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hope this information helps. > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > > > > > From: > > > > > > > > > > > > > > > > > > > > > > > > > > > disc...@edk2.groups.io > > > > > > > > > > > > > > <disc...@edk2.groups.io> > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > > > Behalf Of > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Tuesday, August 22, > > > > > > > > > > > > > > > > > > > > > > > > > > > 2023 > > 7:00 > > > > PM > > > > > > > > > > > > > > > > > > > > > > > > > > > To: discuss > > <disc...@edk2.groups.io>; > > > > > > > > > > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: [edk2-discuss] > > > > > > > > > > > > > > > > > > > > > > > > > > > PLDM > > messages > > > > via > > > > > > MCTP > > > > > > > > > > > over > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message > > > > > > > > > > > > > > > > > > > > > > > > > > > originated > > from > > > > an > > > > > > External > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > when opening attachments, > clicking > > > > links, > > > > > > or > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm trying to build > > `ManageabilityPkg` > > > > from > > > > > > the > > > > > > > > > > > edk2- > > > > > > > > > > > > > > > > platforms > > > > > > > > > > > > > > > > > > > > > > > > > > > repo to issue PLDM > > > > > > > > > > > > > > > > > > > > > > > > > > > messages via > > MCTP > > > > > > over KCS. > > > > > > > > > > > Is it > > > > > > > > > > > > > > > > possible > > > > > > > > > > > > > > > > > > > > with > > > > > > > > > > > > > > > > > > > > > > > > > > > the current code? I see > > > > > > > > > > > > > > > > > > > > > > > > > > > all the > > building > > > > > > blocks, but > > > > > > > > > > > have > > > > > > > > > > > > > > > > trouble > > > > > > > > > > > > > > > > > > > > > > > > > > > putting it all together. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The main question that > > > > > > > > > > > > > > > > > > > > > > > > > > > bothers > me > > is > > > > what > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > > > should > > > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > > > > > > > > > > > > for the > `ManageabilityTransportLib`? > > > > > > > > > > > > > > > > > > > > > > > > > > > By default it is set to > > > > > > > > > > > > > > > > > > > > > > > > > > > dummy > > > > > > > > > > > > > > > > > > `BaseManageabilityTransportNull.inf` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/ManageabilityPkg.dsc). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On one case to get PLDM > > > > > > > > > > > > > > > > > > > > > > > > > > > via MCTP > it > > > > looks > > > > > > that I > > > > > > > > > > > need to > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > > > > > > `DxeManageabilityTransportMctp.inf` > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib| > > > > > > > > > > > > > > > > > > > > > <...>/DxeManageabilityTransportMctp.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTra > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > nsportMctpLib/Dxe/DxeManageabilityTransportMctp.inf) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But on the other case if > > > > > > > > > > > > > > > > > > > > > > > > > > > I want > MCTP > > > > over > > > > > > KCS I > > > > > > > > > > > need to > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > it to > > > > > > > > > > > > > > > > > > > > > > > > > > > > `DxeManageabilityTransportKcs.inf` > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib| > > > > > > > > > > > > > > > > > > > > <...>/DxeManageabilityTransportKcs.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTra > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > nsportKcsLib/Dxe/DxeManageabilityTransportKcs.inf) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What is the right way to > > > > > > > > > > > > > > > > > > > > > > > > > > > resolve > > this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > There are no platforms in > > > > > > > > > > > > > > > > > > > > > > > > > > > the repo > > that > > > > > > actually > > > > > > > > > > > > > > implement > > > > > > > > > > > > > > > > > > > > > PLDM/MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > > functionality, so there > > > > > > > > > > > > > > > > > > > > > > > > > > > is no > example > > > > that I > > > > > > can use > > > > > > > > > > > as a > > > > > > > > > > > > > > > > > > reference. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109665): https://edk2.groups.io/g/devel/message/109665 Mute This Topic: https://groups.io/mt/100897530/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-