From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id 203D6AC0E1F for ; Tue, 17 Oct 2023 08:54:28 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=bdwI0bwbEvFKi1kkt3bF6tFG6a7qOCmSYCPM3P9woBQ=; c=relaxed/simple; d=groups.io; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:To:Cc:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding; s=20140610; t=1697532867; v=1; b=YvTgAoS+RXLKiPDUprmx6tcESJ8rqLfxvuRnsEAxzPtvgJLwyukmI4bjgEru02SyPtL8UYyf z8gDb5AE0ooGUmL0Jq1BDatTEabUDxzhIqOYEHVzvuPxk6Apsen0FDl5e2aogHCpA+ubMqgF5s8 Wj9nTC60yPmuvvz6yNd8Mfac= X-Received: by 127.0.0.2 with SMTP id 9XzOYY7687511xuT44AXhP6N; Tue, 17 Oct 2023 01:54:27 -0700 X-Received: from mail-vs1-f44.google.com (mail-vs1-f44.google.com [209.85.217.44]) by mx.groups.io with SMTP id smtpd.web11.202549.1697532866761435922 for ; Tue, 17 Oct 2023 01:54:27 -0700 X-Received: by mail-vs1-f44.google.com with SMTP id ada2fe7eead31-4577c1259c6so2239983137.3; Tue, 17 Oct 2023 01:54:26 -0700 (PDT) X-Gm-Message-State: aVVp56giGRTE9eu62k6VUoQFx7686176AA= X-Google-Smtp-Source: AGHT+IG9ohYphLtqwCX6It6JlpqZYKKV6QxZd0B5vpqQbQR8oBP2+dRVmTUFKNgZYvxONSomYnhtbNK79IqyBoW1zqY= X-Received: by 2002:a67:c092:0:b0:452:99e0:54e3 with SMTP id x18-20020a67c092000000b0045299e054e3mr1439430vsi.2.1697532863952; Tue, 17 Oct 2023 01:54:23 -0700 (PDT) MIME-Version: 1.0 References: <178DEE4D03C504AF.14388@groups.io> In-Reply-To: From: "Konstantin Aladyshev" Date: Tue, 17 Oct 2023 11:54:12 +0300 Message-ID: Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KCS To: "Chang, Abner" Cc: "discuss@edk2.groups.io" , "devel@edk2.groups.io" Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,aladyshev22@gmail.com List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=YvTgAoS+; dmarc=fail reason="SPF not aligned (relaxed), DKIM not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io Hi Abner, In the code you are using: PLDM_TERMINUS_ID_UNASSIGNED PLDM_TERMINUS_ID_RESERVED PLDM_TERMINUS_ID_SPECIAL but I don't see any definitions for these values. I'm particularly confused about the meaning and usage of the PLDM_TERMINUS_ID_SPECIAL value. My understanding was that we give initial values for the TerminusId values as PCDs: https://github.com/changab/edk2-platforms/blob/56087215747be4a6a73e17e8478d= 5a8c6e35c801/Features/ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/Pldm= ProtocolLib.c#L16C1-L17C79 ``` UINT8 mSourcePldmTerminusId =3D PcdGet8(PcdPldmSourceTerminusId); UINT8 mDestinationPldmTerminusId =3D PcdGet8(PcdPldmDestinationTerminusId); ``` And in the PldmSubmit function just use them: https://github.com/changab/edk2-platforms/blob/56087215747be4a6a73e17e8478d= 5a8c6e35c801/Features/ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/Pldm= ProtocolLib.c#L100 ``` Status =3D mEdkiiPldmProtocol->Functions.Version1_0->PldmSubmitCommand ( mEdkiiPldmProtocol, PldmType, Command, mSourcePldmTerminusI= d, mDestinationPldmTerminusId, RequestData, RequestDataSize, ResponseData, ResponseDataSize ); ``` Writing this it looks like we don't even need to pass TIDs as pointers in this case. Wouldn't it work like we want it to? One more minor observation, there are actually 2 reserved values for the TID according to the specification: 0x00 and 0xff. Best regards, Konstantin Aladyshev On Tue, Oct 17, 2023 at 6:41=E2=80=AFAM Chang, Abner = wrote: > > [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 als= o removed at this version. > > Thanks > Abner > > > -----Original Message----- > > From: discuss@edk2.groups.io On Behalf Of > > Chang, Abner via groups.io > > Sent: Saturday, October 14, 2023 5:11 PM > > To: Konstantin Aladyshev > > Cc: discuss@edk2.groups.io; devel@edk2.groups.io > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KC= S > > > > [AMD Official Use Only - General] > > > > Caution: This message originated from an External Source. Use proper ca= ution > > when opening attachments, clicking links, or responding. > > > > > > [AMD Official Use Only - General] > > > > > -----Original Message----- > > > From: Konstantin Aladyshev > > > Sent: Saturday, October 14, 2023 4:26 PM > > > To: Chang, Abner > > > Cc: discuss@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 abou= t > > > MCTP EIDs. Don't they like different concepts? Or did you mean that w= e > > > need to have a mapping of TIDs<-->EIDs in PldmProtocolLib? > > I just distinguish the ID naming for PLDM and MCTP using the terminolog= ies > > defined in spec. For PLDM to MCTP, the values are the same as the SID a= nd EID > > are passed to MCTP from PLDM. > > > > > > > > > I reviewed these patches just now, that looks good to me. However t= his > > way > > > we don=E2=80=99t 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 representativ= e 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 lon= ger > > works on edk2 stuff. > > > > Thanks > > Abner > > > > > > > > Best regards, > > > Konstantin Aladyshev > > > > > > On Sat, Oct 14, 2023 at 11:06=E2=80=AFAM Chang, Abner > > > wrote: > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > -----Original Message----- > > > > > From: Konstantin Aladyshev > > > > > Sent: Friday, October 13, 2023 8:16 PM > > > > > To: Chang, Abner > > > > > Cc: discuss@edk2.groups.io; devel@edk2.groups.io > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP o= ver > > > KCS > > > > > > > > > > Caution: This message originated from an External Source. Use pro= per > > > 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 =3D { > > > > > 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., SMB= IOS) > > > has its own PLDM terminus ID in the PldmProtocolLib instance. We stil= l > > 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 =3D > > > > mPldmSmbiosTransferProtocolV10 =3D { > > > > 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 pos= ting > > > > > them to the mailing list. So you can review them and provide feed= back. > > > > I reviewed these patches just now, that looks good to me. However t= his > > way > > > we don=E2=80=99t 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 upd= ate the > > > code, however it would be later next week as I have to work on some t= asks. > > > > > > > > BTW, are you an individual contributor or you are the representativ= e of a > > > firm? > > > > > > > > Thanks > > > > Abner > > > > > > > > > > Best regards, > > > > > Konstantin Aladyshev > > > > > > > > > > On Wed, Oct 11, 2023 at 8:58=E2=80=AFAM Chang, Abner > > > > > > > > wrote: > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > Hi Aladyshev, > > > > > > Here is my response, > > > > > > > > > > > > 1. Shouldn't we update the PLDM protocol's 'PldmSubmit' functio= n 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 do= esn't have > > > to > > > > > handle the full size of PLDM message. It should only care about t= he > > > response > > > > > data belong to it. That's why I added the array to define the PLD= M > > > 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 Pr= otocol > > > > > driver. > > > > > > > > > > > > 3. The 'AdditionalTransferError' is designed to accommodate err= or > > codes > > > for > > > > > the specific transport or protocol. We don=E2=80=99t have much im= plementation > > of > > > > > 'AdditionalTransferError' as the entire Manageability needs more > > practices > > > to > > > > > make it more mature. > > > > > > I suggest we can categorize 'AdditionalTransferError' using th= e 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 > > > > > > > Sent: Thursday, October 5, 2023 11:18 PM > > > > > > > To: Chang, Abner > > > > > > > Cc: discuss@edk2.groups.io; devel@edk2.groups.io > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MC= TP > > > 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 observatio= n. > > > > > > > > > > > > > > I think the MCTP code should set specific 'AdditionalTransfer= Error' > > > > > > > for the caller when it fails on each of the response header c= hecks: > > > > > > > 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 utilize= d for > > > > > > > this. Right now the errors are generic for the IPMI/MCTP prot= ocols > > > > > > > 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 t= he 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=E2=80=AFPM Konstantin Aladyshev > > > > > > > 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=E2=80=AFPM Konstantin Aladyshev > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > Also I see that the 'PldmProtocolCommon' code contains ar= ray 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 nee= d to > > know > > > the > > > > > > > > > MCTP response size apriori. > > > > > > > > > This only limits allowed PLDM commands to the supported a= rray: > > > > > > > > > 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=E2=80=AFPM Konstantin Aladys= hev > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > Shouldn't we update the PLDM protocol's 'PldmSubmit' fu= nction > > > to > > > > > > > > > > receive 'MctpSrcEID'/'MctpDestEID' as incoming paramete= rs? Or > > > > > maybe > > > > > > > > > > add some 'PldmInit' function to set those parameters fo= r 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=E2=80=AFAM Chang, Abner > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > From: discuss@edk2.groups.io > > On > > > > > Behalf > > > > > > > Of > > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > > Sent: Thursday, October 5, 2023 1:57 AM > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > Cc: devel@edk2.groups.io; discuss@edk2.groups.io > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM messa= ges via > > > > > MCTP > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External S= ource. > > Use > > > > > proper > > > > > > > caution > > > > > > > > > > > > when opening attachments, clicking links, or respon= ding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised there are some b= uild 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 bot= h 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 l= ist for > > review > > > > > and > > > > > > > keep > > > > > > > > > > > > working on other problems based on it.? > > > > > > > > > > > > > Could you please send the patches out, with you a= s the > > > author > > > > > and > > > > > > > I'm the > > > > > > > > > > > > coauthor? I will review it again on dev mailing li= st. > > > > > > > > > > > > > > > > > > > > > > > > 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 ch= eck if PLDM > > > > > > > > > > > > protocols work correctly. > > > > > > > > > > > Ok. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also earlier I've pointed to a fact that 'MctpSourc= eEndpointId' > > > 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 he= re: > > > > > > > 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) a= pproach will > > be > > > > > > > > > > > > merged. Since I've developed the Linux kernel drive= r (2) > > nobody > > > > > really > > > > > > > > > > > > cares about (1). > > > > > > > > > > > > > > > > > > > > > > > > For the (2) there are a couple of OpenBMC patches w= hich I've > > > > > helped > > > > > > > to > > > > > > > > > > > > develop, but I'm just a coathor in them. So it is h= ard for me to > > > tell > > > > > > > > > > > > when they would be merged. For me it looks like the= y are > > > mostly > > > > > > > ready: > > > > > > > > > > > > 66591: transport: af-mctp: Add > > > pldm_transport_af_mctp_bind() | > > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/libpldm/+/6659= 1 > > > > > > > > > > > > 63652: pldm: Convert to using libpldm transport API= s | > > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 > > > > > > > > > > > > > > > > > > > > > > > > For the (2) I also need to push the mctp Linux kern= el 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 t= o finish > > the > > > > > work > > > > > > > > > > > > and push my driver upstream. Currently there are so= me > > > questions > > > > > > > > > > > > regarding Linux KCS subsystem, so along with the KC= S > > > 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=E2=80=AFPM Chang, Abner > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised there are some b= uild errors > > at > > > > > your > > > > > > > end. > > > > > > > > > > > > > How do you think we just send it to the mailing l= ist for > > review > > > > > and > > > > > > > keep > > > > > > > > > > > > working on other problems based on it.? > > > > > > > > > > > > > Could you please send the patches out, with you a= s the > > > author > > > > > and > > > > > > > I'm the > > > > > > > > > > > > coauthor? I will review it again on dev mailing li= st. > > > > > > > > > > > > > > > > > > > > > > > > > > I will take a look on kernal change. Btw, how lon= g do you > > think > > > I > > > > > > > would take > > > > > > > > > > > > to merge your changes on openBMC? > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > Get Outlook for Android > > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > Sent: Wednesday, October 4, 2023 11:59:16 PM > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > Cc: devel@edk2.groups.io ; > > > > > > > > > > > > discuss@edk2.groups.io > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM mes= sages > > via > > > > > MCTP > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External= Source. > > > Use > > > > > > > proper > > > > > > > > > > > > caution when opening attachments, clicking links, o= r > > > 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 th= e 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= - > > > > > > > > > > > > aladyshev22@gmail.com/ > > > > > > > > > > > > > > > > > > > > > > > > > > Here is a fix for the build errors that I've foun= d: > > > > > > > > > > > > > ``` > > > > > > > > > > > > > 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 @@ SetupMctpRequestTransportPack= et > > ( > > > > > > > > > > > > > > > > > > > > > > > > > > // > > > > > > > > > > > > > // Generate PEC follow SMBUS 2.0 specificati= on. > > > > > > > > > > > > > - *MctpKcsTrailer->Pec =3D > > HelperManageabilityGenerateCrc8 > > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0, ThisPackage, > > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > > + MctpKcsTrailer->Pec =3D HelperManageabilityG= enerateCrc8 > > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0, ThisPackage, > > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > > *PacketBody =3D (UINT8 *)ThisPackage; > > > > > > > > > > > > > *PacketBodySize =3D MctpKcsHeader->ByteCo= unt; > > > > > > > > > > > > > *PacketTrailer =3D > > > > > > > > > > > > (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 >=3D > > > > > > > MCTP_RESERVED_ENDPOINT_START_ID) && > > > > > > > > > > > > > - MctpSourceEndpointId <=3D > > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > > + (MctpSourceEndpointId <=3D > > > > > > > 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 >=3D > > > > > > > > > > > > MCTP_RESERVED_ENDPOINT_START_ID) && > > > > > > > > > > > > > - MctpDestinationEndpointId <=3D > > > > > > > MCTP_RESERVED_ENDPOINT_END_ID) > > > > > > > > > > > > > + (MctpDestinationEndpointId <=3D > > > > > > > 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=E2=80=AFPM Chang, Abn= er > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > I have updated the change you made and put thos= e 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 c= hecked in > > > > > > > > > > > > MctpSubmitCommand as well. IPMI/KCS functionality i= s > > > 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 genera= tes 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 > > > > > > > > > > > > > > > Sent: Friday, September 29, 2023 2:18 AM > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; discuss@edk2.groups= .io > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM > > messages > > > via > > > > > > > MCTP over > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an Exte= rnal > > Source. > > > > > Use > > > > > > > proper > > > > > > > > > > > > caution > > > > > > > > > > > > > > > when opening attachments, clicking links, or = responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Did you have time to test libmctp MCTP KCS bi= nding > > > solution? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here are some updates from my end. As I was s= aying, I > > > was > > > > > > > working on > > > > > > > > > > > > > > > the Linux kernel binding solution. > > > > > > > > > > > > > > > And now I've finished the initial implementat= ion 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 p= atches can > > be > > > > > found > > > > > > > here > > > > > > > > > > > > > > > https://github.com/Kostr/PLDM/tree/master/mct= p- > > > kernel). > > > > > > > > > > > > > > > So now you can use Linux driver instead of th= e libmctp > > > utility > > > > > on > > > > > > > the BMC > > > > > > > > > > > > side. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Couple of things that I've noticed in the dev= elopment > > > > > process: > > > > > > > > > > > > > > > - `MctpSubmitCommand` receives > > > > > > > > > > > > > > > 'MctpSourceEndpointId'/'MctpDestinationEndpoi= ntId' > > as > > > > > > > arguments. But > > > > > > > > > > > > > > > these values aren't actually used. The curren= t 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 (sec= tion 8.2) > > > MCTP > > > > > EID > > > > > > > 0 to 7 > > > > > > > > > > > > > > > are reserved. It is critical that we do not u= se them since > > > MCTP > > > > > > > Linux > > > > > > > > > > > > > > > kernel subsystem checks that part. So we prob= ably need > > > to > > > > > add > > > > > > > some > > > > > > > > > > > > > > > check to the `MctpSubmitCommand` that would v= erify > > > that > > > > > we > > > > > > > don't use > > > > > > > > > > > > > > > reserved EIDs. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Sep 21, 2023 at 5:32=E2=80=AFAM Chang= , Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > Thanks for providing the details, I will ta= ke a look at > > your > > > > > code > > > > > > > first, > > > > > > > > > > > > > > > implement it at my end and then response to y= our > > > question. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > Sent: Friday, September 8, 2023 8:57 PM > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; discuss@edk2.gr= oups.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 o= f 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 up= stream, > > 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 'B= yteCount' > > for > > > the > > > > > > > incoming > > > > > > > > > > > > > > > > > data size that we need to read. > > > > > > > > > > > > > > > > > - KcsTransportSendCommand or > > > > > > > CommonMctpSubmitMessage ? > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > > > > > > > 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 Mct= p.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` dire= ctly 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 RequestDataInt= egrityCheck > > > > > 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 s= olution. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Right now I'll probably focus on the Linu= x kernel > > driver > > > for > > > > > the > > > > > > > MCTP > > > > > > > > > > > > > > > > > over KCS binding. So if you want to finis= h 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=E2=80=AFAM Ch= ang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > See my answer below, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > From: devel@edk2.groups.io > > > > > > > > On > > > > > > > Behalf > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > > > > > > > > > Sent: Friday, September 1, 2023 12:02= AM > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > Cc: devel@edk2.groups.io; > > > discuss@edk2.groups.io > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discu= ss] PLDM > > > > > messages > > > > > > > via > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from= an External > > > > > Source. > > > > > > > Use > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > when opening attachments, clicking li= nks, or > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As I've said there is nothing like "K= CS 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 s= ame > > > 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 wan= t, 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 resp= onse packet > > > has > > > > > the > > > > > > > same > > > > > > > > > > > > > > > > > > > structure. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://discord.com/channels/775381525260664832/7787906385638850 > > > > > > > > > > > > > > > > > > > 86/1146782595334549554) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Now I'm a little bit confused about t= he > > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > > > > function. It has the following argume= nts 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 an= d BMC- > > > >host > > > > > are > > > > > > > in the > > > > > > > > > > > > same > > > > > > > > > > > > > > > > > structure, then yes, the response data fr= om 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 fo= r MCTP > > over > > > KCS > > > > > > > and what > > > > > > > > > > > > do we > > > > > > > > > > > > > > > > > miss now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > A. MCTP protocol driver linked with KC= S Transport > > > > > interface > > > > > > > library > > > > > > > > > > > > > > > > > > - In MCTP protocol driver, if the tr= ansport > > interface > > > is > > > > > KCS > > > > > > > then > > > > > > > > > > > > > > > > > > 1. MCTP protocol driver builds u= p the MCTP KCS > > > > > > > transport > > > > > > > > > > > > header, > > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > > is DefBody, NetFunc and ByeCount > > > > > > > > > > > > > > > > > > 2. MCTP protocol driver builds u= p the MCTP > > > payload > > > > > > > > > > > > > > > > > > 3. MCTP protocol driver builds u= p the MCTP KCS > > > > > > > transport trailer, > > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > > is PEC. > > > > > > > > > > > > > > > > > > Above three steps are already im= plemented. > > > > > > > > > > > > > > > > > > PEC is calculated by MCTP protoc= ol driver and > > > should > > > > > be > > > > > > > verified > > > > > > > > > > > > by > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > using the same algorithm in my understand= ing of > > spec. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > B. In KCS Transport interface library > > > > > > > > > > > > > > > > > > 1. KCS Transport interface librar= y sends the > > > transport > > > > > > > header got > > > > > > > > > > > > from > > > > > > > > > > > > > > > > > TransportToken. Same behavior for IPMI pr= otocol, > > but > > > > > > > different > > > > > > > > > > > > content. > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > Transport interface library doesn't have = to > > understand > > > > > this. > > > > > > > > > > > > > > > > > > 2. KCS Transport interface librar= y sends the > > > payload > > > > > > > > > > > > > > > > > > 3. KCS Transport interface librar= y sends the > > > transport > > > > > > > trailer got > > > > > > > > > > > > from > > > > > > > > > > > > > > > > > TransportToken. Same behavior for IPMI pr= otocol, > > but > > > > > > > different > > > > > > > > > > > > content. > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > Transport interface library doesn't have = to > > understand > > > > > this. > > > > > > > > > > > > > > > > > > Above three steps are already imp= lemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Then, if Manageability protocol = is MCTP, we skip > > > > > reading > > > > > > > > > > > > responses > > > > > > > > > > > > > > > > > header (Not implemented) > > > > > > > > > > > > > > > > > > For reading response data > > > > > > > > > > > > > > > > > > 1. If the ResponseData and Res= ponseSize is > > valid > > > in > > > > > the > > > > > > > given > > > > > > > > > > > > > > > > > TransportToken, then we read ResponseSize= data > > from > > > > > KCS. > > > > > > > (Already > > > > > > > > > > > > > > > > > implemented) > > > > > > > > > > > > > > > > > > 2. if Manageability protocol i= s MCTP, then we > > > skip > > > > > > > reading > > > > > > > > > > > > responses > > > > > > > > > > > > > > > > > header again (Not implemented) > > > > > > > > > > > > > > > > > > Now the response is returned to MC= TP protocol > > > driver > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > C. In MCTP protocol driver, we expect = to get the > > > whole > > > > > > > MCTP over > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > packet response, that includes DefBody, N= etFunc and > > > > > > > ByeCount, > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > message and PEC. > > > > > > > > > > > > > > > > > > 1. MCTP protocol driver verifi= es 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 interfa= ce 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 Integr= ity Check if the > > > > > Message > > > > > > > Type > > > > > > > > > > > > > > > requests it. > > > > > > > > > > > > > > > > > > 2. we can remove MCTP message t= ype then > > > return it > > > > > to > > > > > > > upper > > > > > > > > > > > > layer > > > > > > > > > > > > > > > (e.g., > > > > > > > > > > > > > > > > > PLDM SMBIOS transfer) > > > > > > > > > > > > > > > > > > Above is not implemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We didn=E2=80=99t implement BMC->Host i= n step C, D and E > > > as > > > > > our > > > > > > > current > > > > > > > > > > > > > > > demand is > > > > > > > > > > > > > > > > > to send the SMBIOS table to BMC, which do= esn'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=E2=80=AF= PM Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But wait, wee my another comment be= low, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > From: Chang, Abner > > > > > > > > > > > > > > > > > > > > > Sent: Thursday, August 31, 2023 1= 1:42 PM > > > > > > > > > > > > > > > > > > > > > To: devel@edk2.groups.io; > > > > > aladyshev22@gmail.com > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > Subject: RE: [edk2-devel] [edk2-d= iscuss] > > PLDM > > > > > > > messages via > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > From: devel@edk2.groups.io > > > > > > > On > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev via groups= .io > > > > > > > > > > > > > > > > > > > > > > Sent: Thursday, August 31, 2023= 10:57 PM > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.groups.io; > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2= -discuss] > > > PLDM > > > > > > > messages via > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originate= d from an > > > External > > > > > > > Source. > > > > > > > > > > > > Use > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > when opening attachments, click= ing links, or > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (I don see what is the respon= se header for > > > MCTP > > > > > > > KCS in spec > > > > > > > > > > > > > > > though, > > > > > > > > > > > > > > > > > > > does > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > > mention the KCS response?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The spec doesn't explicitly men= tion that the > > > > > format of > > > > > > > a send > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > response packets differ. So I a= ssume it is the > > > same > > > > > > > and it is > > > > > > > > > > > > > > > > > > > > > > described at the "Figure 1 =E2= =80=93 MCTP over KCS > > > Packet > > > > > > > Format" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1 > > > > > > > > > > > > > > > > > > > > > > .0.0.pdf) > > > > > > > > > > > > > > > > > > > > > > Therefore the format of a respo= nse would > > look > > > > > like > > > > > > > this: > > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/e= dk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 > > > =F0=9F=98=8A. > > > > > > > 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 fo= r KCS > > > > > > > transport > > > > > > > > > > > > interface. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > In the implementation, PEC is calcu= lated in > > MCTP > > > > > > > protocol and > > > > > > > > > > > > send > > > > > > > > > > > > > > > > > through > > > > > > > > > > > > > > > > > > > KCS as the KCS packet trailer. So, wh= en 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 "KcsTransportSendComm= and" > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/e= dk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > on.c#L414) > > > > > > > > > > > > > > > > > > > > > > we can check if we transfer is = MCTP (based > > on > > > > > > > > > > > > > > > > > > > > > > "TransportToken- > > > > > >ManagebilityProtocolSpecification > > > > > > > =3D=3D > > > > > > > > > > > > MCTP" like > > > > > > > > > > > > > > > > > > > > > > you've suggested) and handle re= sponse > > > > > accordingly. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But which headers should we che= ck in this > > > > > function? > > > > > > > Only > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER/MANAGEABILITY_MCTP_KCS_TRAILER > > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > > Yes, only check header and traile= r 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 prot= ocol 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=E2= =80=AFAM Chang, > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - Gene= ral] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Wednesday, August 30,= 2023 > > 11:09 > > > PM > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.groups.io; > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-discuss]= PLDM > > > messages > > > > > via > > > > > > > MCTP > > > > > > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message origi= nated from an > > > > > External > > > > > > > Source. > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > when opening attachments, c= licking links, > > > or > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've started to implement M= CTP 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 sen= d the MCTP > > > packet > > > > > to > > > > > > > the BMC, > > > > > > > > > > > > but > > > > > > > > > > > > > > > right > > > > > > > > > > > > > > > > > > > now > > > > > > > > > > > > > > > > > > > > > > > > I'm having some troubles wi= th receiving > > the > > > > > > > answer back. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think I've found some bug= in the > > > > > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > After it sends data over KC= S in expects a > > > > > responce > > > > > > > starting > > > > > > > > > > > > with > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > > 'IPMI_KCS_RESPONSE_HEADER' > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocor= e/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > > > on.c#L476 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Isn't it wrong, assuming th= at 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 relevan= t for the MCTP. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is something I don=E2=80= =99t really sure as I > > can't > > > > > verify > > > > > > > the > > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > > because our BMC doesn't have th= e code to > > > handle > > > > > > > MCTP over > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > command. > > > > > > > > > > > > > > > > > > > > > > However it is appreciated if co= mmunity 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 o= n the BCM it > > > does > > > > > > > support > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > KCS? If > > > > > > > > > > > > > > > > > > > > > > so, then I would like to have y= our help to > > > correct > > > > > this > > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Since 'ManageabilityTranspo= rtKcsLib' can > > > be > > > > > used > > > > > > > both for > > > > > > > > > > > > IPMI > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > MCTP, how should we deal wi= th this? > > > > > > > > > > > > > > > > > > > > > > > If KcsCommon.c, we can have d= ifferent > > code > > > > > path > > > > > > > for the > > > > > > > > > > > > given > > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > > > GUID. e.g., if (TransportToken- > > > > > > > > > > > > >ManagebilityProtocolSpecification > > > > > > > > > > > > > > > =3D=3D > > > > > > > > > > > > > > > > > > > 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 men= tion the KCS > > > > > > > response?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Aug 23, 2023 at 5:1= 8=E2=80=AFAM > > Chang, > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - = General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please see my answers inl= ine. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message--= --- > > > > > > > > > > > > > > > > > > > > > > > > > > From: discuss@edk2.grou= ps.io > > > > > > > > > > > > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev vi= a groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Wednesday, August= 23, 2023 > > > 1:54 > > > > > AM > > > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.groups= .io; > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-disc= uss] PLDM > > > > > messages > > > > > > > via MCTP > > > > > > > > > > > > over > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message o= riginated from > > > an > > > > > > > External > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > when opening attachment= s, clicking > > > links, > > > > > or > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the answer! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I was a little bit conf= used about the > > > part, > > > > > that > > > > > > > in the > > > > > > > > > > > > same > > > > > > > > > > > > > > > > > package > > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > > > > > > actually need to provid= e different > > library > > > > > > > > > > > > implementations > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > same 'ManageabilityTran= sportLib', > > > thanks > > > > > for > > > > > > > the > > > > > > > > > > > > > > > clarification! > > > > > > > > > > > > > > > > > > > > > > > > > > I think your DSC exampl= e 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 BM= C via > > > MCTP/PLDM. > > > > > > > > > > > > > > > > > > > > > > > > > > Currently there is no s= olution for the > > > MCTP > > > > > > > over KCS > > > > > > > > > > > > binding > > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > Linux, > > > > > > > > > > > > > > > > > > > > > > > > > > so I need to add this s= upport: > > > > > > > > > > > > > > > > > > > > > > > > > > - either to the MCTP us= erspace 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 driv= er approach] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Both don't sound like a= n 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 tr= ansmissions? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We use OpenBMC as well, b= ut as you > > > > > mention > > > > > > > there are > > > > > > > > > > > > some > > > > > > > > > > > > > > > > > > > missing > > > > > > > > > > > > > > > > > > > > > > pieces > > > > > > > > > > > > > > > > > > > > > > > > to fully support manageabil= ity between > > > host > > > > > and > > > > > > > BMC. > > > > > > > > > > > > > > > > > > > > > > > > > We don=E2=80=99t have cod= e to handle MCTP > > > IPMI > > > > > > > either, the > > > > > > > > > > > > edk2 > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg > > > > > > > > > > > > > > > > > > > > > > > > provides the framework whil= e > > > > > MCTP/PLDM/KCS > > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > > > > > > provides > > > > > > > > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > > sample other than IPMI/KCS = to prove the > > > > > > > flexibility of > > > > > > > > > > > > > > > > > > > ManageabilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > > Actually, MCTP over KCS i= s not > > supported > > > in > > > > > our > > > > > > > BMC > > > > > > > > > > > > > > > firmware > > > > > > > > > > > > > > > > > yet, > > > > > > > > > > > > > > > > > > > > > thus > > > > > > > > > > > > > > > > > > > > > > > > BMC just returns the invali= d command. > > > > > However, > > > > > > > the > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > > > framework > > > > > > > > > > > > > > > > > > > > > > > > has been verified to make s= ure the > > > > > > > implementation works > > > > > > > > > > > > fine > > > > > > > > > > > > > > > as > > > > > > > > > > > > > > > > > > > expect. > > > > > > > > > > > > > > > > > > > > > > > > > We need help from communi= ty to > > > provide > > > > > more > > > > > > > > > > > > > > > manageability > > > > > > > > > > > > > > > > > > > > > protocols > > > > > > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > transport interface librari= es to this > > package. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You've also mentioned P= LDM SMBIOS, > > > isn't > > > > > it > > > > > > > covered > > > > > > > > > > > > by > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tian= ocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/PldmSmbiosTr > > > > > > > > > > > > > > > > > > > > > > > > > > ansferDxe/PldmSmbiosTra= nsferDxe.c > > > > > > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > > Ah hah, yes I forget I up= stream 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=E2=80=AFPM > > > Chang, > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Onl= y - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > > > > > We use library class = to specify the > > > desire > > > > > > > transport > > > > > > > > > > > > > > > interface > > > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > management protocol, su= ch as MCTP, > > > > > PLDM > > > > > > > and IPMI. > > > > > > > > > > > > This > > > > > > > > > > > > > > > > > way > > > > > > > > > > > > > > > > > > > we > > > > > > > > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > > > > > > flexibly support any tr= ansport > > interface > > > for > > > > > the > > > > > > > > > > > > management > > > > > > > > > > > > > > > > > > > protocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is the example o= f using > > > > > > > ManageabilityPkg, which > > > > > > > > > > > > is > > > > > > > > > > > > > > > > > PLDM > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > over KCS. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf > > > > > > > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspo= r > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tKcsLib/Dxe/DxeManageabilityTransportKcs.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Dxe/MctpProtocolDxe.i= nf > > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspo= r > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > tKcsLib/Dxe/DxeManageabilityTransportKcs.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Dxe/PldmProtocolDxe.i= nf > > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspo= r > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 Messa= ge----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: discuss@edk2.= groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > > > > Behalf Of > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshe= v via > > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Tuesday, Augu= st 22, 2023 > > > 7:00 > > > > > PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: discuss > > > ; > > > > > > > > > > > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: [edk2-disc= uss] PLDM > > > messages > > > > > via > > > > > > > MCTP > > > > > > > > > > > > over > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This messa= ge originated > > > from > > > > > an > > > > > > > External > > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > > when opening attach= ments, > > 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 toge= ther. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The main question t= hat bothers > > me > > > is > > > > > what > > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > > > > should > > > > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > > > > > > > > > > > > > for the > > `ManageabilityTransportLib`? > > > > > > > > > > > > > > > > > > > > > > > > > > > > By default it is se= t 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` > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransp= ortLib| > > > > > > > > > > > > > > > > > > > > > > <...>/DxeManageabilityTransport= Mctp.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > nsportMctpLib/Dxe/DxeManageabilityTransportMctp.inf) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But on the other ca= se if I want > > MCTP > > > > > over > > > > > > > KCS I > > > > > > > > > > > > need to > > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > > it to > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > `DxeManageabilityTransportKcs.inf` > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransp= ortLib| > > > > > > > > > > > > > > > > > > > > > <...>/DxeManageabilityTransportKc= s.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > nsportKcsLib/Dxe/DxeManageabilityTransportKcs.inf) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What is the right w= ay to resolve > > > this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > There are no platfo= rms in the repo > > > that > > > > > > > actually > > > > > > > > > > > > > > > implement > > > > > > > > > > > > > > > > > > > > > > PLDM/MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > > > functionality, so t= here is no > > example > > > > > that I > > > > > > > can use > > > > > > > > > > > > as a > > > > > > > > > > > > > > > > > > > reference. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshe= v > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >=20 > > > -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109667): https://edk2.groups.io/g/devel/message/109667 Mute This Topic: https://groups.io/mt/100897530/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-