public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chang, Abner" <abner.chang@amd.com>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	Nickle Wang <nicklew@nvidia.com>,
	Igor Kulchytskyy <igork@ami.com>,
	"Oram, Isaac W" <isaac.w.oram@intel.com>,
	"Desimone, Nathaniel L" <nathaniel.l.desimone@intel.com>
Subject: Re: [edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance
Date: Fri, 30 Dec 2022 04:09:01 +0000	[thread overview]
Message-ID: <MN2PR12MB3966155157C542BA7CF69B32EAF09@MN2PR12MB3966.namprd12.prod.outlook.com> (raw)
In-Reply-To: <CO1PR11MB4929DF500C37989D826A41B2D2F39@CO1PR11MB4929.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 4901 bytes --]

[AMD Official Use Only - General]

Sure Mike, I had CC IPMI owners to review edk2 IPMI related patch sets.
This change doesn't have a big impact on edk2-platforms because all the references of IpmiCommandLib under edk2-platfoms are in IpmiFeaturePkg itself. The old IpmiCommandLib.h will be still under IpmiFeaturePkg/include for now, but the definitions of new functions should be added
to the one under MdeModulePkg. However the edk2-platorms one should be removed soon (it is better) or later (means the IpmiFeaturePkg re-architecture, email attached).

IPMI is the industry standard however the implementation of API for each NetFn is not, this is the first consideration I had. Second, there is already a IpmiLib under MdeModulePkg that led me to create IpmiCommandLib under MdeModulePkg. 
BTW, there is problem we have to fix, IpmiLib provide the function to send/receive IPMI NetFn, while the same function provided by IpmiFeaturePkg under edk2-platform has the different library class naming, which is IpmiBaseLib.

Thanks
Abner

