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 DE50F94136A for ; Fri, 8 Sep 2023 12:57:09 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=sgbpIgUAqIRzwUIkf1ZkkmpkGskvvw03AvjrbV9oq7A=; 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=1694177828; v=1; b=gC7VMeCu/bRJNYxXdS2tjA8vXzQjzwDdTw2JKvHxRSPxdXDP89WZnPi7BgULocQTNZLzphdo IJlrGn8Hjwmx+ACpjc6fLhNGR7CjRLIE+yXCR7Nw+jxREcPhhs3a6Pj/MOpWtBsqkkxyZM0xPRh kUoNdR15w4YNTurabJvjlx+Q= X-Received: by 127.0.0.2 with SMTP id uLJ9YY7687511xOZkv4Ubto1; Fri, 08 Sep 2023 05:57:08 -0700 X-Received: from mail-ua1-f53.google.com (mail-ua1-f53.google.com [209.85.222.53]) by mx.groups.io with SMTP id smtpd.web11.38301.1694177827657583678 for ; Fri, 08 Sep 2023 05:57:07 -0700 X-Received: by mail-ua1-f53.google.com with SMTP id a1e0cc1a2514c-7a2785e34b6so771379241.1; Fri, 08 Sep 2023 05:57:07 -0700 (PDT) X-Gm-Message-State: qaIhb29Nzblwd4RTFNwJ8iJ2x7686176AA= X-Google-Smtp-Source: AGHT+IEVY2ywzL5jiVwYQgzr0DNZIydCz8LUUf2d2pu1bpBeK48u0mSrx2mgfiqE/ek+5I7FTJIYcENjOK834DNhdQA= X-Received: by 2002:a67:e95c:0:b0:44e:9e43:9d05 with SMTP id p28-20020a67e95c000000b0044e9e439d05mr2790169vso.20.1694177826495; Fri, 08 Sep 2023 05:57:06 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: "Konstantin Aladyshev" Date: Fri, 8 Sep 2023 15:56:55 +0300 Message-ID: Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KCS To: "Chang, Abner" Cc: "devel@edk2.groups.io" , "discuss@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=gC7VMeCu; 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, Chang! I've finished my initial implementation of the MCTP over KCS binding. You can find 'edk2-platform' patches and 'openbmc' patches along with all of the instructions in my repository https://github.com/Kostr/PLDM. I hope you'll be able to reproduce everything on your hardware configuration. Feel free to ask any questions. Also I've sent all the openbmc patches upstream, hope they will get accepted soon. As for the 'edk2-platform' patches, right now I don't fully understand how to write them correctly to keep IPMI over KCS stack working. I think here I would need your help. Right now I've commited them to my `edk2-platforms` fork https://github.com/tianocore/edk2-platforms/commit/99a6c98a63b37f955c0d0480= 149b84fcc3a03f74 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/bb6841e3fd1c60b3f8510b4fc0= a380784e05d326/Features/ManageabilityPkg/Library/ManageabilityTransportKcsL= ib/Common/KcsCommon.c#L414 2) What function should know about the MANAGEABILITY_MCTP_KCS_HEADER? Keep in mind that this header includes 'ByteCount' for the incoming data size that we need to read. - KcsTransportSendCommand or CommonMctpSubmitMessage ? (https://github.com/tianocore/edk2-platforms/blob/master/Features/Manageabi= lityPkg/Library/ManageabilityTransportKcsLib/Common/KcsCommon.c) (https://github.com/tianocore/edk2-platforms/blob/master/Features/Manageabi= lityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon.c)? 3) As I've said earlier I think it would be good to add MANAGEABILITY_MCTP_KCS_TRAILER to the Mctp.h 4) Not sure if it is a good idea to pass these parameters to the MctpSubmitCommand protocol function: ``` UINT8 MctpType, BOOLEAN RequestDataIntegrityCheck, ``` (https://github.com/tianocore/edk2-platforms/blob/master/Features/Manageabi= lityPkg/Include/Protocol/MctpProtocol.h) Shouldn't it be in the `RequestData` directly since it is more of a payload than a header for the MCTP? I don't know the specification very well, but what if the RequestDataIntegrityCheck would be set in the response? Who would need to check the integrity of the payload buffer in that case? MCTP library or the code calling the MCTP library? 5) Haven't tested the PldmProtocol, maybe it also needs some corrections. Feel free to ask any questions about my solution. Right now I'll probably focus on the Linux kernel driver for the MCTP over KCS binding. So if you want to finish edk2-platforms code based on my patches, feel free to do it. If not, I'll try to get back to it after I finish the Linux kernel driver. Best regards, Konstantin Aladyshev On Fri, Sep 1, 2023 at 8:58=E2=80=AFAM Chang, Abner w= rote: > > [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-discuss] PLDM messages via MCTP over KC= S > > > > Caution: This message originated from an External Source. Use proper ca= ution > > when opening attachments, clicking links, or responding. > > > > > > As I've said there is nothing like "KCS completion code" in the MCTP > > over KCS binding specification > > (https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1 > > .0.0.pdf). > > The response packet should have the same structure as a request. I.e. > > a packet with MANAGEABILITY_MCTP_KCS_HEADER and PEC. > > > > Currently I'm writing "MCTP over KCS" binding for the OpenBMC libmctp > > project. So I can send whatever I want, I don't think my output would > > be any useful to you. But I've asked this question in the community > > and they also confirmed that the response packet has the same > > structure. > > (https://discord.com/channels/775381525260664832/7787906385638850 > > 86/1146782595334549554) > > > > Now I'm a little bit confused about the `KcsTransportSendCommand` > > function. It has the following arguments for the function output: > > ``` > > OUT UINT8 *ResponseData OPTIONAL, > > IN OUT UINT32 *ResponseDataSize OPTIONAL > > ``` > > Should we include MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER to > > this > > output or not? > If the MCTP KCS packet for host->BMC and BMC->host are in the same struct= ure, then yes, the response data from BMC should includes MCTP_TRANSPORT_HE= ADER/MCTP_MESSAGE_HEADER in my opinion, as this is defined in MCTP base pro= tocol. > > So let me explain the implementation for MCTP over KCS and what do we mis= s now. > > A. MCTP protocol driver linked with KCS Transport interface library > - In MCTP protocol driver, if the transport interface is KCS then > 1. MCTP protocol driver builds up the MCTP KCS transport header, w= hich is DefBody, NetFunc and ByeCount > 2. MCTP protocol driver builds up the MCTP payload > 3. MCTP protocol driver builds up the MCTP KCS transport trailer, = which is PEC. > Above three steps are already implemented. > PEC is calculated by MCTP protocol driver and should be verified b= y KCS using the same algorithm in my understanding of spec. > > B. In KCS Transport interface library > 1. KCS Transport interface library sends the transport header got f= rom TransportToken. Same behavior for IPMI protocol, but different content.= KCS Transport interface library doesn't have to understand this. > 2. KCS Transport interface library sends the payload > 3. KCS Transport interface library sends the transport trailer got = from TransportToken. Same behavior for IPMI protocol, but different content= . KCS Transport interface library doesn't have to understand this. > Above three steps are already implemented. > > Then, if Manageability protocol is MCTP, we skip reading responses= header (Not implemented) > For reading response data > 1. If the ResponseData and ResponseSize is valid in the given Tr= ansportToken, then we read ResponseSize data from KCS. (Already implemented= ) > 2. if Manageability protocol is MCTP, then we skip reading respo= nses header again (Not implemented) > Now the response is returned to MCTP protocol driver > > C. In MCTP protocol driver, we expect to get the whole MCTP over KCS pac= ket response, that includes DefBody, NetFunc and ByeCount, MCTP message and= PEC. > 1. MCTP protocol driver verifies the returned PEC with the paylo= ad. > 2. Strip out DefBody, NetFunc, ByeCount and PEC and then returns= it to upper layer (e.g., MCTP transport interface library). Returns only M= CTP Transport header and MCTP packet payload as it shows in MCTP base proto= col spec. > Above is not implemented > > D. In MCTP transport interface library, we can strip out MCTP transport h= eader and then return it to upper layer (e.g., PLDM protocol driver). > Above is not implemented. > > E. In PLDM protocol driver, > 1. we verify the Message Integrity Check if the Message Type requ= ests it. > 2. we can remove MCTP message type then return it to upper layer = (e.g., PLDM SMBIOS transfer) > Above is not implemented. > > We didn=E2=80=99t implement BMC->Host in step C, D and E as our current d= emand is to send the SMBIOS table to BMC, which doesn't require the respons= e 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=AFPM Chang, Abner > > wrote: > > > > > > [AMD Official Use Only - General] > > > > > > But wait, wee my another comment below, > > > > > > > -----Original Message----- > > > > From: Chang, Abner > > > > Sent: Thursday, August 31, 2023 11:42 PM > > > > To: devel@edk2.groups.io; aladyshev22@gmail.com > > > > Cc: discuss@edk2.groups.io > > > > Subject: RE: [edk2-devel] [edk2-discuss] PLDM messages via MCTP ove= r > > 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 o= ver > > KCS > > > > > > > > > > Caution: This message originated from an External Source. Use pro= per > > > > caution > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > (I don see what is the response header for MCTP KCS in spec tho= ugh, > > does > > > > it > > > > > mention the KCS response?). > > > > > > > > > > The spec doesn't explicitly mention that the format of a send and > > > > > response packets differ. So I assume it is the same and it is > > > > > described at the "Figure 1 =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 response would look like this: > > > > > ``` > > > > > MANAGEABILITY_MCTP_KCS_HEADER > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Include/Library/Managea > > > > > bilityTransportMctpLib.h) > > > > > MCTP_TRANSPORT_HEADER > > > > > > > > > > > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > > > > > Standard/Mctp.h) > > > > > MCTP_MESSAGE_HEADER > > > > > > > > > > > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > > > > > Standard/Mctp.h) > > > > > < response data> > > > > What do you see the KCS response from BMC? You probably right as th= e > > > > header and trailer are labeled in different colors =F0=9F=98=8A. Co= uld you please > > enable > > > > the debug message to capture it? > > > > > > > > > PEC > > > > > (Probably we need to define > > MANAGEABILITY_MCTP_KCS_TRAILER) > > > > > ``` > > > > We have MANAGEABILITY_MCTP_KCS_HEADER defined but no > > > > MANAGEABILITY_MCTP_KCS_TRAILER as it is hardcoded to one byte. > > > > If the KCS response is PEC, then yes, we can create > > > > MANAGEABILITY_MCTP_KCS_TRAILER for KCS transport interface. > > > > > > In the implementation, PEC is calculated in MCTP protocol and send th= rough > > KCS as the KCS packet trailer. So, when we send the MCTP request throug= h > > 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 implementatio= n. > > > > > > Thanks > > > Abner > > > > > > > > > > > > > > > > > So in the "KcsTransportSendCommand" > > > > > (https://github.com/tianocore/edk2- > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > on.c#L414) > > > > > we can check if we transfer is MCTP (based on > > > > > "TransportToken->ManagebilityProtocolSpecification =3D=3D MCTP" l= ike > > > > > you've suggested) and handle response accordingly. > > > > > > > > > > But which headers should we check in this function? Only > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER/MANAGEABILITY_MCTP_KCS_TRAILER > > > > > ? > > > > Yes, only check header and trailer for transport interface. > > > > > > > > > What about MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER? > > Do > > > > we > > > > > need to > > > > > check them here as well? Or do we need to check them somewhere > > upper > > > > > the call stack? > > > > We should leave this to MCTP protocol driver as this is belong to p= rotocol > > > > 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 - General] > > > > > > > > > > > > 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 originated from an External Source. Use= proper > > > > > caution > > > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > I've started to implement MCTP over KCS binding for the libmc= tp > > > > > > > (https://github.com/openbmc/libmctp) and test it with the cur= rent > > code > > > > > > > in the ManageabilityPkg. > > > > > > > > > > > > > > I was able successfully send the MCTP packet to the BMC, but = right > > now > > > > > > > I'm having some troubles with receiving the answer back. > > > > > > > > > > > > > > I think I've found some bug in the `KcsTransportSendCommand` = code. > > > > > > > > > > > > > > After it sends data over KCS in expects a responce starting w= ith a > > > > > > > 'IPMI_KCS_RESPONSE_HEADER' > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > on.c#L476 > > > > > > > > > > > > > > Isn't it wrong, assuming that the right header in case of MCT= P should > > > > > > > be 'MANAGEABILITY_MCTP_KCS_HEADER' ? > > > > > > > > > > > > > > I guess the 'IpmiHelperCheckCompletionCode' check after the d= ata > > > > > > > receive is also not relevant 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 the code to handle MCTP over KCS > > > > command. > > > > > However it is appreciated if community can help to verify this. A= s I can > > > > > remember, I can see the return KCS status is 0xC1, the invalid co= mmand. > > > > Thus I > > > > > think if we do a MCTP over KCS, the first response is still KCS r= esponse > > > > header. > > > > > > This is not what do you see on the BCM it does support MCTP ove= r > > KCS? If > > > > > so, then I would like to have your help to correct this code. > > > > > > > > > > > > > > > > > > > > Since 'ManageabilityTransportKcsLib' can be used both for IPM= I and > > > > > > > MCTP, how should we deal with this? > > > > > > If KcsCommon.c, we can have different code path for the given p= rotocol > > > > > 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 mention the KCS response?). > > > > > > > > > > > > Thanks > > > > > > Abner > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > On Wed, Aug 23, 2023 at 5:18=E2=80=AFAM Chang, Abner > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > Please see my answers inline. > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > From: discuss@edk2.groups.io On > > Behalf > > > > Of > > > > > > > > > Konstantin Aladyshev via 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-discuss] PLDM messages via MCTP over K= CS > > > > > > > > > > > > > > > > > > Caution: This message originated from an External Source.= Use > > proper > > > > > > > caution > > > > > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the answer! > > > > > > > > > > > > > > > > > > I was a little bit confused about the part, that in the s= ame package > > I > > > > > > > > > actually need to provide different library implementation= s for the > > > > > > > > > same 'ManageabilityTransportLib', thanks for the clarific= ation! > > > > > > > > > I think your DSC example should go into the package > > documentation. > > > > > > > > Yes, this is a good idea. I will update it. > > > > > > > > > > > > > > > > > > > > > > > > > > As for me, I'm working with the OpenBMC distribution > > > > > > > > > (https://github.com/openbmc/openbmc) and my goal is to > > transfer > > > > > data > > > > > > > > > from the BIOS to the BMC via MCTP/PLDM. > > > > > > > > > Currently there is no solution for the MCTP over KCS bind= ing in > > Linux, > > > > > > > > > so I need to add this support: > > > > > > > > > - either to the MCTP userspace library > > > > > > > > > (https://github.com/openbmc/libmctp) [old OpenBMC way, bu= t > > > > > probably > > > > > > > > > easier] > > > > > > > > > - or to the MCTP kernel binding > > > > > > > > > > > (https://github.com/torvalds/linux/tree/master/drivers/net/mctp) > > > > > > > > > [modern mctp Linux driver approach] > > > > > > > > > > > > > > > > > > Both don't sound like an easy task, so can I ask, what MC= (i.e. > > > > > > > > > management controller) device and firmware do you use on = the > > other > > > > > > > > > side of the MCTP KCS transmissions? > > > > > > > > > > > > > > > > We use OpenBMC as well, but as you mention there are some > > missing > > > > > pieces > > > > > > > to fully support manageability between host and BMC. > > > > > > > > We don=E2=80=99t have code to handle MCTP IPMI either, the = edk2 > > > > > ManageabilityPkg > > > > > > > provides the framework while MCTP/PLDM/KCS implementation > > > > provides > > > > > a > > > > > > > sample other than IPMI/KCS to prove the flexibility of > > ManageabilityPkg. > > > > > > > > Actually, MCTP over KCS is not supported in our BMC firmwar= e yet, > > > > thus > > > > > > > BMC just returns the invalid command. However, the transport > > > > framework > > > > > > > has been verified to make sure the implementation works fine = as > > expect. > > > > > > > > We need help from community to provide more manageability > > > > protocols > > > > > and > > > > > > > transport interface libraries to this package. > > > > > > > > > > > > > > > > > > > > > > > > > > You've also mentioned PLDM SMBIOS, isn't it covered by th= e > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/PldmSmbiosTr > > > > > > > > > ansferDxe/PldmSmbiosTransferDxe.c > > > > > > > > > ? > > > > > > > > Ah hah, yes I forget I upstream it. > > > > > > > > > > > > > > > > Please just feel free to send patch to make more functional= ities 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 Only - General] > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > We use library class to specify the desire transport in= terface for > > the > > > > > > > > > management protocol, such as MCTP, PLDM and IPMI. This wa= y > > we > > > > can > > > > > > > > > flexibly support any transport interface for the manageme= nt > > protocol. > > > > > > > > > > > > > > > > > > > > Here is the example of 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.inf { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityTransportLib|ManageabilityPkg/Library/ManageabilityTranspo= r > > > > > > > > > tKcsLib/Dxe/DxeManageabilityTransportKcs.inf > > > > > > > > > > } > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Dxe/PldmProtocolDxe.inf { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 bu= t > > > > not > > > > > > > > > upstream yet. > > > > > > > > > > > > > > > > > > > > Hope this information helps. > > > > > > > > > > Thanks > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > From: discuss@edk2.groups.io = On > > > > > Behalf Of > > > > > > > > > > > Konstantin Aladyshev via groups.io > > > > > > > > > > > Sent: Tuesday, August 22, 2023 7:00 PM > > > > > > > > > > > To: discuss ; devel@edk2.grou= ps.io > > > > > > > > > > > Subject: [edk2-discuss] PLDM messages via MCTP over K= CS > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an External Sou= rce. Use > > > > > proper > > > > > > > > > caution > > > > > > > > > > > when opening attachments, clicking links, or respondi= ng. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > I'm trying to build `ManageabilityPkg` from the edk2-= platforms > > > > > > > > > > > repo to issue PLDM messages via MCTP over KCS. Is it= possible > > > > with > > > > > > > > > > > the current code? I see all the building blocks, but = have trouble > > > > > > > > > > > putting it all together. > > > > > > > > > > > > > > > > > > > > > > The main question that bothers me is what implementat= ion > > should > > > > I > > > > > set > > > > > > > > > > > for the `ManageabilityTransportLib`? > > > > > > > > > > > By default it is set to dummy > > `BaseManageabilityTransportNull.inf` > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/ManageabilityPkg.dsc). > > > > > > > > > > > > > > > > > > > > > > On one case to get PLDM via MCTP it looks that I need= to set it > > to > > > > > > > > > > > `DxeManageabilityTransportMctp.inf` > > > > > > > > > > > ManageabilityTransportLib| > > > > > <...>/DxeManageabilityTransportMctp.inf > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > nsportMctpLib/Dxe/DxeManageabilityTransportMctp.inf) > > > > > > > > > > > > > > > > > > > > > > But on the other case if I want MCTP over KCS I need = to set it to > > > > > > > > > > > `DxeManageabilityTransportKcs.inf` > > > > > > > > > > > ManageabilityTransportLib| > > > > <...>/DxeManageabilityTransportKcs.inf > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > nsportKcsLib/Dxe/DxeManageabilityTransportKcs.inf) > > > > > > > > > > > > > > > > > > > > > > What is the right way to resolve this? > > > > > > > > > > > > > > > > > > > > > > There are no platforms in the repo that actually impl= ement > > > > > PLDM/MCTP > > > > > > > > > > > functionality, so there is no example that I can use = as a > > reference. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >=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 (#108445): https://edk2.groups.io/g/devel/message/108445 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-