From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.41]) by mx.groups.io with SMTP id smtpd.web10.72535.1673273568315947231 for ; Mon, 09 Jan 2023 06:12:48 -0800 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=oQOt2AeJ; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.236.41, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=KGWa9QpqgmsNaZayKMDwlTf/TVz89Pz+HfjK6o1jwPvifcbFHzvs2LO/gdTOkubfeCInXVcP0OPyis1rtcg140xCWb1oRLspsaSSi6tHI4yaDHHkILQe43GFwHUCHf2Fo1VZcIGo+sR74te07SJwBN5M0vooyNZsRcr9Z8QNAbgoRSGPAjQZ9AHGvtkahPlkT/mugumjWaRRjfhm3Dqe+Ya6brR4PQQTE65ZUxp+ci3ybwJY5AR6Pswz8VJQ6pzQJmgaguNEZxYlX4dScymX/HNi5CJ03fvkyPHbHNaBrFWgUtJFutglVPuMzWo2VF57/P8eUREvu4oSDa7Peo9/3Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IwLvkkKdE4iyr0zyawzlWUywJYe5G1FcSJbFLQ7Kw/w=; b=T/A2yehZpqXwOOH4yjpBIcThuJxRFmmA0RlS5FRAguv9Kbyexwy93e66ejubvbcyKL04Ynh3Q3LZC7rWwa0MXPx5/t5f1Fkr0ZiBPW+BCO4Jiu+OTvrblODR9V6FUenNBAuSHAqbvbN8B0sxXRqzeZISSHE/r8R9i1gdqCNvw6v6LfVMOlxBtMMuGC4VpId408CfCHBZBwNSAPvpRypf0MCacOoiOBWlTOxx6zT4+cH4bUCIwwA38bgk2ftbKhxdQzNvn10+tIoxAHGmJXbCZHNFDy/+zk7wl/H034S691Wc0o/fXtL+rueZWCiCVdN+l8SXB58Fw/C4n2S9q3J+ZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IwLvkkKdE4iyr0zyawzlWUywJYe5G1FcSJbFLQ7Kw/w=; b=oQOt2AeJSi3lTJNggMoy6PJudVrSL0LT5cMf9tpMFsKb6vIaHqeFRiUryiuggQOJOdGYb3uFhSS8emFDRmuPrDX1c/25a2mtauvDzC/PsQJlpJfqhYw50/8xo+Ha82YvXhT8GqOMz8AlA8Ryg8r4Scq2OwFw/6fKyJJU5yz+1k4= Received: from MW3PR06CA0005.namprd06.prod.outlook.com (2603:10b6:303:2a::10) by MN0PR12MB5738.namprd12.prod.outlook.com (2603:10b6:208:371::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5986.18; Mon, 9 Jan 2023 14:12:42 +0000 Received: from CO1NAM11FT033.eop-nam11.prod.protection.outlook.com (2603:10b6:303:2a:cafe::9c) by MW3PR06CA0005.outlook.office365.com (2603:10b6:303:2a::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5880.19 via Frontend Transport; Mon, 9 Jan 2023 14:12:41 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1NAM11FT033.mail.protection.outlook.com (10.13.174.247) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5986.18 via Frontend Transport; Mon, 9 Jan 2023 14:12:23 +0000 Received: from TPE-L1-ABNCHANG.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Mon, 9 Jan 2023 08:12:19 -0600 From: "Chang, Abner" To: CC: Nickle Wang , Igor Kulchytskyy Subject: [edk2-staging][PATCH 3/3] RedfishPkg: Update Readme.md Date: Mon, 9 Jan 2023 22:11:24 +0800 Message-ID: <20230109141124.622-4-abner.chang@amd.com> X-Mailer: git-send-email 2.37.1.windows.1 In-Reply-To: <20230109141124.622-1-abner.chang@amd.com> References: <20230109141124.622-1-abner.chang@amd.com> MIME-Version: 1.0 Return-Path: Abner.Chang@amd.com X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB03.amd.com (10.181.40.144) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT033:EE_|MN0PR12MB5738:EE_ X-MS-Office365-Filtering-Correlation-Id: f2a953e6-dcef-4115-02d7-08daf24b926a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 0my8c8lMkCmVB0pQr0/klecZqnw/jRgQ2nTRkoD/FkM5ZZg/gIaZtPatoAQ0CD3U2K01WyTEmeSbaBIFPs5K0eMswzoliMTnq4t40dDrQTHY3YPl3CyAia/QDoI7K39jTjiZdGKkAnYKLl1GAP+FnoPRDAnUwz4AH5iJd4/hMjppWA+BNgFQEoMZTyFxKZrR99x8pl62fKBzQKpeI60NZqc/LDvz1JcelWQNlawWFor2U8w0KVgqKmyaOKALvbrUIfmEpdshcGXK8ir17RvJ9HPQ77Z0yBIzZ4VjW0Yk+BhN5u1RwJFSSDk99ULoetRC8a02ULUnkYESEyGrC1BDYGl+r6n9pvyPZ6bRbLewom1dNSqTH01uzgQ5gX7d6CZIJUwK3wcIWVOBXgFy4UUjocoWx9T94GHhTJB0dd/uw2iz9AvQ414L5IMAwhoujgx5xux91SyE2z3Cc2SeN+RWkksDc2Mtw/fbmZ6zhvlPorFYxzDxfOBvXs+1xVbH38Rn/AorXkUYJZd99oHQG7ixEjQf7piOBN6z/sUpBtoVsrrYY4kTV41+nNJqlHzfV3KTEsElK/8rKoojqDB286ZXPrI5GNdgUGdM+4qPoBJqRWPgRXHKeX8VWy80RUSlPirgZSL40bFm2lhORz1AtZIL9OSuO3xP9NdUXGhmwrGLV1dURSyZhfk2ksTY7q5UsyJiFW42SZHM1cCsbA6xzUUfbaxsWpnJGVP2UNsI4/Ze+XxPPTLu9oQ+TKfQAQcmHfC5ph2tQbVrzpl7EvJly9F9h1o0qKNOv/Nnge13GxIN52yuf3f6KGYkcKHyTBVdwEff7e7GtlxuoBGcM5byD24BPw== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(376002)(396003)(39860400002)(136003)(346002)(451199015)(40470700004)(46966006)(36840700001)(40480700001)(26005)(478600001)(966005)(1076003)(16526019)(186003)(6916009)(336012)(2616005)(70206006)(8676002)(70586007)(41300700001)(6666004)(54906003)(4326008)(40140700001)(316002)(7696005)(19273905006)(47076005)(83380400001)(36860700001)(86362001)(81166007)(82740400003)(40460700003)(356005)(426003)(82310400005)(2906002)(15650500001)(8936002)(30864003)(36756003)(5660300002)(2876002)(36900700001)(559001)(579004)(563064011);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 09 Jan 2023 14:12:23.0187 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: f2a953e6-dcef-4115-02d7-08daf24b926a X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT033.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB5738 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain From: Abner Chang Update readme.md and add figures to delineate the relationship of edk2 Redfish, USB NIC and IPMI. Signed-off-by: Abner Chang Cc: Nickle Wang Cc: Igor Kulchytskyy --- RedfishPkg/Readme.md | 95 ++++- .../Media/Emualtor Platform Library.svg | 286 +++++++++++++++ .../Media/Platform wiht BMC Library.svg | 328 ++++++++++++++++++ .../Documents/Media/USB Exposed USB NIC.svg | 283 +++++++++++++++ 4 files changed, 984 insertions(+), 8 deletions(-) create mode 100644 RedfishPkg/Documents/Media/Emualtor Platform Library.sv= g create mode 100644 RedfishPkg/Documents/Media/Platform wiht BMC Library.sv= g create mode 100644 RedfishPkg/Documents/Media/USB Exposed USB NIC.svg diff --git a/RedfishPkg/Readme.md b/RedfishPkg/Readme.md index a0e9f0892c2..80b687db9f0 100644 --- a/RedfishPkg/Readme.md +++ b/RedfishPkg/Readme.md @@ -50,12 +50,90 @@ The library is incorporated with RedfishLib ***[[13]](#= [0])*** to encode and dec * **RedfishPkg\Library\JsonLib** ***[[14]](#[0])*** This is the wrapper of open source project ***[Jansson](https://digip.or= g/jansson)***, which is the library that provides APIs to manipulate JSON = payload. =20 -## Platform Components for EDK2 EmulatorPkg: - * **RedfishPlatformCredentialLib** - the EDK2 Emulator platform implementation of acquiring credential to bui= ld up the communication between UEFI firmware and Redfish service. ***[[10]= ](#[0])*** - - * **RedfishPlatformHostInterfaceLib** - EDK2 Emulator platform implementation which provides the information of = building up SMBIOS type 42h record. ***[[11]](#[0])*** +## Platform Components +### **EDK2 EmulatorPkg** +![EDK2 EmulatorPkg Figure](https://github.com/changab/edk2-staging/blob/Re= dfishReadme/RedfishPkg/Documents/Media/Emualtor%20Platform%20Library.svg?ra= w=3Dtrue) + + * **RedfishPlatformCredentialLib**
+ The EDK2 Emulator platform implementation of acquiring credential to b= uild up the communication between + UEFI firmware and Redfish service. ***[[10]](#[0])*** + + The Redfish credential is hardcoded in the EmulatorPkg RedfishPlatform= CredentialLib. The credential is + used to access to the Redfish service hosted by [Redfish Profile Simul= ator](https://github.com/DMTF/Redfish-Profile-Simulator). + + * **RedfishPlatformHostInterfaceLib**
+ EDK2 Emulator platform implementation which provides the information o= f building up SMBIOS type 42h + record. ***[[11]](#[0])*** + + EmulatorPkg RedfishPlatformHostInterfaceLib library consumes the EFI V= ariable which is created + by [RedfishPlatformConfig EFI application](https://github.com/tianocor= e/edk2/tree/master/EmulatorPkg/Application/RedfishPlatformConfig). RedfishP= latformConfig EFI application stores not all of SMBIOS + Type42 record information but the necessary network properties of Redf= ish Host Interface in EFI + Variable. + +### **Platform with BMC and the BMC-Exposed USB Network Device** +![Platform with BMC Figure](https://github.com/changab/edk2-staging/blob/R= edfishReadme/RedfishPkg/Documents/Media/USB%20Exposed%20USB%20NIC.svg?raw= =3Dtrue) + +Server platform with BMC as the server management entity may expose the [U= SB Network Interface Device (NIC)](https://www.usb.org/document-library/cla= ss-definitions-communication-devices-12) +to the platform, which is so called the in-band host-BMC transport interfa= ce. The USB NIC exposed by BMC is +usually a link-local network device which has two network endpoints at hos= t and BMC ends. The endpoint at +host side is connected to the platform USB port, and it is enumerated by e= dk2 USB BUS driver. The edk2 USB +NIC driver then produces the **EFI Network Interface Identifier Protocol** +*(EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_GUID_31)* and connected by EFI= Simple +Network Protocol (SNP) driver and the upper layer edk2 network drivers. Th= e applications can then utilize +the network stack built up on top of USB NIC to communicate with Redfish s= ervice hosted by BMC.
+BMC-exposed USB NIC is mainly designed for the communication between host = and BMC-hosted Redfish service. +BMC-exposed USB NIC can be public to host through [Redfish Host Interface = Specification](https://www.dmtf.org/sites/default/files/standards/documents= /DSP0270_1.3.0.pdf) and discovered by edk2 Redfish discovery +driver. The [Redfish Host Interface Specification](https://www.dmtf.org/si= tes/default/files/standards/documents/DSP0270_1.3.0.pdf) describes the dedi= cated host interface between host and +BMC. The specification follows the [SMBIOS Type 42 format](https://www.dmt= f.org/sites/default/files/standards/documents/DSP0134_3.6.0.pdf) and define= s the host interface as: +- Network Host Interface type (40h) +- Redfish over IP Protocol (04h) + +
+ +![Platform BMC Library Figure](https://github.com/changab/edk2-staging/blo= b/RedfishReadme/RedfishPkg/Documents/Media/Platform%20wiht%20BMC%20Library.= svg?raw=3Dtrue) + + * **RedfishPlatformCredentialLib**
+RedfishPlatformCredentialLib library instance on the platform with BMC use= s Redfish Credential +Bootstrapping IPMI commands defined in [Redfish Host Interface Specificati= on](https://www.dmtf.org/sites/default/files/standards/documents/DSP0270_1.= 3.0.pdf) to acquire the Redfish credential from BMC. edk2 +Redfish firmware then uses this credential to access to Redfish service ho= sted by BMC. + + * **RedfishPlatformHostInterfaceLib**
+BMC-exposed USB NIC, a IPMI Message channel is reported by BMC as a "IPMB-= 1.0" protocol and "802.3 LAN" +medium channel. edk2 firmware can issue a series of IPMI commands to acqui= re the channel +application information (NetFn App), transport network properties (NetFn T= ransport) and other necessary +information to build up the SMBIOS type 42h record. +In order to recognize the specific BMC-exposed USB NIC in case the platfor= m has more than one USB NIC +devices attached, the MAC address specified in the EFI Device Path Protoco= l of SNP EFI handle is used to +match with the MAC address of IPMI message channel. Due to the network inf= ormation such as the MAC +address, IP address, Subnet mask and Gateway are assigned by BMC, edk2 Red= fish implementation needs a +programmatic way to recognize the BMC-exposed USB NIC. + + * **MAC address:** Searching for the BMC-exposed USB NIC
+ The last byte of host-end USB NIC MAC address is the last byte of BMC-= end USB NIC MAC address minus 1. + RedfishPlatformHostInterfaceLib issues the NetFn Transport IPMI comman= d to get the MAC address of each + channel and checks them with the MAC address specified in the EFI Devi= ce Path Protocol.
+ + **_For example:_**
+ BMC-end USB NIC MAC address: 11-22-33-44-55-00
+ Host-end USB NIC MAC address: 11-22-33-44-55-ff + + * **IP Address:** Acquiring the host-end USB NIC IP Address
+ The last byte of host-end USB NIC IPv4 address is the last byte of BMC= -end USB NIC IPv4 address minus 1. + + **_For example:_**
+ BMC-end USB NIC IPv4 address: 165.10.0.0
+ Host-end USB NIC IPv5 address: 165.10.0.255 + + * **Other Network Properties**:
+ Due to the host-end USB NIC and BMC-end USB NIC is a link-local networ= k. Both of them have the same + network properties such as subnet mask and gateway. RedfishPlatformHos= tInterfaceLib issues the NetFn + Transport IPMI command to get the network properties of BMC-end USB NI= C and apply it on host-end USB + NIC. + + **__NOTE__**=20 +``` +Current RedfishPlatformHostInterfaceLib implementation of BMC-exposed USB = NIC can only support IPv4 address format. +``` =20 ## Miscellaneous: =20 @@ -65,7 +143,6 @@ The library is incorporated with RedfishLib ***[[13]](#[= 0])*** to encode and dec For example, run shell command "RedfishPlatformConfig.efi -s 192.168.1= 0.101 255.255.255.0 192.168.10.123 255.255.255.0", which means the source IP address is 192.168.10.101, and the Redfish Server IP a= ddress is 192.168.10.123. ``` - * **Redfish Profile Simulator** Refer to [Redfish Profile Simulator](https://github.com/DMTF/Redfish-Pr= ofile-Simulator) to set up the Redfish service. We are also in the progress to contribute bug fixes and enhancements to= the mainstream Redfish Profile Simulator in order to incorporate with EDK2= Redfish solution. @@ -121,7 +198,9 @@ The library is incorporated with RedfishLib ***[[13]](#= [0])*** to encode and dec 1. [DSP0270](https://www.dmtf.org/sites/default/files/standards/documents/= DSP0270_1.3.0.pdf) - Redfish Host Interface Specification, 1.3.0 2. [DSP0266](https://www.dmtf.org/sites/default/files/standards/documents/= DSP0266_1.12.0.pdf) - Redfish Specification, 1.12.0 3. Redfish Schemas - https://redfish.dmtf.org/schemas/v1/ -4. UEFI Specification - http://uefi.org/specifications +4. SMBIOS - https://www.dmtf.org/sites/default/files/standards/documents/D= SP0134_3.6.0.pdf +5. USB CDC - https://www.usb.org/document-library/class-definitions-commun= ication-devices-12 +6. UEFI Specification - http://uefi.org/specifications =20 ## The Contributors Thanks to the below predecessors who contributed to the UEFI EDK2 Redfish = Prove of Concept code.\ diff --git a/RedfishPkg/Documents/Media/Emualtor Platform Library.svg b/Red= fishPkg/Documents/Media/Emualtor Platform Library.svg new file mode 100644 index 00000000000..584e8e0f9b7 --- /dev/null +++ b/RedfishPkg/Documents/Media/Emualtor Platform Library.svg=09 @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Redfish Service= + + + + + + + + + + + + On Network + + + + + + + + EDKII Redfish Creden= tial(DXE Driver) + + + + + + + + EDKII Redfish Host = Interf= ace(DXE Driver) + + + + + + + + Platform Redfish Credenti= al Library + + + + + + + + Platform Redfish Ho= st Int= erface Library + + + + + + EmulatorPkg Library Instan= ce + + + + + + EmulatorPkg Library Insta= nce + + + + + + + + + + + + + + + + + + + + + EFI Variable<= /text> + + + + + + + + + + + + + + + RedfishPlatformConfg.efi= + + + + + + + + + + + + + Information of <= /tspan>SMBIOS 42 Record + + + + + + Hardcoded Redfish Credential<= /tspan> + + + + + + Redfish Profile = Simulator + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/RedfishPkg/Documents/Media/Platform wiht BMC Library.svg b/Red= fishPkg/Documents/Media/Platform wiht BMC Library.svg new file mode 100644 index 00000000000..c6d0c250dee --- /dev/null +++ b/RedfishPkg/Documents/Media/Platform wiht BMC Library.svg=09 @@ -0,0 +1,328 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Redfish Service= + + + + + + + + + + + + On Network + + + + + + + + EDKII Redfish Creden= tial(DXE Driver) + + + + + + + + EDKII Redfish Host = Interf= ace(DXE Driver) + + + + + + + + Platform Redfish Credenti= al Library + + + + + + + + Platform Redfish Ho= st Int= erface Library + + + + + + Platform with BMC Library = Instance + + + + + + + + + + + + + + + + + + + + Send IPMI NetFn App and I= PMI NetFn Transprort commands to acquire the network Information to build up SMBIOS 42 Record + + + + + + Platform with BMC Library= Instance + + + + + + + + + + + + BMC + + + + + + + + IpmiCommandLibrary= + + + + + + + + IpmiTransportProto= col + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + BMC ExposedUSB Network Interface Device + + + + + + + + + + + + + Get Redfish Credential us= ing IPMI Group Extension (Body code 52h for Redfish) + + + + + + + + \ No newline at end of file diff --git a/RedfishPkg/Documents/Media/USB Exposed USB NIC.svg b/RedfishPk= g/Documents/Media/USB Exposed USB NIC.svg new file mode 100644 index 00000000000..f4d36e86991 --- /dev/null +++ b/RedfishPkg/Documents/Media/USB Exposed USB NIC.svg=09 @@ -0,0 +1,283 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EDKII Network Stack= s(UEFI Driver Model) + + + + + + + + EFI REST EX= (UEFI Driver Model) + + + + + + + + BMC ExposedUSB Network Interface Device + + + + + + + + + + Redfish Service= + + + + + + + + + + + + + + + + + + + + EDKII Redfish Host = Interf= ace(DXE Driver) + + + + + + BMC + + + + + + On Network<= /text> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + EDKII Redfish Crede= ntial(DXE Driver) + + + + + + + + + + + + + + + + + + + + + + EDKII USB Stacks(UEFI Driver Model) + + + + + + + + + + + + + + + + + + + + + + EFI Redfish Discove= ry(UEFI Driver Model) + + + + + + + + \ No newline at end of file --=20 2.37.1.windows.1