From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by mx.groups.io with SMTP id smtpd.web12.5550.1604886023991824355 for ; Sun, 08 Nov 2020 17:40:25 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=none, err=permanent DNS error (domain: byosoft.com.cn, ip: 58.240.74.242, mailfrom: gaoliming@byosoft.com.cn) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Mon, 09 Nov 2020 09:40:16 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: "'Abner Chang'" , Cc: "'Michael D Kinney'" , "'Zhiguang Liu'" , "'Nickle Wang'" , "'Peter O'Hanley'" References: <20201106074748.21286-1-abner.chang@hpe.com> <20201106074748.21286-2-abner.chang@hpe.com> In-Reply-To: <20201106074748.21286-2-abner.chang@hpe.com> Subject: =?UTF-8?B?5Zue5aSNOiBbRUZJIFNoZWxsIFBBVENIIHYyIDEvMl0gTWRlUGtnL0luY2x1ZGU6IEVGSSBSZWRmaXNoIERpc2NvdmVyIHByb3RvY29s?= Date: Mon, 9 Nov 2020 09:40:21 +0800 Message-ID: <004d01d6b639$49cfe200$dd6fa600$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQIEL+dbZHFVEK3Dwnia7yGG7vQjVwEGstpHqVvbJBA= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn Abner: I further check UEFI Spec 2.8 A and review the code change. I find some structure definitions are different. Can you make sure the one in MdePkg = to align to UEFI spec?=20 =20 Now, I find these below three structure definition don't follow UEFI = spec. Please help check them.=20 EFI_REDFISH_DISCOVERED_INFORMATION, EFI_REDFISH_DISCOVERED_INSTANCE and EFI_REDFISH_DISCOVERED_TOKEN Besides, the driver should include the header file that defines Guid if = the driver uses those Guid. So, those two guids are not required to be = listed here.=20 extern EFI_GUID gEfiRestExProtocolGuid; extern EFI_GUID gEfiRestExServiceBindingProtocolGuid; Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: Abner Chang > =B7=A2=CB=CD=CA=B1=BC=E4: 2020=C4=EA11=D4=C26=C8=D5 15:48 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: Michael D Kinney ; Liming = Gao > ; Zhiguang Liu ; = Nickle > Wang ; Peter O'Hanley > =D6=F7=CC=E2: [EFI Shell PATCH v2 1/2] MdePkg/Include: EFI Redfish = Discover protocol >=20 > Move GUID definition of EFI Redfish Discover protocol > to under MdePkg. With this we don't have dependency of > RedfishPkg in ShellPkg. >=20 > Signed-off-by: Abner Chang >=20 > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Nickle Wang > Cc: Peter O'Hanley > --- > .../Include/Protocol/RedfishDiscover.h | 42 = ++++++++----------- > MdePkg/MdePkg.dec | 3 ++ > RedfishPkg/RedfishPkg.dec | 4 -- > 3 files changed, 21 insertions(+), 28 deletions(-) > rename {RedfishPkg =3D> MdePkg}/Include/Protocol/RedfishDiscover.h = (87%) >=20 > diff --git a/RedfishPkg/Include/Protocol/RedfishDiscover.h > b/MdePkg/Include/Protocol/RedfishDiscover.h > similarity index 87% > rename from RedfishPkg/Include/Protocol/RedfishDiscover.h > rename to MdePkg/Include/Protocol/RedfishDiscover.h > index 4c91605c4e..8fe23470e1 100644 > --- a/RedfishPkg/Include/Protocol/RedfishDiscover.h > +++ b/MdePkg/Include/Protocol/RedfishDiscover.h > @@ -5,16 +5,13 @@ >=20 > SPDX-License-Identifier: BSD-2-Clause-Patent >=20 > + @par Revision Reference: > + This Protocol is introduced in UEFI Specification 2.8 > **/ >=20 > #ifndef EFI_REDFISH_DISCOVER_PROTOCOL_H_ > #define EFI_REDFISH_DISCOVER_PROTOCOL_H_ >=20 > -#include > -#include > -#include > -#include > - > // > // GUID definitions > // > @@ -40,12 +37,9 @@ typedef UINT32 EFI_REDFISH_DISCOVER_FLAG; > ///< 3 > to 15. The corresponding duration is 8 to 2^15 seconds. > ///< > Duration is only valid when EFI_REDFISH_DISCOVER_KEEP_ALIVE > ///< is > set to 1. > -#define EFI_REDFISH_DISCOVER_DURATION_BIT_POS 8 > - > typedef struct _EFI_REDFISH_DISCOVER_PROTOCOL > EFI_REDFISH_DISCOVER_PROTOCOL; > -typedef struct _EFI_REDFISH_DISCOVERED_INFORMATION > EFI_REDFISH_DISCOVERED_INFORMATION; >=20 > -typedef struct _EFI_REDFISH_DISCOVERED_INFORMATION { > +typedef struct { > EFI_HANDLE RedfishRestExHandle; ///< REST EX EFI handle > associated with this Redfish service. > BOOLEAN IsUdp6; ///< Indicates it's IP > versino 6. > EFI_IP_ADDRESS RedfishHostIpAddress; ///< IP address of = Redfish > service. > @@ -57,7 +51,7 @@ typedef struct > _EFI_REDFISH_DISCOVERED_INFORMATION { > CHAR16 *Product; ///< Redfish service > product name. > CHAR16 *ProductVer; ///< Redfish service > product version. > BOOLEAN UseHttps; ///< Using HTTPS. > -}; > +} EFI_REDFISH_DISCOVERED_INFORMATION; >=20 > typedef struct { > EFI_STATUS Status; ///< Status of > Redfish service discovery. > @@ -75,7 +69,7 @@ typedef struct { > EFI_IP_ADDRESS SubnetId; ///< Subnet ID. > UINT8 SubnetPrefixLength; ///< Subnet > prefix-length for IPv4 and IPv6. > UINT16 VlanId; ///< VLAN ID. > -} EFI_REDFISH_DISCOVER_NETWORK_INSTANCE; > +} EFI_REDFISH_DISCOVER_NETWORK_INTERFACE; >=20 > typedef struct { > UINT32 Signature; ///< Token signature. > @@ -112,10 +106,10 @@ typedef struct { > typedef > EFI_STATUS > (EFIAPI *EFI_REDFISH_DISCOVER_NETWORK_LIST)( > - IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > - IN EFI_HANDLE ImageHandle, > - OUT UINTN > *NumberOfNetworkInterfaces, > - OUT EFI_REDFISH_DISCOVER_NETWORK_INSTANCE > **NetworkInterfaces > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_HANDLE ImageHandle, > + OUT UINTN > *NumberOfNetworkInterfaces, > + OUT EFI_REDFISH_DISCOVER_NETWORK_INTERFACE > **NetworkInterfaces > ); >=20 > /** > @@ -147,7 +141,7 @@ EFI_STATUS > (EFIAPI *EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE)( > IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > IN EFI_HANDLE ImageHandle, > - IN EFI_REDFISH_DISCOVER_NETWORK_INSTANCE > *TargetNetworkInterface, > + IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE > *TargetNetworkInterface OPTIONAL, > IN EFI_REDFISH_DISCOVER_FLAG Flags, > IN EFI_REDFISH_DISCOVERED_TOKEN *Token > ); > @@ -155,8 +149,8 @@ EFI_STATUS > /** > This function aborts Redfish service discovery on the given network > interface. >=20 > - @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL > instance. > - @param[in] TargetNetworkInterface Target NIC to do the > discovery. > + @param[in] This > EFI_REDFISH_DISCOVER_PROTOCOL instance. > + @param[in] TargetNetworkInterface Target NIC to do the > discovery. >=20 > @retval EFI_SUCCESS REST EX instance of discovered > Redfish services are returned. > @retval Others Fail to abort Redfish service > discovery. > @@ -165,15 +159,15 @@ EFI_STATUS > typedef > EFI_STATUS > (EFIAPI *EFI_REDFISH_DISCOVER_ABORT_ACQUIRE)( > - IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > - IN EFI_REDFISH_DISCOVER_NETWORK_INSTANCE > *TargetNetworkInterface OPTIONAL > + IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > + IN EFI_REDFISH_DISCOVER_NETWORK_INTERFACE > *TargetNetworkInterface OPTIONAL > ); >=20 > /** > This function releases Redfish services found by RedfishServiceAcquire(). >=20 > @param[in] This EFI_REDFISH_DISCOVER_PROTOCOL > instance. > - @param[in] InstanceList The Redfish service to release. > + @param[in] List The Redfish service to release. >=20 > @retval EFI_SUCCESS REST EX instances of discovered Redfish > are released. > @retval Others Fail to remove the entry > @@ -183,15 +177,15 @@ typedef > EFI_STATUS > (EFIAPI *EFI_REDFISH_DISCOVER_RELEASE_SERVICE)( > IN EFI_REDFISH_DISCOVER_PROTOCOL *This, > - IN EFI_REDFISH_DISCOVERED_LIST *InstanceList > + IN EFI_REDFISH_DISCOVERED_LIST *List > ); >=20 > -typedef struct _EFI_REDFISH_DISCOVER_PROTOCOL { > +struct _EFI_REDFISH_DISCOVER_PROTOCOL { > EFI_REDFISH_DISCOVER_NETWORK_LIST GetNetworkInterfaceList; > EFI_REDFISH_DISCOVER_ACQUIRE_SERVICE AcquireRedfishService; > EFI_REDFISH_DISCOVER_ABORT_ACQUIRE > AbortAcquireRedfishService; > EFI_REDFISH_DISCOVER_RELEASE_SERVICE ReleaseRedfishService; > -} EFI_REDFISH_DISCOVER_PROTOCOL; > +}; >=20 > extern EFI_GUID gEfiRestExProtocolGuid; > extern EFI_GUID gEfiRestExServiceBindingProtocolGuid; > diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec > index 645f61b80e..839bcfe063 100644 > --- a/MdePkg/MdePkg.dec > +++ b/MdePkg/MdePkg.dec > @@ -1858,6 +1858,9 @@ > ## Include/Protocol/RestJsonStructure.h > gEfiRestJsonStructureProtocolGuid =3D { 0xa9a048f6, 0x48a0, = 0x4714, > {0xb7, 0xda, 0xa9, 0xad,0x87, 0xd4, 0xda, 0xc9 }} >=20 > + ## Include/Protocol/RedfishDiscover.h > + gEfiRedfishDiscoverProtocolGuid =3D { 0x5db12509, 0x4550, = 0x4347, > { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f }} > + > # > # Protocols defined in Shell2.0 > # > diff --git a/RedfishPkg/RedfishPkg.dec b/RedfishPkg/RedfishPkg.dec > index f12f83526c..65e21f6bd6 100644 > --- a/RedfishPkg/RedfishPkg.dec > +++ b/RedfishPkg/RedfishPkg.dec > @@ -21,10 +21,6 @@ > # Platform implementation-specific Redfish Host Interface. >=20 > = RedfishPlatformHostInterfaceLib|Include/Library/RedfishHostInterfaceLib.h= >=20 > -[Protocols] > - ## Include/Protocol/RedfishDiscover.h > - gEfiRedfishDiscoverProtocolGuid =3D { 0x5db12509, 0x4550, = 0x4347, > { 0x96, 0xb3, 0x73, 0xc0, 0xff, 0x6e, 0x86, 0x9f }} > - > [Guids] > gEfiRedfishPkgTokenSpaceGuid =3D { 0x4fdbccb7, 0xe829, 0x4b4c, > { 0x88, 0x87, 0xb2, 0x3f, 0xd7, 0x25, 0x4b, 0x85 }} >=20 > -- > 2.17.1