> -----Original Message-----
> From: Kinney, Michael D <michael.d.kinney@intel.com>
> Sent: Friday, December 30, 2022 1:32 AM
> To: devel@edk2.groups.io; Chang, Abner <Abner.Chang@amd.com>; Kinney,
> Michael D <michael.d.kinney@intel.com>
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming
> <gaoliming@byosoft.com.cn>; Nickle Wang <nicklew@nvidia.com>; Igor
> Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Kinney, Michael
> D <michael.d.kinney@intel.com>
> Subject: RE: [edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance
> 
> Caution: This message originated from an External Source. Use proper
> caution when opening attachments, clicking links, or responding.
> 
> 
> Hi Abner,
> 
> Since this is moving content from edk2-platforms to edk2, we need to make
> sure that migration is coordinated with the edk2-platforms owners for the
> IPMPI feature and we have a transition plan for all downstream platform DSC
> files to use the content from the new location.  These types of changes can
> be very disruptive.
> 
> Also, since IPMI is an industry standard, it is allowed to add libraries that
> support industry standards to the MdePkg.  How was MdeModulePkg
> selected vs MdePkg?
> 
> Thanks,
> 
> Mike
> 
> > -----Original Message-----
> > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Chang,
> > Abner via groups.io
> > Sent: Tuesday, December 27, 2022 8:59 PM
> > To: devel@edk2.groups.io
> > Cc: Wang, Jian J <jian.j.wang@intel.com>; Gao, Liming
> > <gaoliming@byosoft.com.cn>; Nickle Wang <nicklew@nvidia.com>; Igor
> > Kulchytskyy <igork@ami.com>; Oram, Isaac W <isaac.w.oram@intel.com>;
> > Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
> > Subject: [edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance
> >
> > From: Abner Chang <abner.chang@amd.com>
> >
> > BZ# 4231
> > This patch adds a NULL instance of IpmiCommandLib to remove the
> > dependence between edk2 and edk2-platform packages.
> >
> > Signed-off-by: Abner Chang <abner.chang@amd.com>
> > Cc: Jian J Wang <jian.j.wang@intel.com>
> > Cc: Liming Gao <gaoliming@byosoft.com.cn>
> > Cc: Nickle Wang <nicklew@nvidia.com>
> > Cc: Igor Kulchytskyy <igork@ami.com>
> > Cc: Isaac Oram <isaac.w.oram@intel.com>
> > Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
> >
> > Abner Chang (3):
> >   MdeModulePkg/Include: Add IpmiCommandLib header file
> >   MdeModulePkg/IpmiCommandLib: Add NULL instance library
> >   MdeModulePkg: Add IpmiCommandLib
> >
> >  MdeModulePkg/MdeModulePkg.dec                 |   4 +
> >  MdeModulePkg/MdeModulePkg.dsc                 |   2 +
> >  .../BaseIpmiCommandLibNull.inf                |  32 +
> >  MdeModulePkg/Include/Library/IpmiCommandLib.h | 683
> ++++++++++++++++++
> >  .../IpmiCommandLibNetFnApp.c                  | 252 +++++++
> >  .../IpmiCommandLibNetFnChassis.c              | 123 ++++
> >  .../IpmiCommandLibNetFnStorage.c              | 248 +++++++
> >  .../IpmiCommandLibNetFnTransport.c            | 100 +++
> >  8 files changed, 1444 insertions(+)
> >  create mode 100644
> >
> MdeModulePkg/Library/BaseIpmiCommandLibNull/BaseIpmiCommandLibN
> ull.inf
> >  create mode 100644 MdeModulePkg/Include/Library/IpmiCommandLib.h
> >  create mode 100644
> >
> MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFn
> App.c
> >  create mode 100644
> >
> MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFn
> Chassis
> > .c  create mode 100644
> >
> MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnS
> torage
> > .c  create mode 100644
> >
> MdeModulePkg/Library/BaseIpmiCommandLibNull/IpmiCommandLibNetFnT
> ranspo
> > rt.c
> >
> > --
> > 2.37.1.windows.1
> >
> >
> >
> > 
> >

[-- Attachment #2: Type: message/rfc822, Size: 117837 bytes --]

[-- Attachment #2.1.1.1: Type: text/plain, Size: 2592 bytes --]

[AMD Official Use Only - General]



Thanks and sure, I will kick off the discussion on the mailing list.



Regards,

Abner



From: Oram, Isaac W <isaac.w.oram@intel.com>
Sent: Saturday, October 22, 2022 4:34 AM
To: Chang, Abner <Abner.Chang@amd.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>
Cc: nicklew@nvidia.com; Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com>
Subject: RE: Propose the ManageabilityPkg under edk2-platform/Features



        Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.



Abner,



>From my perspective, this looks reasonable.  I think that we need to have the actual discussion on the mailing list so that our various customers can weigh in on the design and implementation.



Regards,

Isaac





From: Chang, Abner <Abner.Chang@amd.com<mailto:Abner.Chang@amd.com>>
Sent: Wednesday, October 19, 2022 11:08 PM
To: Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com<mailto:nathaniel.l.desimone@intel.com>>; Oram, Isaac W <isaac.w.oram@intel.com<mailto:isaac.w.oram@intel.com>>
Cc: nicklew@nvidia.com<mailto:nicklew@nvidia.com>; Attar, AbdulLateef (Abdul Lateef) <AbdulLateef.Attar@amd.com<mailto:AbdulLateef.Attar@amd.com>>
Subject: Propose the ManageabilityPkg under edk2-platform/Features



[AMD Official Use Only - General]



Hi Liming, Nate and Isaac,

This is Abner from AMD. I am writing to let you know that Nvidia and AMD is going propose a new package ManageabilityPkg under edk2-platforms/Features. We would like to provide the Feature driver, Protocol driver instance and transport implementation that includes PLDM, MCTP, IPMI and KCS industry standard under ManageabilityPkg for the server management. The concept of this package is to provide the driver stacks as shown in the below drafting,







We may also pull IpmiFeaturePkg out of Intel/OutOfBandManagement folder. Thus the IpmiFeaturePkg can be referred by the edk2 driver (e.g., Modules under RedfishPkg) without the Intel folder in the INF package section or add edk2-platforms/Feature/Intel to the PACKAGES_PATH (add edk2-platform to packages path is required) for the build. We will take care the backward compatibility issues of IpmiFeaturePkg relocation, however can only cover the issues in the scope of edk2-platform.



How do you think?



Thanks and Regards,

Abner




[-- Attachment #2.1.1.2: Type: text/html, Size: 7510 bytes --]

[-- Attachment #2.1.2: image001.png --]
[-- Type: image/png, Size: 77555 bytes --]

[-- Attachment #3: Type: message/rfc822, Size: 9154 bytes --]

[-- Attachment #3.1.1: Type: text/plain, Size: 1530 bytes --]

[AMD Official Use Only - General]


Hi all,

In order to having the full edk2 driver stack for the server manageability, we are going to propose a new package ManageabilityPkg under edk2-platforms/Features. We would like to have a package that can provide a simple framework to flexibly accommodate the manageability feature driver (e.g. PLDM, IPMI, Redfish), Protocol driver instance (e.g. MCTP) and transport implementation (e.g. KCS/I2C/PCIe VDM) for the server management. Below are the steps we would take for this work,

1.      The first step we would take is to move IpmiFeaturePkg out of edk2-platforms/Features/Intel/OutOfBandManagement/. Thus the IpmiFeaturePkg can be referred by the edk2 driver (e.g., Modules under RedfishPkg) without the Intel folder in the INF package section or add edk2-platforms/Features/Intel to the PACKAGES_PATH for the build (add edk2-platforms/Features to packages path is still required). We will take care of the backward compatibility issues of IpmiFeaturePkg relocation, however we can only cover the build issues in the scope of edk2-platforms repo.
2.      After this we will abstract the transport implementation from  IPMI Transport protocol, so the IPMI protocol can flexibly  incorporate with other transport implementations.
3.      Add IPMI feature driver/library (e.g. IPMI Redfish bootstrap account Credential)
4.      Add MCTP and PLDM driver stack with the same concept as IpmiFeaturePkg



Any recommendations to this work?

Thanks

Abner








[-- Attachment #3.1.2: Type: text/html, Size: 5593 bytes --]

      reply	other threads:[~2022-12-30  4:09 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-28  4:59 [PATCH 0/3] Add NULL IpmiCommandLib instance Chang, Abner
2022-12-28  4:59 ` [PATCH 1/3] MdeModulePkg/Include: Add IpmiCommandLib header file Chang, Abner
2023-01-13  0:11   ` [edk2-devel] " Isaac Oram
2023-01-13  6:04     ` Chang, Abner
2022-12-28  4:59 ` [PATCH 2/3] MdeModulePkg/IpmiCommandLib: Add NULL instance library Chang, Abner
2023-01-13  0:29   ` Isaac Oram
2022-12-28  4:59 ` [PATCH 3/3] MdeModulePkg: Add IpmiCommandLib Chang, Abner
2023-01-13  0:30   ` Isaac Oram
2022-12-29 17:31 ` [edk2-devel] [PATCH 0/3] Add NULL IpmiCommandLib instance Michael D Kinney
2022-12-30  4:09   ` Chang, Abner [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=MN2PR12MB3966155157C542BA7CF69B32EAF09@MN2PR12MB3966.namprd12.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox