From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.62]) by mx.groups.io with SMTP id smtpd.web11.6025.1679282220888343941 for ; Sun, 19 Mar 2023 20:17:01 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@nvidia.com header.s=selector2 header.b=MyAECnu9; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: nvidia.com, ip: 40.107.223.62, mailfrom: nicklew@nvidia.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PJY+E2GpCDUnUpPU6r7SimGk2cdvfGwC+uv6eduIn7+8MkHztfwuZ3LJoyeKZ8C7yf4ioEnKy8FMte5Zmia9kibiw/mkjpN5HPTg40Nha5/Dq3oJ5aqL0WgnodeMTDHNF9HcqsBpxG8zwFjdnG0gd1xw8v1POiQBDgqtfjqthrU0f8yW1zRPRhvAZkltEgeF3w5UKN1v9MTI7kjkmqQjm1g3+V+92DGEBZXCvKmvUZz6kE9ZIX5vqvlpcgLKdTMx8lqemRFVFUIFjpgNL60vokXlS2S7SaNGW4E/rTAUEcy95imE6lUBFten1xg8Cpj6yxQ3ukDK9X3LZUHFqtSOjQ== 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=4QXb6sPzmcJJyN7st9MgoawI2C2RntkaemqD8DhluQw=; b=GZsYciDZgZYg3+NL8Kvr0ydELaaFtsREQHaDWZ1k3sp26ruK9GxqYnz9pB2Wjt58N0YjNceZUQ0hUyGMSO/NGe+jwQphlMsa8HVacU9x6nE++M0XmflFs9ug1mebNVAxPzsp39X1vSzSQP0AOkzSkpFBWZ8pdhHsM7SCKQsYY/ZflxYD54/kIXolfRTazHq1muI3dyVva354AjHFmjE/4H9gRKvSWy3ZDOaUhtKW4Hio7nzUkbeVt8c2gYEkngywA04yR+zim+oFekhR7DzULgY0NRxN8/JlkK7lTbnV4BhsTxS5L/pX4X8Xd3rqb47TwXuWHFvH9/cdBGFdCeTgCQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4QXb6sPzmcJJyN7st9MgoawI2C2RntkaemqD8DhluQw=; b=MyAECnu9PB9qFG+Y4qLzX6Jd8+m9xZI3EhDbFxGMIEocuaGFj2QRSNk0xzmK0cSgrPQNbKhg2XpQBnGCuP8aiul11taUEQFWSSOS6elVz0Y7E9c3OYFKVGf22bmmNVlTgWJvu1pt9U+FcnPJZwas2hOnGlsFzK5swseutLkUmPh936sZDI0KQRdmi8e30ScGxbI76PasEsBMdx07MK3/uHXH3pNcK6F8IpglMQF9Jl58cxipsQM3eo/OImI5oBvn19l8BnOwQMpJ2nABsGc/wvBvcQZMufruj/tSI9zHLiNMVz3hXMjnJRnRFJsQv90dnSHisuOlmUF+Q5xbxIFfJQ== Received: from MW4PR12MB7031.namprd12.prod.outlook.com (2603:10b6:303:1ef::6) by CH0PR12MB5044.namprd12.prod.outlook.com (2603:10b6:610:e3::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6178.37; Mon, 20 Mar 2023 03:16:57 +0000 Received: from MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::c27a:fa4b:66ea:d266]) by MW4PR12MB7031.namprd12.prod.outlook.com ([fe80::c27a:fa4b:66ea:d266%5]) with mapi id 15.20.6178.037; Mon, 20 Mar 2023 03:16:53 +0000 From: "Nickle Wang" To: "devel@edk2.groups.io" , "abner.chang@amd.com" CC: Igor Kulchytskyy Subject: Re: [edk2-devel] [PATCH 3/3] RedfishPkg: Update Readme.md Thread-Topic: [edk2-devel] [PATCH 3/3] RedfishPkg: Update Readme.md Thread-Index: AQHZUp2kqSm3xuB3QEizVozSMz0B7q8DDvBg Date: Mon, 20 Mar 2023 03:16:53 +0000 Message-ID: References: <20230309154055.505-1-abner.chang@amd.com> <20230309154055.505-4-abner.chang@amd.com> In-Reply-To: <20230309154055.505-4-abner.chang@amd.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MW4PR12MB7031:EE_|CH0PR12MB5044:EE_ x-ms-office365-filtering-correlation-id: 32dba628-a2fb-4845-fd7f-08db28f18e00 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: plr0A3wzEN+NFpTe6wgQkT3zEAVMl6rgGUVFaaH3X8M10Zj86m2cm3UBvMvCYxqdMT1gihlImIaz8bnH800D+rGBmQf1ceRTMnoJ1BeRjKnY4zTzJSV7KTOB9O4nn2Ax4/uENFYTYC8u+lklzqC7mGN6GGY/7NGmrZMLD8woyrI0EHmckKQsecYyBamsfU8AlvRiH7EeZPgMy9USBNq1o6Wogw476648V/Np5R99GnYQIR5o6Ygnds9gQhqRDII0qaX+fynOWI6oYt4yIdEJIgSJ0E0mIqLpvw15r35tYNOV2bKQqR8gPyQOD5JwUizD66erPNrSso1abljw++5IxOaOGGlTwOaH/AY78LbYWLhf2zcvisLozeUHyE0kAASMROWvDAN6FFWb5ZG+UpjXnsuBuRIbl/8WmD5+TCM6vqApIEp5C1wkAMakZwFhhY7Y0vbehwTRX9QljWsC/Eqr8zmp8mlm1AGo/RMWjTudRxGAtcAvs5BG2ohwQKVh8+kcF0JMa6ty0EAku32TDadwsusrFcQrwjHWl0wyge3FKyBrxKzuXJOiEiMPYQMVECGhanTyFb5uEXaStKKtGpn2v7yoAT+W9EnPeheVaPMshQhG/CXf+ZcUM5u14snHT+GbnAcfWGvJYhfzzeiWhMyndnIATxhlhkhYVBYgIVWNT8mEjykC/sqWxN52nicTDDHCzOg27F5CxXSt1AXadeA4S96xj2xvOvqYBUZG2ASecyw= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MW4PR12MB7031.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(376002)(136003)(39860400002)(396003)(346002)(366004)(451199018)(66899018)(19273905006)(83380400001)(316002)(478600001)(110136005)(966005)(71200400001)(6506007)(53546011)(9686003)(26005)(186003)(33656002)(7696005)(55016003)(122000001)(38070700005)(86362001)(38100700002)(2906002)(66946007)(52536014)(8936002)(5660300002)(30864003)(66476007)(4326008)(76116006)(66556008)(15650500001)(8676002)(64756008)(41300700001)(66446008)(559001)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?7pI+i7MfciUa38ZPA+C6B2HEZy9ah0zAgYZkxHeSkbywSvlzIT2dsCEZQ3e1?= =?us-ascii?Q?Ok/zym4Nvc19qkvIlBLwqfPzanmsg9KWhgU9NNDQE9cm+4jbCa9ju63j4uY3?= =?us-ascii?Q?FN3sTi4p029uSt2fDaforb6ZCDlsnqHN9dLfb9N0reBYaKv8oWJj6eLvmXhK?= =?us-ascii?Q?fOOmKmgdCgLzfGrvHnv3xe4V2c8ki8GywVaj1OaptcCWcd+ef2ca7oAPUfo/?= =?us-ascii?Q?kCzyjdFiSXVJdGKTRkXPyxVgPk7GEW3uH5fkhq69F95DlDrJ9Cvlvz0WW+Aa?= =?us-ascii?Q?E2Gy89v1BjoOhId6p0tFx9HiflDlZJK2hXC+RIK7jClqfVS+15oVjM2jBAAd?= =?us-ascii?Q?quDWhdSqzgHb4jXtBmdJi7x3218H9AawvcGJqILOJAMyKCxo5RnkRZGAZBvy?= =?us-ascii?Q?1/4WZkVlGW+wqrUXWv+g3ylCzbBF5CxA2eCLU1SxAr6rHeoimp71DpTRBouU?= =?us-ascii?Q?Wy+OfVtmdYFd0upQe4TB669j6qIJHJIgeJryfUELhidnYZJJk8ENybLac7YA?= =?us-ascii?Q?Ya8vwHdfF/aMje/qubVTqSyKPA3DY0CAYjrOF/xSbLbKQOC8ObeCQMLARx5N?= =?us-ascii?Q?7IrFdPg8q3MRGQQtV5Z5cHkjId8u+FmDmS/m9YxZ+swEfy8p7MwhXbOkTp2G?= =?us-ascii?Q?qV1ut+v41LeNFxPsjaIs/tkgGR+85fNalxKpj20G1jX0KZ7qbGd1aHqD5NNI?= =?us-ascii?Q?j1gZYDkSvYIQkvm0VucDmLtDQPIbnwSauM6DBdloE6r8pm5VLfT+hPutJcue?= =?us-ascii?Q?KEVITDIPpdfT7V0osv4i5csaF8xWPQAs17ixaw9rO4zGjKqSW6K33c7MAHIp?= =?us-ascii?Q?FZTqXvpzo1PLc8+yMB+Dr1gVxD1c8qUD8pYOkgfAzv5um0gKtA+lSPX7jPK4?= =?us-ascii?Q?UscZTAwoBfgsqWPBF4EvOugReV+fLhpBSStm4sxUkFH0ID5tTksb6PoEcCjZ?= =?us-ascii?Q?rHXmL3BIEi0zpcML9X5ETZzbwWE5YiS41Up85w64Tkuy5tekry8EBNv/j8tc?= =?us-ascii?Q?RX8rB3O/1jnzi9oLDNPiAOOCTExyB8QQSmyE3F3ILotadc1ZI1qgHXhSgiaL?= =?us-ascii?Q?3xreluBF2hjGYx00hmvQiWV3ZJMHWKK0FpP0GfmmIIDUcFcY1u9krSWOhREa?= =?us-ascii?Q?J80vIfZDDlRcq2HygWtayaUXY7SIx4lnHvJWy4Ab3zO79INk6BcVp8MUCZAF?= =?us-ascii?Q?caMa/LTwivTCbDf6dpraO161LjTOjJJUs3WyuWFoZOTDBY08WfqWXvHlDYUY?= =?us-ascii?Q?3f9vsg+VZgbVeCRc4lEqjbqt8TS/mHTyfVVegwaABoHCiv+s99LNdWegiqor?= =?us-ascii?Q?brBuxG/ry41kWNus9BoTDIRx4s23Db685Ma0FkLRI+VlzBVsDDf13I7sWohB?= =?us-ascii?Q?4lqO9O9T7mi+iamArxxSwkXk+sMvX10yjUuc/4U2bUD6qtg99nlUdc3oFtET?= =?us-ascii?Q?k12uE/KKTN/DIzArD14Pa3zHdEbO5K9OTzjpAqifNS9dQvEem79Nd116lM/9?= =?us-ascii?Q?v/YUk74aW0vQ87Lhy/4M7KbnZ1yX4nPQXWiDbg7QjZqyANhTdXNnZRc0OWHZ?= =?us-ascii?Q?97gKRpWXghDOqvx4HqAnhQv8E5ZYT5ZpT62SGiP0?= MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MW4PR12MB7031.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32dba628-a2fb-4845-fd7f-08db28f18e00 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Mar 2023 03:16:53.7091 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: UPn/oTG21xGkOh1c0ql2reW6B5uNAcGMWqchm1XSM5QtyBjntWCoiyNzYHWaiori7amtGrGeAfO7eMcXZE14mw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH0PR12MB5044 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Thanks for addressing my offline comments. Reviewed-by: Nickle Wang Regards, Nickle -----Original Message----- From: devel@edk2.groups.io On Behalf Of Chang, Abner= via groups.io Sent: Thursday, March 9, 2023 11:41 PM To: devel@edk2.groups.io Cc: Nickle Wang ; Igor Kulchytskyy Subject: [edk2-devel] [PATCH 3/3] RedfishPkg: Update Readme.md External email: Use caution opening links or attachments 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 | 112 +++++- .../Documents/Media/BmcExposedUsbNic.svg | 283 +++++++++++++++ .../Media/EmualtorPlatformLibrary.svg | 286 +++++++++++++++ .../Media/PlatformWihtBmcLibrary.svg | 328 ++++++++++++++++++ 4 files changed, 1001 insertions(+), 8 deletions(-) create mode 100644 RedfishPkg/Documents/Media/BmcExposedUsbNic.svg create mode 100644 RedfishPkg/Documents/Media/EmualtorPlatformLibrary.svg create mode 100644 RedfishPkg/Documents/Media/PlatformWihtBmcLibrary.svg diff --git a/RedfishPkg/Readme.md b/RedfishPkg/Readme.md index a0e9f0892c2..7defe78eb1e 100644 --- a/RedfishPkg/Readme.md +++ b/RedfishPkg/Readme.md @@ -50,12 +50,107 @@ 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. -## 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/tianocore/edk2/blob/master/R= edfishPkg/Documents/Media/EmualtorPlatformLibrary.svg?raw=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/tianocore/edk2/blob/master/= RedfishPkg/Documents/Media/BmcExposedUsbNic.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/tianocore/edk2/blob/mast= er/RedfishPkg/Documents/Media/PlatformWihtBmcLibrary.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.10
+ Host-end USB NIC IPv4 address: 165.10.0.9 + + * **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. + + * **IPMI Commands that Used to Build up Redfish Host Interface** + + Standard IPMI commands those are used to build up the Redfish Host Int= erface for BMC-exposed USB NIC. + The USB NIC exposed by BMC must be reported as one of the message chan= nels as 802.3 LAN/IPMB 1.0 message + channel. + + | IPMI NetFn | IPMI Command| Purpose | Corresponding Host Interface Fi= eld| + |------------|-------------|---------|--------------------------------= ---| + | App
(0x06) | 0x42 | Check the message channel's medium type and p= rotocol.
Medium: 802.3 LAN
Protocol: IPMB 1.0| None| + | Transport
(0x0C) | 0x02 | Get MAC address of message channel. Use= d to match with the MAC address populated in EFI Device Path of network dev= ice| None| + | Group Ext
(0x2C) | Group Extension ID: 0x52
Command: 0x02 | Ch= eck if Redfish bootstrap credential is supported or not.| In Device Descrip= tor Data, Credential Bootstrapping Handle| + | Transport
(0x0C) | Command: 0x02
Parameter: 0x04 | Get BMC-end= message channel IP address source| In Protocol Specific Record Data
- H= ost IP Assignment Type
- Redfish Service IP Discovery Type
- Generate= the Host-side IP address|. + | Transport
(0x0C) | Command: 0x02
Parameter: 0x03 | Get BMC-end= message channel IPv4 address| In Protocol Specific Record Data
- Host I= P Address Format
- Host IP Address| + | Transport
(0x0C) | Command: 0x02
Parameter: 0x06 | Get BMC-end= message channel IPv4 subnet mask| In Protocol Specific Record Data
- Ho= st IP Mask
- Redfish Service IP Mask| + | Transport
(0x0C) | Command: 0x02
Parameter: 0x12 | Get BMC-end= message channel gateway IP address| None, used to configure edk2 network c= onfiguration| + | Transport
(0x0C) | Command: 0x02
Parameter: 0x14 | Get BMC-end= message channel VLAN ID| In Protocol Specific Record Data
Redfish Serv= ice VLAN ID| + + **__NOTE__** +``` +Current RedfishPlatformHostInterfaceLib implementation of BMC-exposed USB = NIC can only support IPv4 address format. +``` ## Miscellaneous: @@ -65,7 +160,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 +215,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 ## The Contributors Thanks to the below predecessors who contributed to the UEFI EDK2 Redfish = Prove of Concept code.\ diff --git a/RedfishPkg/Documents/Media/BmcExposedUsbNic.svg b/RedfishPkg/D= ocuments/Media/BmcExposedUsbNic.svg new file mode 100644 index 00000000000..c7088eb8d54 --- /dev/null +++ b/RedfishPkg/Documents/Media/BmcExposedUsbNic.svg @@ -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) + + + + + + + + diff --git a/RedfishPkg/Documents/Media/EmualtorPlatformLibrary.svg b/Redfi= shPkg/Documents/Media/EmualtorPlatformLibrary.svg new file mode 100644 index 00000000000..33aa6c79df0 --- /dev/null +++ b/RedfishPkg/Documents/Media/EmualtorPlatformLibrary.svg @@ -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 + + + + + + + + + + + + + + + + + diff --git a/RedfishPkg/Documents/Media/PlatformWihtBmcLibrary.svg b/Redfis= hPkg/Documents/Media/PlatformWihtBmcLibrary.svg new file mode 100644 index 00000000000..e52d8478a88 --- /dev/null +++ b/RedfishPkg/Documents/Media/PlatformWihtBmcLibrary.svg @@ -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) + + + + + + + + -- 2.37.1.windows.1