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 0E460941AD5 for ; Wed, 18 Oct 2023 17:14:23 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=qfMOTNpzcdQR9FjdBbHR9zhvdO+8xVeVakPC/MUpuTY=; c=relaxed/simple; d=groups.io; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:To: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=1697649262; v=1; b=iXl4TGFSvL6zi8zG88efZclshNjcnpVpU02pjAgFbfPFjp96lz2BsKD4qQAO13dpGtU+b4/+ 4rlG1ASs0vfHjPLNZpvLUpRQ5GHDb2byN8Avin4ERe72kvqi85mdi5yxfizWgNeccYPGxffYQim mhm8GHwSP6JRn6442p9EXsgk= X-Received: by 127.0.0.2 with SMTP id 3h2kYY7687511xBuanpSRWLt; Wed, 18 Oct 2023 10:14:22 -0700 X-Received: from mail-vs1-f53.google.com (mail-vs1-f53.google.com [209.85.217.53]) by mx.groups.io with SMTP id smtpd.web10.287528.1697649261608420907 for ; Wed, 18 Oct 2023 10:14:22 -0700 X-Received: by mail-vs1-f53.google.com with SMTP id ada2fe7eead31-45865d6e588so558822137.0; Wed, 18 Oct 2023 10:14:21 -0700 (PDT) X-Gm-Message-State: iXSWISjFVPEhIf1Tda1vVJo8x7686176AA= X-Google-Smtp-Source: AGHT+IHNiFi/iqIcSFIc+RNF2sYsi2d6sDV322rcoqFaF1IRK1WLrELRAOPNhbJIFrR4FVW2j0th2SIAvgb0jmGuM8c= X-Received: by 2002:a67:fb07:0:b0:44e:837a:25e with SMTP id d7-20020a67fb07000000b0044e837a025emr3420543vsr.11.1697649260113; Wed, 18 Oct 2023 10:14:20 -0700 (PDT) MIME-Version: 1.0 References: <178DEE4D03C504AF.14388@groups.io> In-Reply-To: From: "Konstantin Aladyshev" Date: Wed, 18 Oct 2023 20:14:08 +0300 Message-ID: Subject: Re: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KCS To: "Chang, Abner" , "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=iXl4TGFS; 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 Thanks! I've found some issues with the current PLDM code, I hope I will get back with complete feedback on how to make everything work by Friday. I was also thinking about the response buffer interface in the MctpProtocol/PldmProtocols. Currently the caller should provide the response buffer big enough to accommodate the actual response. Otherwise the code will return with error. I'm thinking, wouldn't it be better to just dynamically allocate the response buffer inside the protocols and leave the responsibility of calling FreePool(...) to the caller? What do you think? Best regards, Konstantin Aladyshev On Wed, Oct 18, 2023 at 6:45=E2=80=AFAM Chang, Abner = wrote: > > [AMD Official Use Only - General] > > Code update is on https://github.com/changab/edk2-platforms/tree/MCTP_OVE= R_KCS_UPDATE, the last commit. > > Abner > > > -----Original Message----- > > From: Chang, Abner > > Sent: Wednesday, October 18, 2023 10:49 AM > > To: Konstantin Aladyshev > > Subject: RE: [edk2-devel] [edk2-discuss] PLDM messages via MCTP over KC= S > > > > Sure, this works for me. I will update the code. > > > > Thanks > > Abner > > > > > -----Original Message----- > > > From: Konstantin Aladyshev > > > Sent: Tuesday, October 17, 2023 11:58 PM > > > To: Chang, Abner > > > 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. > > > > > > > > > Oops, sorry, never mind the last letter. I think I've got confused > > > between the different PldmSubmit functions. > > > We don't need to change the protocol interface. > > > > > > But still I think we can get rid of special values like > > > PLDM_TERMINUS_ID_UNASSIGNED and PLDM_TERMINUS_ID_SPECIAL > > with > > > something like this: > > > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/PldmProtocolLib.c#L1= 6 > > > - UINT8 mSourcePldmTerminusId =3D > > > PLDM_TERMINUS_ID_UNASSIGNED; > > > - UINT8 mDestinationPldmTerminusId =3D > > > PLDM_TERMINUS_ID_UNASSIGNED; > > > + UINT8 mSourcePldmTerminusId =3D > > > PcdGet8(PcdPldmSourceTerminusId); > > > + UINT8 mDestinationPldmTerminusId =3D > > > PcdGet8(PcdPldmDestinationTerminusId); > > > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > > > ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/PldmProtocolLib.c#L105 > > > ``` > > > Status =3D mEdkiiPldmProtocol->Functions.Version1_0- > > >PldmSubmitCommand > > > ( > > > mEdkiiPldmProt= ocol, > > > PldmType, > > > Command, > > > - > > > (mSourcePldmTerminusId =3D=3D PLDM_TERMINUS_ID_SPECIAL)? (UINT8 > > > *)NULL: > > > &mSourcePldmTerminusId, > > > - > > > (mDestinationPldmTerminusId =3D=3D PLDM_TERMINUS_ID_SPECIAL)? (UINT8 > > > *)NULL: &mDestinationPldmTerminusId, > > > + &mSourcePldmTer= minusId, > > > + > > > &mDestinationPldmTerminusId, > > > RequestData, > > > RequestDataSiz= e, > > > ResponseData, > > > ResponseDataSi= ze > > > ); > > > ``` > > > > > > I'll try to test everything on the hardware tomorrow. > > > > > > Best regards, > > > Konstantin Aladyshev > > > > > > On Tue, Oct 17, 2023 at 4:12=E2=80=AFPM Konstantin Aladyshev > > > wrote: > > > > > > > > One more thought. > > > > > > > > Shouldn't we also put the "PldmSetTerminus" to the > > > EDKII_PLDM_PROTOCOL? > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > ManageabilityPkg/Include/Protocol/PldmProtocol.h#L71 > > > > > > > > As you remember in my test application I've manually constructed th= e > > > > MCTP buffer for the "GetPLDMTypes (0x04)" PLDM command and sent it > > via > > > > the EDKII_MCTP_PROTOCOL: > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > ManageabilityPkg/Include/Protocol/PldmProtocol.h#L71 > > > > > > > > The next test should be to send the same command, but via the > > > > EDKII_PLDM_PROTOCOL. > > > > And to route the MCTP packet correctly, we somehow need to call the > > > > "PldmSetTerminus" function, before calling "PldmSubmit". > > > > So I think we need to add PldmSetTerminus to the > > EDKII_PLDM_PROTOCOL > > > interface: > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > ManageabilityPkg/Include/Protocol/PldmProtocol.h#L71 > > > > > > > > typedef struct { > > > > PLDM_SET_TERMINOUS PldmSetTerminous; > > > > PLDM_SUBMIT_COMMAND PldmSubmitCommand; > > > > } EDKII_PLDM_PROTOCOL_V1_0; > > > > > > > > What do you think? > > > > > > > > Best regards, > > > > Konstantin Aladyshev > > > > > > > > On Tue, Oct 17, 2023 at 2:37=E2=80=AFPM Konstantin Aladyshev > > > > wrote: > > > > > > > > > > Sorry, maybe I've described this wrong. > > > > > Initially mSourcePldmTerminusId/mDestinationPldmTerminusId would > > get > > > > > their values from the build-time PCDs: > > > > > """ > > > > > UINT8 mSourcePldmTerminusId =3D > > > > > PcdGet8(PcdPldmSourceTerminusId); > > > > > UINT8 mDestinationPldmTerminusId =3D > > > > > PcdGet8(PcdPldmDestinationTerminusId); > > > > > """ > > > > > > > > > > So by default the PCD values are used in the PLDM protocols. If t= he > > > > > user want to use something different, he would execute something = like > > > > > 'PldmSmbiosTransferProtocol.PldmSetTerminus'. This function as wr= itten > > > > > would change values of the > > > > > "mSourcePldmTerminusId/mDestinationPldmTerminusId". > > > > > """ > > > > > PldmSmbiosTransferProtocol.PldmSetTerminus -> > > > > > PldmProtocolLib.PldmSetTerminus -> modify > > > > > mSourcePldmTerminusId/mDestinationPldmTerminusId > > > > > """ > > > > > https://github.com/changab/edk2- > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/PldmProtocolLib.c#L4= 4 > > > > > > > > > > In this case PldmSubmit can always just use > > > > > mSourcePldmTerminusId/mDestinationPldmTerminusId values for TIDs. > > > > > > > > > > Best regards, > > > > > Konstantin Aladyshev > > > > > > > > > > On Tue, Oct 17, 2023 at 1:39=E2=80=AFPM Chang, Abner > > > > > wrote: > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > -----Original Message----- > > > > > > > From: Konstantin Aladyshev > > > > > > > Sent: Tuesday, October 17, 2023 4:54 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. > > > > > > > > > > > > > > > > > > > > > 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. > > > > > > Oops. That is in edk2. Here it is: > > > https://github.com/changab/edk2/tree/MCTP_OVER_KCS_UPDATE > > > > > > > > > > > > > > > > > > > > My understanding was that we give initial values for the Term= inusId > > > > > > > values as PCDs: > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > > > > > > > > > > ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/PldmProtocolLib.c#L16C > > > > > > > 1-L17C79 > > > > > > > ``` > > > > > > > UINT8 mSourcePldmTerminusId =3D > > > > > > > PcdGet8(PcdPldmSourceTerminusId); > > > > > > > UINT8 mDestinationPldmTerminusId =3D > > > > > > > PcdGet8(PcdPldmDestinationTerminusId); > > > > > > > ``` > > > > > > If we do this then we have to change the platform PCD setting i= n build > > > time to give the different value of PLDM terminus ID. So the EFI shel= l > > > application binary (e.g., 3rd party EFI app if any) has no way to use= different > > > TID value, unless we declare PCD as dynamic and EFI application has t= o use > > > PCD protocol to change the value. This would be the burden of EFI > > application > > > and unnecessary in my option. > > > > > > So the implementation is if SetPldmSmbiosTransferTerminusId is > > invoked, > > > PldmSetTerminus in PldmProtocolLib is invoked to set the new value of= TID > > > and only for PldmSmbiosTransferProtocol. Otherwise the default PCD > > defined > > > by platform developer are used. This is the most flexible to support = different > > > use cases. > > > > > > > > > > > > > > > > > > > > And in the PldmSubmit function just use them: > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > platforms/blob/56087215747be4a6a73e17e8478d5a8c6e35c801/Features/ > > > > > > > > > > > > ManageabilityPkg/Library/PldmProtocolLibrary/Dxe/PldmProtocolLib.c#L100 > > > > > > > ``` > > > > > > > Status =3D mEdkiiPldmProtocol->Functions.Version1_0- > > > >PldmSubmitCommand > > > > > > > ( > > > > > > > mEdkii= PldmProtocol, > > > > > > > PldmTy= pe, > > > > > > > Comman= d, > > > > > > > mSourc= ePldmTerminusId, > > > > > > > > > > > > > > mDestinationPldmTerminusId, > > > > > > > Reques= tData, > > > > > > > Reques= tDataSize, > > > > > > > Respon= seData, > > > > > > > Respon= seDataSize > > > > > > > ); > > > > > > > ``` > > > > > > > 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 val= ues for > > > > > > > the TID according to the specification: 0x00 and 0xff. > > > > > > Yes, we can use 0x00 as the unsigned value as it is defined in = GetTID > > > command. > > > > > > > > > > > > Thanks > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 also 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 vi= a > > MCTP > > > over > > > > > > > KCS > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > Caution: This message originated from an External Source.= Use > > > proper > > > > > > > caution > > > > > > > > > when opening attachments, clicking links, or responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > 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 Sourc= e. 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 w= as > > asking > > > about > > > > > > > > > > MCTP EIDs. Don't they like different concepts? Or did y= ou mean > > > that we > > > > > > > > > > need to have a mapping of TIDs<-->EIDs in PldmProtocolL= ib? > > > > > > > > > I just distinguish the ID naming for PLDM and MCTP using = the > > > > > > > terminologies > > > > > > > > > defined in spec. For PLDM to MCTP, the values are the sam= e as the > > > SID and > > > > > > > EID > > > > > > > > > are passed to MCTP from PLDM. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I reviewed these patches just now, that looks good to= me. > > > However this > > > > > > > > > way > > > > > > > > > > we don=E2=80=99t have the history in the mailing list. > > > > > > > > > > If the code looks good to you, I'll try to properly for= mat all our > > > > > > > > > > patches and send them to the mailing list next week. > > > > > > > > > Ok, I see. > > > > > > > > > > > > > > > > > > > > > BTW, are you an individual contributor or you are the > > > representative of > > > > > > > a > > > > > > > > > > firm? > > > > > > > > > > As a part of my job I develop UEFI and BMC firmware. Bu= t all the > > > > > > > > > > open-source work that I do I perform on my own free tim= e. So > > you > > > can > > > > > > > > > > count me as an individual contributor) > > > > > > > > > I am asking this because I am looking for an additional r= eviewer for > > > > > > > > > ManageabilityPkg as the replacement of Isaac from Intel a= s he is > > no > > > longer > > > > > > > > > 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 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. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Chang! > > > > > > > > > > > > > > > > > > > > > > > > Thanks for the response! > > > > > > > > > > > > Is it ok that because of 1) we would need to includ= e 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 burd= en 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 dri= ver > > (e.g., > > > > > > > SMBIOS) > > > > > > > > > > has its own PLDM terminus ID in the PldmProtocolLib ins= tance. > > We > > > still > > > > > > > > > define > > > > > > > > > > PCDs for these two PLDM ID which is similar to MCTP pro= tocol. > > > 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 fash= ion before > > > posting > > > > > > > > > > > > them to the mailing list. So you can review them an= d provide > > > > > > > feedback. > > > > > > > > > > > I reviewed these patches just now, that looks good to= me. > > > However this > > > > > > > > > way > > > > > > > > > > we don=E2=80=99t have the history in mailing list. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also I wanted to ask if you plan to work on the req= uired > > > changes > > > > > > > > > > > > yourself, or am I on my own from here?) > > > > > > > > > > > That would be good if you can help, that is also fine= for me to > > > update > > > > > > > the > > > > > > > > > > code, however it would be later next week as I have to = work on > > > some > > > > > > > tasks. > > > > > > > > > > > > > > > > > > > > > > BTW, are you an individual contributor or you are the > > > representative of > > > > > > > a > > > > > > > > > > firm? > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 11, 2023 at 8:58=E2=80=AFAM Chang, Abne= r > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > Here is my response, > > > > > > > > > > > > > > > > > > > > > > > > > > 1. Shouldn't we update the PLDM protocol's 'PldmS= ubmit' > > > function > > > > > > > to > > > > > > > > > > > > receive 'MctpSrcEID'/'MctpDestEID'. > > > > > > > > > > > > > Yes, I see the use case of EFI shell application.= I would like to > > > have the > > > > > > > > > > input > > > > > > > > > > > > parameters similar with MctpSubmitCommand. Use poin= ters > > > for the > > > > > > > > > given > > > > > > > > > > > > SEID and DEID, adopt the fix PCD value of the point= er is NULL. > > > > > > > > > > > > > > > > > > > > > > > > > > 2. The 'PldmProtocolCommon' code contains array > > > ofexpected > > > > > > > > > response > > > > > > > > > > > > sizes. > > > > > > > > > > > > > The idea is as an high level PLDM driver, such as= SMBIOS, it > > > doesn't > > > > > > > have > > > > > > > > > > to > > > > > > > > > > > > handle the full size of PLDM message. It should onl= y care > > about > > > the > > > > > > > > > > response > > > > > > > > > > > > data belong to it. That's why I added the array to = define the > > > PLDM > > > > > > > > > > response > > > > > > > > > > > > size for any PLDM spec. > > > > > > > > > > > > > As the PLDM message and PLDM complete code is in = a fixe > > > size. I > > > > > > > think > > > > > > > > > we > > > > > > > > > > > > can remove the array and just adjust the response s= ize in > > PLDM > > > > > > > Protocol > > > > > > > > > > > > driver. > > > > > > > > > > > > > > > > > > > > > > > > > > 3. The 'AdditionalTransferError' is designed to a= ccommodate > > > error > > > > > > > > > codes > > > > > > > > > > for > > > > > > > > > > > > the specific transport or protocol. We don=E2=80=99= t have much > > > > > > > implementation > > > > > > > > > of > > > > > > > > > > > > 'AdditionalTransferError' as the entire Manageabili= ty needs > > > more > > > > > > > > > practices > > > > > > > > > > to > > > > > > > > > > > > make it more mature. > > > > > > > > > > > > > I suggest we can categorize 'AdditionalTransferE= rror' using > > > the most > > > > > > > > > > > > significant byte, for example > > > > > > > > > > > > > 0x00 - Common additional transfer error. > > > > > > > > > > > > > 0x80 - KCS transport error > > > > > > > > > > > > > 0x81 - MCTP > > > > > > > > > > > > > ... > > > > > > > > > > > > > 0xC0 - IPMI protocol error > > > > > > > > > > > > > 0xC1 - PLDM protocol error > > > > > > > > > > > > > ... > > > > > > > > > > > > > > > > > > > > > > > > > > How do you think? > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > Sent: Thursday, October 5, 2023 11:18 PM > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > Cc: discuss@edk2.groups.io; devel@edk2.groups.i= o > > > > > > > > > > > > > > Subject: Re: [edk2-devel] [edk2-discuss] PLDM m= essages > > > via > > > > > > > MCTP > > > > > > > > > > over > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated from an Extern= al Source. > > > Use > > > > > > > proper > > > > > > > > > > > > caution > > > > > > > > > > > > > > when opening attachments, clicking links, or re= sponding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sorry for many messages today, but I have one m= ore > > > observation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think the MCTP code should set specific > > > 'AdditionalTransferError' > > > > > > > > > > > > > > for the caller when it fails on each of the res= ponse header > > > checks: > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > > > > > > > > > c#L464 > > > > > > > > > > > > > > > > > > > > > > > > > > > > But I'm not sure how 'AdditionalTransferError' = can be > > > utilized for > > > > > > > > > > > > > > this. Right now the errors are generic for the = IPMI/MCTP > > > protocols > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Include/Library/ManageabilityTransportLib.h#= L63 > > > > > > > > > > > > > > Maybe it would be good to reserve some bits for= the > > > protocol > > > > > > > specific > > > > > > > > > > > > > > errors? What do you think? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also I don't see anything like 'AdditionalTrans= ferError' in > > the > > > PLDM > > > > > > > > > > > > > > protocol code. Shouldn't it also support report= ing > > additional > > > error > > > > > > > > > > > > > > information to the user? > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've also created PRs for your edk2/edk2-platfo= rms 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 Konstant= in 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/PldmSmbiosTransferD= xe.c) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Because only the PldmSmbios protocol code sho= uld > > 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 Konsta= ntin Aladyshev > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also I see that the 'PldmProtocolCommon' co= de > > contains > > > array > > > > > > > of > > > > > > > > > > > > > > > > expected response sizes for every supported= PLDM > > > command: > > > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > > > > > > > > > c#L24 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm not sure that we should have this, sinc= e we don't > > > need to > > > > > > > > > know > > > > > > > > > > the > > > > > > > > > > > > > > > > MCTP response size apriori. > > > > > > > > > > > > > > > > This only limits allowed PLDM commands to t= he > > > supported > > > > > > > array: > > > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/5af7ca1555863288bd2887ca465ad07d74b9868e/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > > > > > > > > > c#L261 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This means that right now I can't execute m= y simple > > > > > > > > > 'GetPLDMTypes' > > > > > > > > > > > > > > > > command through the 'PldmSubmit' protocol > > function. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Oct 5, 2023 at 12:55=E2=80=AFPM Kon= stantin > > Aladyshev > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Shouldn't we update the PLDM protocol's > > > 'PldmSubmit' > > > > > > > function > > > > > > > > > > to > > > > > > > > > > > > > > > > > receive 'MctpSrcEID'/'MctpDestEID' as inc= oming > > > parameters? > > > > > > > Or > > > > > > > > > > > > maybe > > > > > > > > > > > > > > > > > add some 'PldmInit' function to set those= parameters > > > for > > > > > > > further > > > > > > > > > > > > PLDM > > > > > > > > > > > > > > > > > communication? > > > > > > > > > > > > > > > > > Because right now the MCTP EIDs are fixed= to PCDs > > > with no > > > > > > > > > > flexibility > > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/d6e36a151ff8365cdc55a6914cc5e6138d5788dc/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/PldmProtocol/Common/PldmProtocolCommon. > > > > > > > > > > > > > > c#L121 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Oct 5, 2023 at 7:03=E2=80=AFAM Ch= ang, 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-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. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised th= ere are some > > > build > > > > > > > errors > > > > > > > > > at > > > > > > > > > > > > your > > > > > > > > > > > > > > end. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm surprised your compiler didn't ca= tch that since > > it > > > is all > > > > > > > basic > > > > > > > > > > > > > > > > > > > syntax errors. > > > > > > > > > > > > > > > > > > > I've used your > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > platforms/tree/MCTP_OVER_KCS_UPDATE > > > > > > > > > > > > > > > > > > > directly. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Ah I know why, I forget to rebuild the = changes of > > > both PEC > > > > > > > and > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > EID after I verifying the functionality of IPMI= on the new > > > > > > > > > > KbcCommonLib.c. > > > > > > > > > > > > > > Yes, I do see the build error now and was fixed= at my end. > > > My fault. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > How do you think we just send it to= the mailing > > > list for > > > > > > > > > review > > > > > > > > > > > > and > > > > > > > > > > > > > > keep > > > > > > > > > > > > > > > > > > > working on other problems based on it= .? > > > > > > > > > > > > > > > > > > > > Could you please send the patches o= ut, with > > you > > > as the > > > > > > > > > > author > > > > > > > > > > > > and > > > > > > > > > > > > > > I'm the > > > > > > > > > > > > > > > > > > > coauthor? I will review it again on = dev mailing list. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > No problem, I can send a patch to the= 'edk2- > > devel' > > > mailing > > > > > > > > > list. > > > > > > > > > > > > > > > > > > > But before that I think I'll write a = test app to check > > if > > > PLDM > > > > > > > > > > > > > > > > > > > protocols work correctly. > > > > > > > > > > > > > > > > > > Ok. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Also earlier I've pointed to a fact t= hat > > > > > > > 'MctpSourceEndpointId' > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > 'MctpDestinationEndpointId' aren't ac= tually used > > in > > > the > > > > > > > > > > > > > > > > > > > 'MctpSubmitMessage' function. > > > > > > > > > > > > > > > > > > > EIDs are always taken from the PCDs: > > > > > > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/1c8d0d3fa403b47a34667f7f690add7822163111/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > > > > > > > > > > > > > > c#L178 > > > > > > > > > > > > > > > > > > > What can we do about that? > > > > > > > > > > > > > > > > > > Ah yes, we should update the algorithm,= it is done > > > here: > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > platforms/tree/MCTP_OVER_KCS_UPDATE. You have t= o > > > update > > > > > > > your > > > > > > > > > > code > > > > > > > > > > > > > > here: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/Kostr/PLDM/blob/master/PldmMessage/PldmMessage.c > > > > > > > > > > > > > > > > > > And we also need the fix the typo on ed= k2, > > > > > > > > > > > > > > > > > > > > > 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, shoul= dn't be > > really > > > used > > > > > > > now) > > > > > > > > > > > > > > > > > > > (2) kernel approach > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > It is hard to tell if OpenBMC patches= for the (1) > > > approach > > > > > > > will > > > > > > > > > be > > > > > > > > > > > > > > > > > > > merged. Since I've developed the Linu= x kernel > > driver > > > (2) > > > > > > > > > nobody > > > > > > > > > > > > really > > > > > > > > > > > > > > > > > > > cares about (1). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For the (2) there are a couple of Ope= nBMC > > patches > > > which > > > > > > > I've > > > > > > > > > > > > helped > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > develop, but I'm just a coathor in th= em. So it is > > hard > > > for > > > > > > > me to > > > > > > > > > > tell > > > > > > > > > > > > > > > > > > > when they would be merged. For me it = looks like > > > they are > > > > > > > > > > mostly > > > > > > > > > > > > > > ready: > > > > > > > > > > > > > > > > > > > 66591: transport: af-mctp: Add > > > > > > > > > > pldm_transport_af_mctp_bind() | > > > > > > > > > > > > > > > > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/libpldm/+/66591 > > > > > > > > > > > > > > > > > > > 63652: pldm: Convert to using libpldm= transport > > > APIs | > > > > > > > > > > > > > > > > > > > > > > https://gerrit.openbmc.org/c/openbmc/pldm/+/63652 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > For the (2) I also need to push the m= ctp Linux > > kernel > > > driver > > > > > > > > > > > > upstream. > > > > > > > > > > > > > > > > > > > Linux kernel development is not what = I do every > > > day, so > > > > > > > I'm > > > > > > > > > not > > > > > > > > > > > > sure > > > > > > > > > > > > > > > > > > > how long it would take. But I'm prett= y determined > > > to > > > > > > > finish > > > > > > > > > the > > > > > > > > > > > > work > > > > > > > > > > > > > > > > > > > and push my driver upstream. Currentl= y there are > > > some > > > > > > > > > > questions > > > > > > > > > > > > > > > > > > > regarding Linux KCS subsystem, so alo= ng with the > > > KCS > > > > > > > > > > subsystem > > > > > > > > > > > > > > creator > > > > > > > > > > > > > > > > > > > we have to figure out how to rewrite = the > > > subsystem > > > > > > > correctly. > > > > > > > > > > So > > > > > > > > > > > > this > > > > > > > > > > > > > > > > > > > can take some time. > > > > > > > > > > > > > > > > > > > After the code is pushed to the torva= lds/linux, it > > > would be > > > > > > > > > > picked > > > > > > > > > > > > up > > > > > > > > > > > > > > > > > > > by the openbmc/linux automatically. > > > > > > > > > > > > > > > > > > Ok, I got it. Thanks for the detailed i= nformation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Regards, > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Oct 4, 2023 at 7:12=E2=80=AFP= M Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > That is great, and I'm surprised th= ere are some > > > build > > > > > > > errors > > > > > > > > > at > > > > > > > > > > > > your > > > > > > > > > > > > > > end. > > > > > > > > > > > > > > > > > > > > How do you think we just send it to= the mailing > > > list for > > > > > > > > > review > > > > > > > > > > > > and > > > > > > > > > > > > > > keep > > > > > > > > > > > > > > > > > > > working on other problems based on it= .? > > > > > > > > > > > > > > > > > > > > Could you please send the patches o= ut, with > > you > > > as the > > > > > > > > > > author > > > > > > > > > > > > and > > > > > > > > > > > > > > I'm the > > > > > > > > > > > > > > > > > > > coauthor? I will review it again on = dev mailing list. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I will take a look on kernal change= . Btw, how long > > > do you > > > > > > > > > think > > > > > > > > > > I > > > > > > > > > > > > > > would take > > > > > > > > > > > > > > > > > > > to merge your changes on openBMC? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Get Outlook for Android > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ________________________________ > > > > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > 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-dis= cuss] PLDM > > > > > > > messages > > > > > > > > > via > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This message originated fr= om an > > External > > > > > > > Source. > > > > > > > > > > Use > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > caution when opening attachments, cli= cking links, > > > or > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks! > > > > > > > > > > > > > > > > > > > > There were a couple of trivial comp= ilation errors, > > > but > > > > > > > after > > > > > > > > > I've > > > > > > > > > > > > > > > > > > > > fixed them everything seems to work= fine! > > > > > > > > > > > > > > > > > > > > Just in case I've tested the OpenBM= C side with > > the > > > mctp > > > > > > > > > Linux > > > > > > > > > > > > kernel > > > > > > > > > > > > > > > > > > > > driver approach > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/Kostr/PLDM/tree/master/mctp- > > > > > > > > > kernel) > > > > > > > > > > > > > > > > > > > > The latest kernel patches can be fo= und here: > > > > > > > > > > > > > > > > > > > > > > > https://lore.kernel.org/lkml/20231003131505.337-1- > > > > > > > > > > > > > > > > > > > aladyshev22@gmail.com/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is a fix for the build errors = that I've found: > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > diff --git > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtoc > > > > > > > > > > > > > > > > > > > olCommon.c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProto > > > > > > > > > > > > > > > > > > > colCommon.c > > > > > > > > > > > > > > > > > > > > index 79501d27aa..345c6da81a 100644 > > > > > > > > > > > > > > > > > > > > --- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > a/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtoc > > > > > > > > > > > > > > > > > > > olCommon.c > > > > > > > > > > > > > > > > > > > > +++ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > b/Features/ManageabilityPkg/Universal/MctpProtocol/Common/MctpProto > > > > > > > > > > > > > > > > > > > colCommon.c > > > > > > > > > > > > > > > > > > > > @@ -193,7 +193,7 @@ > > > > > > > SetupMctpRequestTransportPacket > > > > > > > > > ( > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > // > > > > > > > > > > > > > > > > > > > > // Generate PEC follow SMBUS 2= .0 > > > specification. > > > > > > > > > > > > > > > > > > > > - *MctpKcsTrailer->Pec =3D > > > > > > > > > HelperManageabilityGenerateCrc8 > > > > > > > > > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0= , > > > > > > > ThisPackage, > > > > > > > > > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > > > > > > > > > + MctpKcsTrailer->Pec =3D > > > > > > > HelperManageabilityGenerateCrc8 > > > > > > > > > > > > > > > > > > > > (MCTP_KCS_PACKET_ERROR_CODE_POLY, 0= , > > > > > > > ThisPackage, > > > > > > > > > > > > > > > > > > > > MctpKcsHeader->ByteCount); > > > > > > > > > > > > > > > > > > > > *PacketBody =3D (UINT8 = *)ThisPackage; > > > > > > > > > > > > > > > > > > > > *PacketBodySize =3D MctpKcs= Header- > > > >ByteCount; > > > > > > > > > > > > > > > > > > > > *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 @@ MctpSubmitMessa= ge ( > > > > > > > > > > > > > > > > > > > > } > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > // > > > > > > > > > > > > > > > > > > > > - // Chec source EID and destinati= on EDI. > > > > > > > > > > > > > > > > > > > > + // Check source EID and destinat= ion 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, MctpSourceEndpo= intId)); > > > > > > > > > > > > > > > > > > > > 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, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > I have updated the change you mad= e and put > > > those > > > > > > > code > > > > > > > > > on > > > > > > > > > > > > below > > > > > > > > > > > > > > link, > > > > > > > > > > > > > > > > > > > > > https://github.com/changab/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/commit/1c8d0d3fa403b47a34667f7f690add7822163111 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I combined MCTP over KCS changes = and IPMI > > > over KCS > > > > > > > > > > > > > > functionality in > > > > > > > > > > > > > > > > > > > KcsCommonLib.c. I also created > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER as you > > > > > > > > > > > > > > > > > > > suggested. The source EID and destina= tion EID are > > > checked > > > > > > > in > > > > > > > > > > > > > > > > > > > MctpSubmitCommand as well. IPMI/KCS > > > functionality is > > > > > > > > > > verified > > > > > > > > > > > > and > > > > > > > > > > > > > > works > > > > > > > > > > > > > > > > > > > fine after this change. > > > > > > > > > > > > > > > > > > > > > As I am no able to use the corres= ponding > > 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 co= de that > > > generates > > > > > > > MCTP > > > > > > > > > > over > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > header/trailer from MctpProtocolCommo= n.c to > > > > > > > > > > KcsCommonLib.c, > > > > > > > > > > > > > > maybe after > > > > > > > > > > > > > > > > > > > we verifying PLDM->MCTP->KCS route wo= rks well > > > on > > > > > > > > > > > > > > ManageabilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thank you > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Friday, September 29, 202= 3 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 originate= d from an > > > External > > > > > > > > > Source. > > > > > > > > > > > > Use > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > when opening attachments, click= ing links, or > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Did you have time to test libmc= tp MCTP KCS > > > binding > > > > > > > > > > solution? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here are some updates from my e= nd. As I > > was > > > saying, > > > > > > > I > > > > > > > > > > was > > > > > > > > > > > > > > working on > > > > > > > > > > > > > > > > > > > > > > the Linux kernel binding soluti= on. > > > > > > > > > > > > > > > > > > > > > > And now I've finished the initi= al > > > implementation of > > > > > > > the > > > > > > > > > > Linux > > > > > > > > > > > > > > kernel > > > > > > > > > > > > > > > > > > > > > > binding driver for the MCTP-ove= r-KCS > > binding > > > and > > > > > > > > > > proposed > > > > > > > > > > > > all > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > patches upstream > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://www.spinics.net/lists/kernel/msg4949173.html). > > > > > > > > > > > > > > > > > > > > > > I've also updated instructions = in my repo > > > > > > > > > > > > > > > > > > > > > > https://github.com/Kostr/PLDM (= the guide > > > for the > > > > > > > > > kernel > > > > > > > > > > > > > > binding > > > > > > > > > > > > > > > > > > > > > > solution and all the necessary = Linux kernel > > > patches > > > > > > > can > > > > > > > > > be > > > > > > > > > > > > found > > > > > > > > > > > > > > here > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/Kostr/PLDM/tree/master/mctp- > > > > > > > > > > kernel). > > > > > > > > > > > > > > > > > > > > > > So now you can use Linux driver= instead of > > the > > > > > > > libmctp > > > > > > > > > > utility > > > > > > > > > > > > on > > > > > > > > > > > > > > the BMC > > > > > > > > > > > > > > > > > > > side. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Couple of things that I've noti= ced in the > > > development > > > > > > > > > > > > process: > > > > > > > > > > > > > > > > > > > > > > - `MctpSubmitCommand` receives > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 'MctpSourceEndpointId'/'MctpDestinationEndpointId' > > > > > > > > > as > > > > > > > > > > > > > > arguments. But > > > > > > > > > > > > > > > > > > > > > > these values aren't actually us= ed. The current > > > code > > > > > > > just > > > > > > > > > > uses > > > > > > > > > > > > EIDs > > > > > > > > > > > > > > > > > > > > > > that were set via PCDs > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/e= dk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/d03a60523a6086d200d3eb1e2f25530bf1cb790e/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/MctpProtocol/Common/MctpProtocolCommon. > > > > > > > > > > > > > > > > > > > > > > c#L178) > > > > > > > > > > > > > > > > > > > > > > - According to the specificatio= n DSP0236 > > > (section > > > > > > > 8.2) > > > > > > > > > > MCTP > > > > > > > > > > > > EID > > > > > > > > > > > > > > 0 to 7 > > > > > > > > > > > > > > > > > > > > > > are reserved. It is critical th= at we do not use > > > them > > > > > > > since > > > > > > > > > > MCTP > > > > > > > > > > > > > > Linux > > > > > > > > > > > > > > > > > > > > > > kernel subsystem checks that pa= rt. So we > > > probably > > > > > > > need > > > > > > > > > > to > > > > > > > > > > > > add > > > > > > > > > > > > > > some > > > > > > > > > > > > > > > > > > > > > > check to the `MctpSubmitCommand= ` that > > > would > > > > > > > verify > > > > > > > > > > that > > > > > > > > > > > > we > > > > > > > > > > > > > > don't use > > > > > > > > > > > > > > > > > > > > > > reserved EIDs. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Sep 21, 2023 at 5:32=E2= =80=AFAM Chang, > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - Gene= ral] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > Thanks for providing the deta= ils, I will take a > > > look at > > > > > > > > > your > > > > > > > > > > > > code > > > > > > > > > > > > > > first, > > > > > > > > > > > > > > > > > > > > > > implement it at my end and then= response to > > > your > > > > > > > > > > question. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message----- > > > > > > > > > > > > > > > > > > > > > > > > From: Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Friday, September 8, = 2023 8:57 PM > > > > > > > > > > > > > > > > > > > > > > > > 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 origi= nated from an > > > External > > > > > > > > > > Source. > > > > > > > > > > > > > > Use proper > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > when opening attachments, c= licking links, > > > or > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi, Chang! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've finished my initial im= plementation 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/PL= DM. 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 open= bmc 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 you= r help. Right > > > now I've > > > > > > > > > > > > commited > > > > > > > > > > > > > > them to > > > > > > > > > > > > > > > > > > > my > > > > > > > > > > > > > > > > > > > > > > > > `edk2-platforms` fork > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocor= e/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/tianocor= e/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/bb6841e3fd1c60b3f8510b4fc0a380784e05d326/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > > > on.c#L414 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 2) What function should kno= w about the > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEAD= ER? > > > > > > > > > > > > > > > > > > > > > > > > Keep in mind that this head= er includes > > > > > > > 'ByteCount' > > > > > > > > > for > > > > > > > > > > the > > > > > > > > > > > > > > incoming > > > > > > > > > > > > > > > > > > > > > > > > data size that we need to r= ead. > > > > > > > > > > > > > > > > > > > > > > > > - KcsTransportSendCommand o= r > > > > > > > > > > > > > > CommonMctpSubmitMessage ? > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianoco= re/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Library/ManageabilityTr= a > > > > > > > > > > > > > > > > > > > > > > > > nsportKcsLib/Common/KcsComm= on.c) > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianoco= re/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/MctpProtocol/ > > > > > > > > > > > > > > > > > > > > > > > > Common/MctpProtocolCommon.c= )? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 3) As I've said earlier I t= hink it would be > > > good to > > > > > > > add > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAI= LER to > > > the > > > > > > > Mctp.h > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 4) Not sure if it is a good= idea to pass > > these > > > > > > > > > parameters > > > > > > > > > > to > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > MctpSubmitCommand protocol = function: > > > > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > UINT8 MctpTy= pe, > > > > > > > > > > > > > > > > > > > > > > > > BOOLEAN > > RequestDataIntegrityCheck, > > > > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianoco= re/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Include/Protocol/MctpPr > > > > > > > > > > > > > > > > > > > > > > > > otocol.h) > > > > > > > > > > > > > > > > > > > > > > > > Shouldn't it be in the `Req= uestData` > > directly > > > since > > > > > > > it is > > > > > > > > > > more > > > > > > > > > > > > of > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > > payload than a header for t= he MCTP? I > > > don't > > > > > > > know > > > > > > > > > the > > > > > > > > > > > > > > specification > > > > > > > > > > > > > > > > > > > > > > > > very well, but what if the > > > > > > > RequestDataIntegrityCheck > > > > > > > > > > > > would > > > > > > > > > > > > > > be set in > > > > > > > > > > > > > > > > > > > > > > > > the response? Who would nee= d to check > > > the > > > > > > > integrity > > > > > > > > > > of > > > > > > > > > > > > the > > > > > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > > > > buffer in that case? MCTP l= ibrary or the > > > code > > > > > > > calling > > > > > > > > > the > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > library? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 5) Haven't tested the PldmP= rotocol, > > maybe > > > it also > > > > > > > > > > needs > > > > > > > > > > > > > > some > > > > > > > > > > > > > > > > > > > corrections. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Feel free to ask any questi= ons about my > > > solution. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Right now I'll probably foc= us 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 ke= rnel driver. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Fri, Sep 1, 2023 at 8:58= =E2=80=AFAM Chang, > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official Use Only - = General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > See my answer below, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Message--= --- > > > > > > > > > > > > > > > > > > > > > > > > > > From: devel@edk2.groups= .io > > > > > > > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladyshev vi= a groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Friday, September= 1, 2023 > > 12:02 > > > AM > > > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: devel@edk2.groups.i= o; > > > > > > > > > > discuss@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk2-deve= l] [edk2- > > > discuss] > > > > > > > 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. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As I've said there is n= othing like "KCS > > > > > > > completion > > > > > > > > > > code" > > > > > > > > > > > > in > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > over KCS binding specif= ication > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://www.dmtf.org/sites/default/files/standards/documents/DSP0254_1 > > > > > > > > > > > > > > > > > > > > > > > > > > .0.0.pdf). > > > > > > > > > > > > > > > > > > > > > > > > > > The response packet sho= uld 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. B= ut 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 co= nfused about the > > > > > > > > > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > > > > > > > > > > > function. It has the fo= llowing > > 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 fo= r host->BMC > > > and > > > > > > > BMC- > > > > > > > > > > >host > > > > > > > > > > > > are > > > > > > > > > > > > > > in the > > > > > > > > > > > > > > > > > > > same > > > > > > > > > > > > > > > > > > > > > > > > structure, then yes, the re= sponse data > > > from BMC > > > > > > > > > > should > > > > > > > > > > > > > > includes > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER > > > > > > > > > > > > in > > > > > > > > > > > > > > my > > > > > > > > > > > > > > > > > > > opinion, as > > > > > > > > > > > > > > > > > > > > > > this > > > > > > > > > > > > > > > > > > > > > > > > is defined in MCTP base pro= tocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > So let me explain the imp= lementation > > for > > > MCTP > > > > > > > > > over > > > > > > > > > > KCS > > > > > > > > > > > > > > and what > > > > > > > > > > > > > > > > > > > do we > > > > > > > > > > > > > > > > > > > > > > > > miss now. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > A. MCTP protocol driver = linked with KCS > > > > > > > Transport > > > > > > > > > > > > interface > > > > > > > > > > > > > > library > > > > > > > > > > > > > > > > > > > > > > > > > - In MCTP protocol dri= ver, if the > > > transport > > > > > > > > > interface > > > > > > > > > > is > > > > > > > > > > > > KCS > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > > > > > > > > > > 1. MCTP protocol d= river builds up > > the > > > MCTP > > > > > > > KCS > > > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > header, > > > > > > > > > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > > > > > > > > > is DefBody, NetFunc and Bye= Count > > > > > > > > > > > > > > > > > > > > > > > > > 2. MCTP protocol d= river builds up > > the > > > MCTP > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > > > > > 3. MCTP protocol d= river builds up > > the > > > MCTP > > > > > > > KCS > > > > > > > > > > > > > > transport trailer, > > > > > > > > > > > > > > > > > > > > > > which > > > > > > > > > > > > > > > > > > > > > > > > is PEC. > > > > > > > > > > > > > > > > > > > > > > > > > Above three steps = are already > > > implemented. > > > > > > > > > > > > > > > > > > > > > > > > > PEC is calculated = by MCTP protocol > > > driver > > > > > > > and > > > > > > > > > > should > > > > > > > > > > > > be > > > > > > > > > > > > > > verified > > > > > > > > > > > > > > > > > > > by > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > using the same algorithm in= my > > > understanding of > > > > > > > > > spec. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > B. In KCS Transport inte= rface library > > > > > > > > > > > > > > > > > > > > > > > > > 1. KCS Transport in= terface library > > sends > > > the > > > > > > > > > > transport > > > > > > > > > > > > > > header got > > > > > > > > > > > > > > > > > > > from > > > > > > > > > > > > > > > > > > > > > > > > TransportToken. Same behavi= or for IPMI > > > protocol, > > > > > > > > > but > > > > > > > > > > > > > > different > > > > > > > > > > > > > > > > > > > content. > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > Transport interface library= doesn't have to > > > > > > > > > understand > > > > > > > > > > > > this. > > > > > > > > > > > > > > > > > > > > > > > > > 2. KCS Transport in= terface library > > sends > > > the > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > > > > > 3. KCS Transport in= terface library > > sends > > > the > > > > > > > > > > transport > > > > > > > > > > > > > > trailer got > > > > > > > > > > > > > > > > > > > from > > > > > > > > > > > > > > > > > > > > > > > > TransportToken. Same behavi= or for IPMI > > > protocol, > > > > > > > > > but > > > > > > > > > > > > > > different > > > > > > > > > > > > > > > > > > > content. > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > Transport interface library= doesn't have to > > > > > > > > > understand > > > > > > > > > > > > this. > > > > > > > > > > > > > > > > > > > > > > > > > Above three steps a= re already > > > implemented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Then, if Manageabi= lity protocol is > > > MCTP, we > > > > > > > skip > > > > > > > > > > > > reading > > > > > > > > > > > > > > > > > > > responses > > > > > > > > > > > > > > > > > > > > > > > > header (Not implemented) > > > > > > > > > > > > > > > > > > > > > > > > > For reading respons= e data > > > > > > > > > > > > > > > > > > > > > > > > > 1. If the Respon= seData and > > > ResponseSize is > > > > > > > > > valid > > > > > > > > > > in > > > > > > > > > > > > the > > > > > > > > > > > > > > given > > > > > > > > > > > > > > > > > > > > > > > > TransportToken, then we rea= d > > > ResponseSize data > > > > > > > > > from > > > > > > > > > > > > KCS. > > > > > > > > > > > > > > (Already > > > > > > > > > > > > > > > > > > > > > > > > implemented) > > > > > > > > > > > > > > > > > > > > > > > > > 2. if Manageabil= ity protocol is > > MCTP, > > > then > > > > > > > we > > > > > > > > > > skip > > > > > > > > > > > > > > reading > > > > > > > > > > > > > > > > > > > responses > > > > > > > > > > > > > > > > > > > > > > > > header again (Not implement= ed) > > > > > > > > > > > > > > > > > > > > > > > > > Now the response is = returned to > > MCTP > > > > > > > protocol > > > > > > > > > > driver > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > C. In MCTP protocol driv= er, we expect > > to > > > get the > > > > > > > > > > whole > > > > > > > > > > > > > > MCTP over > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > packet response, that inclu= des DefBody, > > > NetFunc > > > > > > > and > > > > > > > > > > > > > > ByeCount, > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > message and PEC. > > > > > > > > > > > > > > > > > > > > > > > > > 1. MCTP protocol= driver verifies the > > > > > > > returned > > > > > > > > > > PEC > > > > > > > > > > > > with > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > payload. > > > > > > > > > > > > > > > > > > > > > > > > > 2. Strip out Def= Body, NetFunc, > > > ByeCount > > > > > > > and > > > > > > > > > > PEC > > > > > > > > > > > > and > > > > > > > > > > > > > > then > > > > > > > > > > > > > > > > > > > returns it > > > > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > upper layer (e.g., MCTP tra= nsport > > interface > > > > > > > library). > > > > > > > > > > > > Returns > > > > > > > > > > > > > > only > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > Transport header and MCTP p= acket > > > payload as it > > > > > > > > > shows > > > > > > > > > > in > > > > > > > > > > > > > > MCTP base > > > > > > > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > > > > > spec. > > > > > > > > > > > > > > > > > > > > > > > > > Above is not impleme= nted > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > D. In MCTP transport inte= rface library, > > we > > > can > > > > > > > strip > > > > > > > > > > out > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > > > > > > header and then return it t= o upper layer > > > (e.g., > > > > > > > PLDM > > > > > > > > > > > > protocol > > > > > > > > > > > > > > driver). > > > > > > > > > > > > > > > > > > > > > > > > > Above is not implemen= ted. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > E. In PLDM protocol drive= r, > > > > > > > > > > > > > > > > > > > > > > > > > 1. we verify the = Message Integrity > > > Check if > > > > > > > the > > > > > > > > > > > > Message > > > > > > > > > > > > > > Type > > > > > > > > > > > > > > > > > > > > > > requests it. > > > > > > > > > > > > > > > > > > > > > > > > > 2. we can remove = MCTP message > > > type then > > > > > > > > > > return it > > > > > > > > > > > > to > > > > > > > > > > > > > > upper > > > > > > > > > > > > > > > > > > > layer > > > > > > > > > > > > > > > > > > > > > > (e.g., > > > > > > > > > > > > > > > > > > > > > > > > PLDM SMBIOS transfer) > > > > > > > > > > > > > > > > > > > > > > > > > Above is not impl= emented. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We didn=E2=80=99t impleme= nt BMC->Host in > > step > > > C, D > > > > > > > and E > > > > > > > > > > as > > > > > > > > > > > > our > > > > > > > > > > > > > > current > > > > > > > > > > > > > > > > > > > > > > demand is > > > > > > > > > > > > > > > > > > > > > > > > to send the SMBIOS table to= BMC, which > > > doesn't > > > > > > > > > > require > > > > > > > > > > > > the > > > > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > > data > > > > > > > > > > > > > > > > > > > > > > if I > > > > > > > > > > > > > > > > > > > > > > > > am not wrong. > > > > > > > > > > > > > > > > > > > > > > > > > Let me know if it is prob= lematic 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 Onl= y - General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But wait, wee my anot= her comment > > > below, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Messa= ge----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Thursday, Aug= ust 31, 2023 > > > 11:42 PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: devel@edk2.grou= ps.io; > > > > > > > > > > > > aladyshev22@gmail.com > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.gr= oups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: RE: [edk2-= devel] [edk2- > > > discuss] > > > > > > > > > PLDM > > > > > > > > > > > > > > messages via > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original Mes= sage----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: devel@edk2.= groups.io > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladys= hev via > > > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Thursday, A= ugust 31, 2023 > > > 10:57 > > > > > > > PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@edk2.= groups.io; > > > > > > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: [edk= 2-devel] [edk2- > > > discuss] > > > > > > > > > > PLDM > > > > > > > > > > > > > > messages via > > > > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This mes= sage originated > > > from an > > > > > > > > > > External > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > > > when opening atta= chments, > > > clicking links, > > > > > > > or > > > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (I don see what= is the response > > > header > > > > > > > for > > > > > > > > > > MCTP > > > > > > > > > > > > > > KCS in spec > > > > > > > > > > > > > > > > > > > > > > though, > > > > > > > > > > > > > > > > > > > > > > > > > > does > > > > > > > > > > > > > > > > > > > > > > > > > > > > it > > > > > > > > > > > > > > > > > > > > > > > > > > > > > mention the KCS r= esponse?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 for= mat of a > > response > > > would > > > > > > > > > look > > > > > > > > > > > > like > > > > > > > > > > > > > > this: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Include/Library/Managea > > > > > > > > > > > > > > > > > > > > > > > > > > > > > bilityTransportMc= tpLib.h) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HE= ADER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Standard/Mctp.h) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP_MESSAGE_HEAD= ER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (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 t= o capture it? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > PEC > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (Proba= bly we need to > > define > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ``` > > > > > > > > > > > > > > > > > > > > > > > > > > > > We have > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER > > > > > > > > > > > > > > defined but no > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER as it > > > > > > > is > > > > > > > > > > > > > > hardcoded to one > > > > > > > > > > > > > > > > > > > > > > byte. > > > > > > > > > > > > > > > > > > > > > > > > > > > > If the KCS response= is PEC, then > > yes, > > > we can > > > > > > > > > > create > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_TRAILER for > > > > > > > KCS > > > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > interface. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > In the implementation= , PEC is > > > calculated in > > > > > > > > > MCTP > > > > > > > > > > > > > > protocol and > > > > > > > > > > > > > > > > > > > send > > > > > > > > > > > > > > > > > > > > > > > > through > > > > > > > > > > > > > > > > > > > > > > > > > > KCS as the KCS packet t= railer. So, when > > > we > > > > > > > send > > > > > > > > > the > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > request > > > > > > > > > > > > > > > > > > > > > > through > > > > > > > > > > > > > > > > > > > > > > > > > > KCS, KCS shouldn't resp= ond the PEC to > > > upper > > > > > > > > > stack, > > > > > > > > > > > > right? > > > > > > > > > > > > > > I still > > > > > > > > > > > > > > > > > > > think > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > response should be the = KCS > > completion > > > code. > > > > > > > The > > > > > > > > > > > > debug > > > > > > > > > > > > > > message > > > > > > > > > > > > > > > > > > > from > > > > > > > > > > > > > > > > > > > > > > > > your > > > > > > > > > > > > > > > > > > > > > > > > > > end may help to clarify= this as your > > BMC > > > has > > > > > > > the > > > > > > > > > > MCTP > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > implementation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > So in the > > > "KcsTransportSendCommand" > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > on.c#L414) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > we can check if w= e transfer is > > > MCTP > > > > > > > (based > > > > > > > > > on > > > > > > > > > > > > > > > > > > > > > > > > > > > > > "TransportToken- > > > > > > > > > > > > >ManagebilityProtocolSpecification > > > > > > > > > > > > > > =3D=3D > > > > > > > > > > > > > > > > > > > MCTP" like > > > > > > > > > > > > > > > > > > > > > > > > > > > > > you've suggested)= and handle > > > response > > > > > > > > > > > > accordingly. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > But which headers= should we > > > check in > > > > > > > this > > > > > > > > > > > > function? > > > > > > > > > > > > > > Only > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MANAGEABILITY_MCTP_KCS_HEADER/MANAGEABILITY_MCTP_KCS_TRAILER > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, only check hea= der and trailer > > for > > > > > > > transport > > > > > > > > > > > > > > interface. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > What about > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP_TRANSPORT_HEADER/MCTP_MESSAGE_HEADER? > > > > > > > > > > > > > > > > > > > > > > > > > > Do > > > > > > > > > > > > > > > > > > > > > > > > > > > > we > > > > > > > > > > > > > > > > > > > > > > > > > > > > > need to > > > > > > > > > > > > > > > > > > > > > > > > > > > > > check them here a= s well? Or do > > we > > > need > > > > > > > to > > > > > > > > > > check > > > > > > > > > > > > > > them > > > > > > > > > > > > > > > > > > > > > > somewhere > > > > > > > > > > > > > > > > > > > > > > > > > > upper > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the call stack? > > > > > > > > > > > > > > > > > > > > > > > > > > > > We should leave thi= s to MCTP > > > protocol > > > > > > > driver > > > > > > > > > as > > > > > > > > > > > > this is > > > > > > > > > > > > > > belong > > > > > > > > > > > > > > > > > > > to > > > > > > > > > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > > > > > > > > > layer, the upper la= yer stack. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Aladys= hev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Thu, Aug 31, 2= 023 at > > 7:59=E2=80=AFAM > > > Chang, > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Official U= se Only - > > General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Aladyshev, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Original= Message----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: Konstan= tin Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Wednesd= ay, August 30, > > > 2023 > > > > > > > > > 11:09 > > > > > > > > > > PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: Chang, Ab= ner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cc: discuss@e= dk2.groups.io; > > > > > > > > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subject: Re: = [edk2-discuss] > > > PLDM > > > > > > > > > > messages > > > > > > > > > > > > via > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: This= message > > > originated from > > > > > > > an > > > > > > > > > > > > External > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > when opening = attachments, > > > clicking > > > > > > > links, > > > > > > > > > > or > > > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I've started = to implement > > MCTP > > > over > > > > > > > KCS > > > > > > > > > > > > binding > > > > > > > > > > > > > > for the > > > > > > > > > > > > > > > > > > > > > > libmctp > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/libmctp) > > > > > > > > > > and > > > > > > > > > > > > test > > > > > > > > > > > > > > it with > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > current > > > > > > > > > > > > > > > > > > > > > > > > > > code > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > in the Manage= abilityPkg. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I was able su= ccessfully send > > the > > > MCTP > > > > > > > > > > packet > > > > > > > > > > > > to > > > > > > > > > > > > > > the BMC, > > > > > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > > > > > right > > > > > > > > > > > > > > > > > > > > > > > > > > now > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm having so= me troubles > > with > > > > > > > receiving > > > > > > > > > the > > > > > > > > > > > > > > answer back. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think I've = found some bug in > > > the > > > > > > > > > > > > > > > > > > > > > > `KcsTransportSendCommand` > > > > > > > > > > > > > > > > > > > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > After it send= s data over KCS in > > > expects > > > > > > > a > > > > > > > > > > > > responce > > > > > > > > > > > > > > starting > > > > > > > > > > > > > > > > > > > with > > > > > > > > > > > > > > > > > > > > > > a > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 'IPMI_KCS_RESPONSE_HEADER' > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/14553d31c72afa7289f6a2555b6e91f4f715a05a/Features/ > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Library/ManageabilityTransportKcsLib/Common/KcsComm > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > on.c#L476 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Isn't it wron= g, assuming that > > > the right > > > > > > > > > > header > > > > > > > > > > > > in > > > > > > > > > > > > > > case of > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > should > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > be > > > > > > > > > > 'MANAGEABILITY_MCTP_KCS_HEADER' ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I guess the > > > > > > > > > > 'IpmiHelperCheckCompletionCode' > > > > > > > > > > > > > > check after > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > data > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > receive is al= so not relevant for > > > the > > > > > > > MCTP. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > This is somethi= ng I don=E2=80=99t really > > > sure as I > > > > > > > > > can't > > > > > > > > > > > > verify > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > > > > > > > > > payload > > > > > > > > > > > > > > > > > > > > > > > > > > > > > because our BMC d= oesn't have > > the > > > code > > > > > > > to > > > > > > > > > > handle > > > > > > > > > > > > > > MCTP over > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > command. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > However it is app= reciated if > > > community > > > > > > > can > > > > > > > > > > help > > > > > > > > > > > > to > > > > > > > > > > > > > > verify this. > > > > > > > > > > > > > > > > > > > As I > > > > > > > > > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > > > > > > > > > remember, I can s= ee 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 wha= t do you see on > > > the BCM > > > > > > > it > > > > > > > > > > does > > > > > > > > > > > > > > support > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > > > > > KCS? If > > > > > > > > > > > > > > > > > > > > > > > > > > > > > so, then I would = like to have your > > > help to > > > > > > > > > > correct > > > > > > > > > > > > this > > > > > > > > > > > > > > code. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Since > > > 'ManageabilityTransportKcsLib' > > > > > > > can > > > > > > > > > > be > > > > > > > > > > > > used > > > > > > > > > > > > > > both for > > > > > > > > > > > > > > > > > > > IPMI > > > > > > > > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP, how sho= uld we deal > > > with this? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > If KcsCommon.c,= we can have > > > different > > > > > > > > > code > > > > > > > > > > > > path > > > > > > > > > > > > > > for the > > > > > > > > > > > > > > > > > > > given > > > > > > > > > > > > > > > > > > > > > > > > protocol > > > > > > > > > > > > > > > > > > > > > > > > > > > > > GUID. e.g., if (T= ransportToken- > > > > > > > > > > > > > > > > > > > >ManagebilityProtocolSpecification > > > > > > > > > > > > > > > > > > > > > > =3D=3D > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Then skip readi= ng the > > > > > > > > > > KCS_REPOSNSE_HEADER > > > > > > > > > > > > or > > > > > > > > > > > > > > to read > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP_RESPONSE_HEA= DER (I > > don > > > see > > > > > > > what > > > > > > > > > is > > > > > > > > > > the > > > > > > > > > > > > > > response > > > > > > > > > > > > > > > > > > > header > > > > > > > > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > > > > KCS in spec thoug= h, does it > > > mention the > > > > > > > KCS > > > > > > > > > > > > > > response?). > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstantin Al= adyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Wed, Aug 2= 3, 2023 at > > > 5:18=E2=80=AFAM > > > > > > > > > Chang, > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Offici= al Use Only - > > > General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please see = my answers > > inline. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----Orig= inal Message----- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: > > > discuss@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > > > > > > > > Behalf > > > > > > > > > > > > > > > > > > > > > > > > > > > > Of > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstanti= n Aladyshev via > > > > > > > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent: Wed= nesday, 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 > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Caution: = This message > > > originated > > > > > > > from > > > > > > > > > > an > > > > > > > > > > > > > > External > > > > > > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > when open= ing > > attachments, > > > > > > > clicking > > > > > > > > > > links, > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks fo= r the answer! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I was a l= ittle bit confused > > > about the > > > > > > > > > > part, > > > > > > > > > > > > that > > > > > > > > > > > > > > in the > > > > > > > > > > > > > > > > > > > same > > > > > > > > > > > > > > > > > > > > > > > > package > > > > > > > > > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > actually = need to provide > > > different > > > > > > > > > library > > > > > > > > > > > > > > > > > > > implementations > > > > > > > > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > same > > > 'ManageabilityTransportLib', > > > > > > > > > > thanks > > > > > > > > > > > > for > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > clarification! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I think y= our DSC example > > > should > > > > > > > go > > > > > > > > > into > > > > > > > > > > > > the > > > > > > > > > > > > > > package > > > > > > > > > > > > > > > > > > > > > > > > > > documentation. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Yes, this i= s a good idea. I will > > > update > > > > > > > it. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > As for me= , I'm working > > with > > > the > > > > > > > > > > OpenBMC > > > > > > > > > > > > > > distribution > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/openbmc) > > > > > > > > > > > > and > > > > > > > > > > > > > > my goal > > > > > > > > > > > > > > > > > > > is to > > > > > > > > > > > > > > > > > > > > > > > > > > transfer > > > > > > > > > > > > > > > > > > > > > > > > > > > > > data > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > from the = BIOS to the BMC > > > via > > > > > > > > > > MCTP/PLDM. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Currently= there is no > > > solution for > > > > > > > the > > > > > > > > > > MCTP > > > > > > > > > > > > > > over KCS > > > > > > > > > > > > > > > > > > > binding > > > > > > > > > > > > > > > > > > > > > > in > > > > > > > > > > > > > > > > > > > > > > > > > > Linux, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > so I need= to add this > > > support: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > - either = to the MCTP > > > userspace > > > > > > > library > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/openbmc/libmctp) > > > > > > > > > > > > [old > > > > > > > > > > > > > > > > > > > OpenBMC > > > > > > > > > > > > > > > > > > > > > > way, > > > > > > > > > > > > > > > > > > > > > > > > but > > > > > > > > > > > > > > > > > > > > > > > > > > > > > probably > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > easier] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > - or to t= he MCTP kernel > > > binding > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/torvalds/linux/tree/master/drivers/net/mctp) > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [modern m= ctp Linux driver > > > > > > > approach] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Both don'= t sound like an > > > easy task, > > > > > > > so > > > > > > > > > > can I > > > > > > > > > > > > > > ask, what > > > > > > > > > > > > > > > > > > > MC > > > > > > > > > > > > > > > > > > > > > > (i.e. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > managemen= t controller) > > > device > > > > > > > and > > > > > > > > > > > > firmware > > > > > > > > > > > > > > do you > > > > > > > > > > > > > > > > > > > use on > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > other > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > side of t= he MCTP KCS > > > > > > > transmissions? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We use Open= BMC as well, > > but > > > as > > > > > > > you > > > > > > > > > > > > mention > > > > > > > > > > > > > > there are > > > > > > > > > > > > > > > > > > > some > > > > > > > > > > > > > > > > > > > > > > > > > > missing > > > > > > > > > > > > > > > > > > > > > > > > > > > > > pieces > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > to fully supp= ort 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, M= CTP over KCS is > > > not > > > > > > > > > supported > > > > > > > > > > in > > > > > > > > > > > > our > > > > > > > > > > > > > > BMC > > > > > > > > > > > > > > > > > > > > > > firmware > > > > > > > > > > > > > > > > > > > > > > > > yet, > > > > > > > > > > > > > > > > > > > > > > > > > > > > thus > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > BMC just retu= rns the invalid > > > > > > > command. > > > > > > > > > > > > However, > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > > > > > > > > > > framework > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > has been veri= fied to make > > sure > > > the > > > > > > > > > > > > > > implementation works > > > > > > > > > > > > > > > > > > > fine > > > > > > > > > > > > > > > > > > > > > > as > > > > > > > > > > > > > > > > > > > > > > > > > > expect. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We need hel= p from > > > community to > > > > > > > > > > provide > > > > > > > > > > > > more > > > > > > > > > > > > > > > > > > > > > > manageability > > > > > > > > > > > > > > > > > > > > > > > > > > > > protocols > > > > > > > > > > > > > > > > > > > > > > > > > > > > > and > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > transport int= erface libraries to > > > this > > > > > > > > > package. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > You've al= so mentioned > > > PLDM > > > > > > > SMBIOS, > > > > > > > > > > isn't > > > > > > > > > > > > it > > > > > > > > > > > > > > covered > > > > > > > > > > > > > > > > > > > by > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/Universal/PldmSmbiosTr > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ansferDxe/PldmSmbiosTransferDxe.c > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Ah hah, yes= I forget I > > > upstream it. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Please just= feel free to send > > > patch to > > > > > > > > > > make > > > > > > > > > > > > more > > > > > > > > > > > > > > > > > > > > > > functionalities to > > > > > > > > > > > > > > > > > > > > > > > > > > this > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > package. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best rega= rds, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konstanti= n Aladyshev > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On Tue, A= ug 22, 2023 at > > > 7:26=E2=80=AFPM > > > > > > > > > > Chang, > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > wrote: > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > [AMD Of= ficial Use Only - > > > General] > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi Alad= yshev, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We use = library class to > > > specify the > > > > > > > > > > desire > > > > > > > > > > > > > > transport > > > > > > > > > > > > > > > > > > > > > > interface > > > > > > > > > > > > > > > > > > > > > > > > for > > > > > > > > > > > > > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > managemen= t protocol, > > such > > > as > > > > > > > MCTP, > > > > > > > > > > > > PLDM > > > > > > > > > > > > > > and IPMI. > > > > > > > > > > > > > > > > > > > This > > > > > > > > > > > > > > > > > > > > > > > > way > > > > > > > > > > > > > > > > > > > > > > > > > > we > > > > > > > > > > > > > > > > > > > > > > > > > > > > can > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > flexibly = support any > > > transport > > > > > > > > > interface > > > > > > > > > > for > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > management > > > > > > > > > > > > > > > > > > > > > > > > > > protocol. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Here is= the example of > > > using > > > > > > > > > > > > > > ManageabilityPkg, which > > > > > > > > > > > > > > > > > > > is > > > > > > > > > > > > > > > > > > > > > > > > PLDM > > > > > > > > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > over KCS. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ManageabilityPkg/Universal/IpmiProtocol/Dxe/IpmiProtocolDxe.inf > > > > > > > > > > > > > > > > > > > > > > > > > > > > > { > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 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 th= is information > > > helps. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Thanks > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Abner > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > -----= Original Message-- > > -- > > > - > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > From: > > > discuss@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Behalf Of > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konst= antin Aladyshev > > > via > > > > > > > > > groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Sent:= Tuesday, August > > > 22, 2023 > > > > > > > > > > 7:00 > > > > > > > > > > > > PM > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > To: d= iscuss > > > > > > > > > > ; > > > > > > > > > > > > > > > > > > > > > > > > devel@edk2.groups.io > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Subje= ct: [edk2-discuss] > > > PLDM > > > > > > > > > > messages > > > > > > > > > > > > via > > > > > > > > > > > > > > MCTP > > > > > > > > > > > > > > > > > > > over > > > > > > > > > > > > > > > > > > > > > > KCS > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Cauti= on: This message > > > > > > > originated > > > > > > > > > > from > > > > > > > > > > > > an > > > > > > > > > > > > > > External > > > > > > > > > > > > > > > > > > > > > > Source. > > > > > > > > > > > > > > > > > > > > > > > > Use > > > > > > > > > > > > > > > > > > > > > > > > > > > > > proper > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > caution > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > when = opening > > > attachments, > > > > > > > > > clicking > > > > > > > > > > > > links, > > > > > > > > > > > > > > or > > > > > > > > > > > > > > > > > > > responding. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Hi! > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > I'm t= rying to build > > > > > > > > > > `ManageabilityPkg` > > > > > > > > > > > > from > > > > > > > > > > > > > > the > > > > > > > > > > > > > > > > > > > edk2- > > > > > > > > > > > > > > > > > > > > > > > > platforms > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > repo= to issue PLDM > > > messages > > > > > > > via > > > > > > > > > > MCTP > > > > > > > > > > > > > > over KCS. > > > > > > > > > > > > > > > > > > > Is it > > > > > > > > > > > > > > > > > > > > > > > > possible > > > > > > > > > > > > > > > > > > > > > > > > > > > > with > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > the c= urrent code? I see > > > all the > > > > > > > > > > building > > > > > > > > > > > > > > blocks, but > > > > > > > > > > > > > > > > > > > have > > > > > > > > > > > > > > > > > > > > > > > > trouble > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > putti= ng it all together. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > The m= ain question that > > > bothers > > > > > > > > > me > > > > > > > > > > is > > > > > > > > > > > > what > > > > > > > > > > > > > > > > > > > > > > implementation > > > > > > > > > > > > > > > > > > > > > > > > > > should > > > > > > > > > > > > > > > > > > > > > > > > > > > > I > > > > > > > > > > > > > > > > > > > > > > > > > > > > > set > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > for t= he > > > > > > > > > `ManageabilityTransportLib`? > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > By de= fault it is set to > > > dummy > > > > > > > > > > > > > > > > > > > > > > > > > > `BaseManageabilityTrans= portNull.inf` > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > (https://github.com/tianocore/edk2- > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > platforms/blob/master/Features/ManageabilityPkg/ManageabilityPkg.dsc)= . > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > On on= e 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 o= n 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 > > > > > > > > > > > > > > > > > > > > > > implement > > > > > > > > > > > > > > > > > > > > > > > > > > > > > PLDM/MCTP > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > funct= ionality, so there > > is > > > no > > > > > > > > > example > > > > > > > > > > > > that I > > > > > > > > > > > > > > can use > > > > > > > > > > > > > > > > > > > as a > > > > > > > > > > > > > > > > > > > > > > > > > > reference. > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Best = regards, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > Konst= antin 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 (#109766): https://edk2.groups.io/g/devel/message/109766 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-