Thanks for your review, @Chang, Abner Version 2 patch is here: https://edk2.groups.io/g/devel/message/109280 Regards, Nickle > -----Original Message----- > From: Chang, Abner > Sent: Thursday, September 14, 2023 12:48 PM > To: Nickle Wang ; devel@edk2.groups.io > Cc: Igor Kulchytskyy > Subject: RE: [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md > > External email: Use caution opening links or attachments > > > [AMD Official Use Only - General] > > Hi Nickle, > See my comments in line. > > Thanks > Abner > > > -----Original Message----- > > From: Nickle Wang > > > Sent: Tuesday, September 12, 2023 11:10 PM > > To: devel@edk2.groups.io > > Cc: Chang, Abner >; Igor Kulchytskyy > > > > > Subject: [edk2-redfish-client][PATCH] RedfishClientPkg: update Readme.md > > > > Caution: This message originated from an External Source. Use proper caution > > when opening attachments, clicking links, or responding. > > > > > > Update readme for below topics: > > - The call flow of BIOS Redfish provisioning scenario. > > - The call flow of BIOS Redfish pending settings scenario. > > - The call flow of Redfish feature driver dispatch. > > - Redfish foundation driver stack design. > > - The design of Redfish Platform Config Protocol. > > - The design of synchronization between BIOS and Redfish service. > > > > Signed-off-by: Nickle Wang > > > Cc: Abner Chang > > > Cc: Igor Kulchytskyy > > > --- > > .../redfish-call-flow-pending-settings.svg | 58 ++++++ > > .../Media/redfish-call-flow-provisioning.svg | 46 +++++ > > .../redfish-feature-driver-call-flow.svg | 133 ++++++++++++++ > > .../Media/redfish-foundation-driver-stack.svg | 75 ++++++++ > > ...redfish-platform-config-protocol-stack.svg | 99 ++++++++++ > > .../Media/redfish-synchronization-design.svg | 75 ++++++++ > > RedfishClientPkg/Readme.md | 169 ++++++++++++++++-- > > 7 files changed, 640 insertions(+), 15 deletions(-) > > create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow- > > pending-settings.svg > > create mode 100755 RedfishClientPkg/Documents/Media/redfish-call-flow- > > provisioning.svg > > create mode 100755 RedfishClientPkg/Documents/Media/redfish-feature- > > driver-call-flow.svg > > create mode 100755 RedfishClientPkg/Documents/Media/redfish- > > foundation-driver-stack.svg > > create mode 100755 RedfishClientPkg/Documents/Media/redfish-platform- > > config-protocol-stack.svg > > create mode 100755 RedfishClientPkg/Documents/Media/redfish- > > synchronization-design.svg > > > > diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow-pending- > > settings.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow- > > pending-settings.svg > > new file mode 100755 > > index 00000000..155a5ab3 > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-pending- > > settings.svg > > @@ -0,0 +1,58 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > > + > > + > > + > > + > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2143.23 > > 758)">Feature Driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 763.66 758)">EDK2 > > HII > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 3499.14 > > 758)">Redfish Service > > + > > + > > + > > + > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014 > > 1568)">3 > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1016.37 > > 1568)">. If > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1098.29 > > 1568)">HII question exists and pending value is changed > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89 > > 1628)">Use HII protocol/library to submit new value > > + > fill="#FFFF00" fill-rule="evenodd"/> > > + > fill="#FFFF00" fill-rule="evenodd"/> > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014 > > 1239)">2. Check and see if there is HII question with lang: > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89 > > 1299)">/ > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1078.24 > > 1299)">bios/attributes/ > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1444.91 > > 1299)">ATTRIBUTE_ > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1719.91 > > 1299)">NAME > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2378.69 > > 1805)">4. Update current settings to > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2440.56 > > 1865)">/redfish/v1/systems/SYS/Bios > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3138.38 > > 1865)">(provisioning) > > + > fill="#8C8C8C"/> > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2393.47 > > 968)">1. Use > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2549.88 > > 968)">HTTP âEURoeGUTâEUR� to download pending settings from > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2455.35 > > 1028)">/redfish > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2638.11 > > 1028)">/v1/systems/SYS/Bios/Settings > > + > fill="#8C8C8C"/> > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2151.86 > > 2175)">6. > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2212.01 > > 2175)">System reboot > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 347.29 1046)">Chipset/HII > > + > transform="matrix(1 0 0 1 413.749 1105)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 402.29 1101)">Chipset/HII > > + > transform="matrix(1 0 0 1 468.749 1160)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 457.29 1156)">Chipset/HII > > + > transform="matrix(1 0 0 1 523.749 1215)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 512.29 1211)">Chipset/HII > > + > transform="matrix(1 0 0 1 578.749 1270)">driver > > + > > + > weight="400" font-size="83" transform="matrix(1 0 0 1 62.1854 > > 611)">Consume pending > > + > weight="400" font-size="83" transform="matrix(1 0 0 1 687.237 > > 611)">settings: > > + > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1 > > 62.1854 680)">BMC to BIOS > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3715.21 > > 1979)">5. BMC reset pending settings > > + > > + > > diff --git a/RedfishClientPkg/Documents/Media/redfish-call-flow- > > provisioning.svg b/RedfishClientPkg/Documents/Media/redfish-call-flow- > > provisioning.svg > > new file mode 100755 > > index 00000000..70556152 > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-call-flow-provisioning.svg > > @@ -0,0 +1,46 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > > + > > + > > + > > + > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2187.7 > > 807)">Feature Driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 808.129 807)">EDK2 > > HII > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#FFFFFF"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 3543.6 > > 807)">Redfish Service > > + > > + > > + > > + > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 957.259 > > 969)">1. Find all HII questions with > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1620.12 > > 969)">language: > > + > font-weight="700" font-size="50" transform="matrix(1 0 0 1 1854.45 > > 969)">âEURoe/bios/attributes/* > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2292.73 > > 969)">âEUR� > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 985.955 > > 1526)">3. Get current value of each HII question and > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1047.83 > > 1586)">append value to attribute list > > + > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2417.95 > > 1202)">2. Follow Bios schema and > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2479.82 > > 1262)">create attribute list > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2412.63 > > 1795)">4. BIOS current settings is ready > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2474.5 > > 1855)">Issue HTTP âEURoePUTâEUR� to > > /redfish/v1/systems/SYS/Bios > > + > fill="#8C8C8C"/> > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 391.759 1095)">Chipset/HII > > + > transform="matrix(1 0 0 1 458.217 1154)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 446.759 1150)">Chipset/HII > > + > transform="matrix(1 0 0 1 513.217 1209)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 501.759 1205)">Chipset/HII > > + > transform="matrix(1 0 0 1 568.217 1264)">driver > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#404040"/> > > + > transform="matrix(1 0 0 1 556.759 1260)">Chipset/HII > > + > transform="matrix(1 0 0 1 623.217 1319)">driver > > + > transform="matrix(-1 0 0 1 2379.45 1453)"/> > > + > weight="400" font-size="83" transform="matrix(1 0 0 1 289.433 > > 610)">Provisioning: > > + > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1 > > 289.433 679)">BIOS to BMC > > + > > + > > diff --git a/RedfishClientPkg/Documents/Media/redfish-feature-driver-call- > > flow.svg b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call- > > flow.svg > > new file mode 100755 > > index 00000000..acea6b44 > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-feature-driver-call- > > flow.svg > > @@ -0,0 +1,133 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > > + > > + > > + > > + > > + > > + > rule="evenodd"/> > > + > > + > transform="matrix(1 0 0 1 703.081 901)">Redfish Feature > > + > transform="matrix(1 0 0 1 756.935 960)">Core Driver > > + > stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none"/> > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 63.3886 702)">Event > > driven > > + > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 > > 63.3886 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid > > + > fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 429 > > 779)"/> > > + > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#FFFFFF"/> > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7033 > > 1129)">Ready > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 206.641 1129)">- > > > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 223.255 > > 1129)">to > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 271.953 1129)">- > > > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 288.568 > > 1129)">Provision Signal > > + > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 > > 65.7033 1173)">gEfiRedfishClientFeatureReadyToProvisionin > > + > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 > > 65.7033 1213)">gGuid > > + > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#FFFFFF"/> > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7037 > > 2358)">After > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 182.006 2358)">- > > > > + > weight="700" font-size="55" transform="matrix(1 0 0 1 198.62 > > 2358)">Provision Signal > > + > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 > > 65.7037 2402)">gEfiRedfishClientFeatureAfterProvisioningG > > + > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1 > > 65.7037 2442)">uid > > + > > + > > + > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1313.38 > > 1258)">Service Root > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 1192.27 > > 1131)">/redfish/v1 > > + > > + > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1681.69 > > 1462)">ComputerSystemC > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1792.26 > > 1521)">ollection > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 1626.06 > > 1376)">/redfish/v1/Systems > > + > > + > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2579.22 > > 1490)">ComputerSystem > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 2510.53 > > 1371)">/redfish/v1/Systems/SYS > > + > > + > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2103.34 > > 1812)">Bios > > + > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 1894.92 > > 1693)">/redfish/v1/Systems/SYS/Bios > > + > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2106.47 > > 2103)">MemoryCollection > > + > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 2062.37 > > 1981)">/redfish/v1/Systems/SYS/Memory > > + > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3085.32 > > 2103)">Memory > > + > > + > font-weight="400" font-size="183" transform="matrix(1 0 0 1 2263.52 > > 2245)">âEUR¦ > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill- > > rule="evenodd"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3657.66 > > 885)">Bios > > + > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3486.36 > > 688)">Redfish foundation > > + > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3474.33 > > 306)">BMC Redfish service > > + > > + > > + > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3434.8 > > 1069)">Redfish Platform Config > > + > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3610.58 > > 1391)">EDK2 HII > > + > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3552.42 > > 1571)">Chipset driver > > + > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3670.44 > > 1753)">HW > > + > > + > fill="#8C8C8C"/> > > + > fill="#8C8C8C"/> > > + > fill="#8C8C8C"/> > > + > opacity="0.501961"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3606.27 > > 498)">Network > > + > > + > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97 > > 1194)">x > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 3755.74 1194)">- > > > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 3771.21 > > 1194)">uefi > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 3849.7 1194)">- > > > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 3865.17 > > 1194)">redfish > > + > weight="400" font-size="50" transform="matrix(1 0 0 1 4007.25 1194)">- > > > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 4022.72 > > 1194)">Bios.vA_B_C > > + > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97 > > 1255)">/Bios/Attributes/XXX > > + > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 > > 380.14 1659)">Redfish Feature Protocol > > + > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 > > 2829.58 2249)">Redfish Resource Config Protocol > > + > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1 > > 2426.51 1602)">Redfish Resource Config Protocol > > + > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10" > > fill="none"/> > > + > > + > > + > > + > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 165.4 > > 423)">/redfish/ > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 406.025 > > 423)">v1 > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 469.046 > > 423)">/ > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 496.546 > > 423)">Systems > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 715.4 423)">/ > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 742.9 > > 423)">SYS > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 836.858 > > 423)">/ > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 864.358 > > 423)">Bios > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 976.65 > > 423)">/âEUR¦ > > + > fill="#890857"/> > > + > > + > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" > > fill-rule="evenodd"/> > > + > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none" fill-rule="evenodd"/> > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 497.682 > > 539)">Service Root > > + > > + > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" > > fill-rule="evenodd"/> > > + > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none" fill-rule="evenodd"/> > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 682.83 > > 228)">Computer System > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 749.861 > > 272)">Collection > > + > > + > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" > > fill-rule="evenodd"/> > > + > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none" fill-rule="evenodd"/> > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 956.072 > > 510)">Computer > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 980.134 > > 554)">System > > + > > + > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none" > > fill-rule="evenodd"/> > > + > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none" fill-rule="evenodd"/> > > + > weight="700" font-size="41" transform="matrix(1 0 0 1 1324.41 > > 254)">Bios > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 65.5579 > > 241)">Register > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 2943.32 > > 1981)">/redfish/v1/Systems/SYS/ > > + > weight="700" font-size="48" transform="matrix(1 0 0 1 3469.25 > > 1981)">Memory/Dimm1 > > + > fill="#8C8C8C"/> > > + > > + > > + > > + > > diff --git a/RedfishClientPkg/Documents/Media/redfish-foundation-driver- > > stack.svg b/RedfishClientPkg/Documents/Media/redfish-foundation-driver- > > stack.svg > > new file mode 100755 > > index 00000000..79694335 > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-foundation-driver- > > stack.svg > > @@ -0,0 +1,75 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=q2cM9UmPYSpMf9judVCSBmt8BDMEpLUwqyPP%2Bcgh3BU%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > > + > > + > > + > gradientUnits="userSpaceOnUse" spreadMethod="reflect" id="fill1"> > > + > > + > > + > > + > > + > > + > > + > opacity="0.501961"/> > > + > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/> > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 652.979 > > 1972)">NIC > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 450.739 > > 1657)">UEFI Network Stack > > + > stroke="#C55A11" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#FFC000"/> > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1773.26 > > 1660)">In > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1828.84 > > 1660)">- > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1852.33 > > 1660)">band channel > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/> > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 855.72 1182)">REST > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 882.074 1231)">EX > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/> > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 433.577 > > 1254)">Redfish Discover > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 512.067 > > 1299)">Protocol > > + > miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1158.18 > > 2313)">Redfish Service > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#767171"/> > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1100.89 > > 596)">Redfish Application > > + > stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/> > > + > weight="700" font-size="46" transform="matrix(1 0 0 1 457.66 > > 1105)">Redfish Config > > + > weight="700" font-size="46" transform="matrix(1 0 0 1 535.851 > > 1155)">Driver > > + > stroke="#A5A5A5" stroke-width="2.29167" stroke-miterlimit="8" > > fill="url(#fill1)" fill-rule="evenodd"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2474.57 > > 1172)">SMBIOS > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2465.7 > > 1231)">Type 42 > > + > opacity="0.501961"/> > > + > font-weight="700" font-size="73" transform="matrix(1 0 0 1 1959.59 > > 1972)">HW > > + > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#70AD47"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 994.903 > > 720)">Redfish Config Handler Protocol > > + > fill="#70AD47" transform="matrix(1 0 0 -1 1240.5 1052.27)"/> > > + > > + > > + > > + > fill="#FF0000"/> > > + > > + > > + > > + > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#ADB9CA"/> > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 1513.76 1186)">REST > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 1540.11 1235)">EX > > + > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#A5A5A5"/> > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1091.62 > > 1258)">Redfish Discover > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1170.11 > > 1303)">Protocol > > + > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#70AD47"/> > > + > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1099.08 > > 1111)">Redfish Config > > + > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1186.17 > > 1160)">Driver > > + > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#ADB9CA"/> > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 2165.89 1188)">REST > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 2192.24 1237)">EX > > + > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#A5A5A5"/> > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1743.75 > > 1260)">Redfish Discover > > + > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1822.23 > > 1305)">Protocol > > + > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#70AD47"/> > > + > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1751.21 > > 1113)">Redfish Config > > + > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1838.3 > > 1162)">Driver > > + > stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#FBE5D6"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1109.41 > > 1657)">UEFI Network Stack > > + > stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8" > > fill="#5B9BD5"/> > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1311.65 > > 1972)">NIC > > + > > + > > + > > diff --git a/RedfishClientPkg/Documents/Media/redfish-platform-config- > > protocol-stack.svg b/RedfishClientPkg/Documents/Media/redfish-platform- > > config-protocol-stack.svg > > new file mode 100755 > > index 00000000..670c29bf > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-platform-config-protocol- > > stack.svg > > @@ -0,0 +1,99 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=DSsjRyao5Uc9lt7qJSddn%2FT30IWG7DWwOU%2BPo1vpc7g%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse"> > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > > + > opacity="0.4"/> > > + > stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill- > > rule="evenodd"/> > > + > rule="evenodd"/> > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1026.14 > > 683)">Setup Menu > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#9E9E9E"/> > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 916.711 > > 1199)">EDK2 Setup Browser > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 917.571 > > 1038)">EDK2 Display Engine > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1122.4 > > 545)">User > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 941.92 > > 1374)">EDK2 HII Database > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#8C8C8C"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 779.595 > > 1842)">Chipset/HII > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 838.88 > > 1901)">driver > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1188 > > 1842)">Chipset/HII > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.28 > > 1901)">driver > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#8C8C8C"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 945.765 > > 1941)">Chipset/HII > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1005.05 > > 2000)">driver > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1376.4 > > 1941)">Chipset/HII > > + > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1435.69 > > 2000)">driver > > + > > + > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 1247.51 801)">Graphic protocols > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 1247.51 867)">Console input protocols > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 1232.43 1574)">EFI Config Access Protocol > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 1232.43 1640)">HII Database Protocol > > + > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10"/> > > + > font-weight="400" font-size="73" transform="matrix(1 0 0 1 1203.49 > > 2245)">HW > > + > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke- > > dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/> > > + > rule="evenodd"/> > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2754.31 > > 687)">Feature drivers > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2652.04 > > 1124)">EDK2 HII Utility Library > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2724.81 > > 549)">Redfish Interface > > + > > + > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2709.33 > > 1376)">EDK2 HII Database > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > transform="matrix(1 0 0 1 2532.97 1847)">Chipset/HII > > + > transform="matrix(1 0 0 1 2599.43 1906)">driver > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > transform="matrix(1 0 0 1 2941.37 1847)">Chipset/HII > > + > transform="matrix(1 0 0 1 3007.83 1906)">driver > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > transform="matrix(1 0 0 1 2699.14 1947)">Chipset/HII > > + > transform="matrix(1 0 0 1 2765.6 2006)">driver > > + > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#8C8C8C"/> > > + > transform="matrix(1 0 0 1 3129.78 1947)">Chipset/HII > > + > transform="matrix(1 0 0 1 3196.24 2006)">driver > > + > > + > > + > font-style="italic" font-weight="700" font-size="55" transform="matrix(1 0 0 > > 1 3007.22 833)">EDKII Redfish Platform Configure Protocol > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 3007.22 1592)">EFI Config Access Protocol > > + > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1 > > 3007.22 1658)">HII Database Protocol > > + > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10"/> > > + > font-weight="400" font-size="73" transform="matrix(1 0 0 1 2970.9 > > 2248)">HW > > + > > + > > + > fill="#0071C5" transform="matrix(1 0 0 -1 16.4999 118.354)"/> > > + > > + > > + > fill="#0071C5" transform="matrix(1 0 0 -1 1661.5 1182.14)"/> > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 > > 1054)">Move necessary functions > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1120)">to > > library > > + > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1821 > > 1874)">UEFI > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1780.6 > > 1933)">variable > > + > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10"/> > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3589.11 > > 1851)">UEFI > > + > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3548.71 > > 1910)">variable > > + > > + > > + > > diff --git a/RedfishClientPkg/Documents/Media/redfish-synchronization- > > design.svg b/RedfishClientPkg/Documents/Media/redfish-synchronization- > > design.svg > > new file mode 100755 > > index 00000000..2dd1fb61 > > --- /dev/null > > +++ b/RedfishClientPkg/Documents/Media/redfish-synchronization- > > design.svg > > @@ -0,0 +1,75 @@ > > + > > xmlns="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fw > ww.w3.org%2F2000%2Fsvg&data=05%7C01%7Cnicklew%40nvidia.com%7C59b7 > 14aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9ccc17a%7 > C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC > 4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C > %7C%7C&sdata=DSsjRyao5Uc9lt7qJSddn%2FT30IWG7DWwOU%2BPo1vpc7g%3 > D&reserved=0" > > > xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F > %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com% > 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc > c17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbGZsb3d8eyJ > WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3 > 000%7C%7C%7C&sdata=9Mvy9s%2FfLuL7ptuTIx5JzxQzRS1Yb6d3rJlZUzDsYiE%3 > D&reserved=0" xml:space="preserve" > > overflow="hidden"> > > + > > + > > + > > + > > + > > + > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#008564" fill-rule="evenodd"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 104.76 > > 290)">REDFISH_FEATURE_CALLBACK() > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="none"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 839.622 > > 610)">Identify() > > + > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" > > fill="none"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1433.4 > > 855)">Check() > > + > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1928.64 > > 1134)">Provisioning() > > + > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1808.4 > > 1510)">Consume() > > + > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2376.59 > > 1818)">Update() > > + > fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 511.5 > > 406.5)"/> > > + > fill="#008563"/> > > + > transform="matrix(1 0 0 -1 1557.5 1114.13)"/> > > + > > + > > + > stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke- > > miterlimit="10" fill="#008564" fill-rule="evenodd"/> > > + > weight="400" font-size="64" transform="matrix(1 0 0 1 316.965 > > 2332)">Done > > + > > + > > + > rule="evenodd" fill-opacity="0.501961"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2869.23 > > 1148)">HTTP > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 3021.62 > > 1148)">POST/PUT > > + > rule="evenodd" fill-opacity="0.501961"/> > > + > weight="400" font-size="64" transform="matrix(1 0 0 1 3191.74 > > 2127)">HTTP > > + > font-weight="400" font-size="64" transform="matrix(1 0 0 1 3376.79 > > 2127)">PATCH/PUT > > + > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 1655.98 > > 505)">RedfishResourceIdentifyLib > > + > fill="#008563" transform="matrix(1 0 0 -1 1318.5 588.746)"/> > > + > opacity="0.501961"/> > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 2797.23 > > 806)">GetData > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 2970.82 > > 806)">() > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 2696.04 > > 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL > > + > > + > opacity="0.501961"/> > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 2757.16 > > 931)">GeOemData > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 3013.82 > > 931)">() > > + > fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.53)"/> > > + > fill="#890857" transform="matrix(1 0 0 -1 2849.5 1796.74)"/> > > + > > + > rule="evenodd" fill-opacity="0.501961"/> > > + > fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/> > > + > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" > > fill="#008564" fill-rule="evenodd"/> > > + > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 815.508 > > 946)">false > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 1029.08 > > 808)">true > > + > stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/> > > + > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 1405.87 > > 1282)">true > > + > weight="400" font-size="55" transform="matrix(1 0 0 1 1590.37 > > 1071)">false > > + > weight="400" font-size="64" transform="matrix(1 0 0 1 328.764 > > 396)">Start > > + > stroke="#008563" stroke-width="4.58333" stroke-linejoin="round" stroke- > > miterlimit="10" fill="none" fill-rule="evenodd" transform="matrix(1.83697e- > > 16 1 1 -1.83697e-16 2113.5 1180.5)"/> > > + > > + > width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none" > > fill-rule="evenodd"/> > > + > rule="evenodd" fill-opacity="0.501961"/> > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2601 1512)">HTTP > > > > + > weight="700" font-size="64" transform="matrix(1 0 0 1 2753.4 > > 1512)">HEAD/GET > > + > opacity="0.501961"/> > > + > opacity="0.501961"/> > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 3362.57 > > 1783)">GetData > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 3536.17 > > 1783)">() > > + > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0 > > 1 3195.85 > > 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL > > + > opacity="0.501961"/> > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 3322.5 > > 1908)">GeOemData > > + > weight="700" font-size="50" transform="matrix(1 0 0 1 3579.17 > > 1908)">() > > + > > + > > diff --git a/RedfishClientPkg/Readme.md b/RedfishClientPkg/Readme.md > > index 0aec0580..69dc33d3 100644 > > --- a/RedfishClientPkg/Readme.md > > +++ b/RedfishClientPkg/Readme.md > > @@ -31,13 +31,13 @@ Redfish property with HII option. > > > > The current design of UEFI Redfish Client EDK2 Implementation can already > > support the provisioning of firmware-owned platform Redfish resource, > > however, > > -this requires addtional support on edk2 HII. Therefore, provisioning of > > +this requires additional support on edk2 HII. Therefore, provisioning of > > firmware managed platform Redfish resource would be the second stage. > > > > Below are the block diagrams of UEFI Redfish Client EDK2 Implementation. > > > > ## EDK2 Redfish Client Implementation Diagrams > > -![UEFI Redfish Client > Implementation](https://nam11.safelinks.protection.outlook.com/?url=https%3A > %2F%2Fgithub.com%2Fchangab%2Fedk2- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=9spIhmHTD > Xs%2Bpff8oiLCki5B0wivmxRudW%2FZz06S1BQ%3D&reserved=0 > > staging/blob/edk2-redfish- > > client/RedfishClientPkg/Documents/Media/RedfishClientDriverStack.svg?raw > > =true) > > +![UEFI Redfish Client > Implementation](https://nam11.safelinks.protection.outlook.com/?url=https%3A > %2F%2Fgithub.com%2Ftianocore%2Fedk2- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=XDItTObSf > %2BHNK%2Fcow198PQnn%2Fsmw8%2BB%2B3en3zMhk1hM%3D&reserved=0 > > redfish- > > client/blob/main/RedfishClientPkg/Documents/Media/RedfishClientDriverSta > > ck.svg?raw=true) > > > > ## EFI EDK2 Redfish Client Framework > > The functionality of each block in the diagrams are described in below > > sections, > > @@ -89,7 +89,7 @@ Redfish service to platform configurations, or vice versa > > to update platform > > configurations to Redfish service. Both EDK2 Redfish Non-Collection and > > Collection Feature drivers are script auto-generated base on Redfish schema > > naming. The EDK2 Redfish Non-Collection feature driver manages the > > resource of > > -specific Resdifsh resource type, while the EDK2 Redfish Collection feature > > +specific Redfish resource type, while the EDK2 Redfish Collection feature > > driver manages the members which have the same resource type in collection > > resource (e.g the ComputerSystem resource and ComputerSystemCollection > > resource) > > . > > @@ -100,18 +100,30 @@ platform configuration format and storage from > > EDK2 Redfish Feature driver. > > This protocol provides the interfaces to get and set platform configuration > > with > > the format and configuration storage agnostic to the Redfish feature driver. > > The platform can provide its own EDKII Redfish Platform Config driver > > instance > > -to access platform-specific configuration format and storage. On EDK2 open > > -source, EDKII Redfish Platform Config Protocol accesses the platform > > -configuration in EDK2 HII defined format. > > +to access platform-specific configuration format and storage. > > + > > +On EDK2 open source, EDKII Redfish Platform Config Protocol accesses the > > +platform configuration in EDK2 HII defined format. Below is driver stack > > diagram > > +which implements EDKII Redfish Platform Config Protocol. The protocol > > driver > > +leverages the HII interface to get or set the HII configuration on platform. By > > +following the x-uefi-redfish Configure Language defined in UNI file, protocol > > +driver can find corresponding HII question for given Redfish attribute. In this > > +way, protocol driver creates the mapping between HII questions and Redfish > > +attributes. > > + > > +![platform > config](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgi > thub.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish- > > platform-config-protocol-stack.svg?raw=true) > > > > Below is the prototype of > > **EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL**, > > > > ```C > > struct _EDKII_REDFISH_PLATFORM_CONFIG_PROTOCOL { > > - EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE GetValue; > > - EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE SetValue; > > - EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG > > GetConfigureLang; > > - EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA > > GetSupportedSchema; > > + UINT64 Revision; > > + EDKII_REDFISH_PLATFORM_CONFIG_GET_VALUE GetValue; > > + EDKII_REDFISH_PLATFORM_CONFIG_SET_VALUE SetValue; > > + EDKII_REDFISH_PLATFORM_CONFIG_GET_DEFAULT_VALUE > > GetDefaultValue; > > + EDKII_REDFISH_PLATFORM_CONFIG_GET_ATTRIBUTE GetAttribute; > > + EDKII_REDFISH_PLATFORM_CONFIG_GET_CONFIG_LANG > > GetConfigureLang; > > + EDKII_REDFISH_PLATFORM_CONFIG_GET_SUPPORTED_SCHEMA > > GetSupportedSchema; > > }; > > ``` > > > > @@ -181,11 +193,10 @@ x-uefi-redfish-Processor.v1_0_0 > > ``` > > #### x-uefi-redfish Configure Language format: > > - The string declared with x-uefi-redfish configure language is a path to the > > property > > -in Redfish resource > > +in Redfish schema. > > - The root of path is the Redfish resource type indicated in x-uefi-redfish > > configure > > language > > -- The path is relative to root of Redfish resource type, not related to Redfish > > service > > -- root. > > +- The path is relative to root of [Redfish > > > schema](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F > redfish.dmtf.org%2Fredfish%2Fschema_index&data=05%7C01%7Cnicklew%40nv > idia.com%7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7d > b39efd9ccc17a%7C0%7C0%7C638302637013591785%7CUnknown%7CTWFpbG > Zsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0 > %3D%7C3000%7C%7C%7C&sdata=JtEyBN0G665Gfr5PT1t47hcUZdIqZQO0NQfyt > kZ5%2BGY%3D&reserved=0) defined by DMTF, > > not related to Redfish service root. > > > > #### Examples, > > ```C > > @@ -215,7 +226,135 @@ EDK2 Build is responsible to pull the necessary > > EDK2 Redfish JSON Schema to C > > Structure Convertors and EDK2 Redfish Feature drivers into edk2 build > > process > > according to the x-uefi-Redfish config language used in the HII VFR forms. > > > > +## EDK2 Redfish client feature driver > > +![foundation driver > stack](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgit > hub.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish- > > foundation-driver-stack.svg?raw=true) > > + > > +Above diagram shows the way how Redfish application (Redfish feature > > driver) works with Redfish foundation > > +drivers and communicate with Redfish service. Redfish feature driver relies on > > Redfish Config driver to > > +provide the information of desired Rest Ex instance. To achieve this, Redfish > > feature driver has to provide > > +EDKII Redfish Config Handler Protocol and Redfish Config driver will use this > > protocol to deliver Redfish > > +service information. > > + > > +```C > > +struct _EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL { > > + EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_INIT Init; > > + EDKII_REDFISH_CONFIG_HANDLER_PROTOCOL_STOP Stop; > > +}; > > +``` > > + > > +![feature driver call > flow](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgith > ub.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish- > > feature-driver-call-flow.svg?raw=true) > > + > > +Above diagram shows the details of how Redfish feature core driver invokes > > Redfish feature drivers. To be called > > +by Redfish feature core driver, Redfish feature driver has to register the > > managed URI to Redfish feature core > > +driver. Then Redfish feature core driver learns the dependency of each > > different feature drivers. > > + > > +#### Dispatch Redfish feature drivers > > +When given event is signaled, Redfish feature core driver starts the operation > > of invoking Redfish feature drivers > > +by following the order from left to right in Redfish URI list. In the diagram, the > Is this much clearer to say "following the order from parent node to child node in > the Redfish URI hierarchy." > > > > > feature driver which manages > > +service root will be invoked first. And feature driver which manages computer > > system collection will be invoked > > +at second position. Once Redfish feature core driver walks through entire > > Redfish URI, the operation is stopped. > > + > > +### Interface between collection feature driver and non-collection feature > > driver > > +Redfish collection resource is a set of Redfish non-collection resource. Redfish > > collection feature driver works > > +with non-collection feature driver to manage them. For example, boot option > > collection feature driver work with > > +boot option feature driver to manage boot options in Redfish service. > > Computer system collection feature driver > > +work with computer system feature driver to manage computer system > > resource. > > + > > +The interface between collection feature driver and non-collection feature > > driver is EDKII Redfish resource config > > +protocol. > > + > > +```C > > +struct _EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL { > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_PROVISIONING > > Provisioning; > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CONSUME Consume; > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_UPDATE Update; > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_CHECK Check; > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_IDENTIFY Identify; > > + EDKII_REDFISH_RESOURCE_CONFIG_PROTOCOL_GET_INFO GetInfo; > > +}; > > +``` > > + > > +### Feature driver event > > +Two events are defined for feature driver to perform necessary operation at > > given time. > > +- Ready-to-Provisioning event > > + - Feature driver which requires to do operation before Redfish feature driver > > starts the synchronization can listen to > > + this event. For example, boot option feature driver may want to refresh > > boot order variable and get latest boot order > > + information before provisioning the boot options to boot options resource. > > +- After-Provisioning event > > + - Feature driver which wants to do operation after Redfish feature driver > > finish the synchronization job can listen to > > + this event. > > + > > +### Reboot required > > +When Redfish feature drivers apply user request to platform, a system reboot > > is usually required. PCD > > `gEfiRedfishClientPkgTokenSpaceGuid.PcdRedfishSystemRebootRequired` is > > introduced for this purpose. After Redfish feature > > +core driver is done with synchronization job, Redfish feature core driver > > checks this PCD and perform system reboot when > > +PCD is set to `TRUE`. > > + > > +### Synchronization design between Redfish service and BIOS > > +The purpose of Redfish feature driver is to do the synchronization job > > between Redfish service and BIOS. The operation of synchronization can be > > simply divided into two types: > > + > > +#### Provisioning resource > > +Below is the flow diagram of provisioning platform configuration to Redfish > > service at Bios resource. With the x-uefi-redfish > > +configure language described in above section, Redfish feature driver collect > > all BIOS attributes from HII database and populated > > +them to Redfish service. > > > +![provisioning](https://nam11.safelinks.protection.outlook.com/?url=https%3A% > 2F%2Fgithub.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call- > > flow-provisioning.svg?raw=true) > > + > > +#### Consume resource > > +Below is the flow diagram of consuming user request from Redfish service to > > platform configuration. Redfish feature driver finds > > +corresponding HII question and apply user desired value to platform. > > +![pending > settings](https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2F > github.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish-call- > > flow-pending-settings.svg?raw=true) > > + > > +Below diagram shows the call flow of EDKII Resource Config Protocol and > > how to use this protocol to handle synchronization > > +job. > > > +![synchronization](https://nam11.safelinks.protection.outlook.com/?url=https% > 3A%2F%2Fgithub.com%2Fnicklela%2Fedk2-redfish- > &data=05%7C01%7Cnicklew%40nvidia.com%7C59b714aa9bad4535161e08dbb4 > ddd035%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C638302637013 > 591785%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luM > zIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=SuXJLVo8by > Z6Wgb7xKxmBi%2F26Up3CywxSGsPdVYcxqM%3D&reserved=0 > > client/blob/update-readme/RedfishClientPkg/Documents/Media/redfish- > > synchronization-design.svg?raw=true) > > + > > +Several interfaces defined in EDKII Redfish Resource Config Protocol work > > together to support Redfish synchronization: > > +- Identify() > > + - This function is used to check and see if given Redfish resource is the one > > feature driver wants to manage. A platform > How about, This function is used to check if the given Redfish resource is the one > the feature driver wants to manage. > > > > + library `RedfishReesourceIdentifyLib` is introduced for platform to > > implement its own policy to identify Redfish resource. > > +- Check() > > + - This function is used to check the attribute status on Redfish service. If all > > attributes that feature driver managed > feature driver manages > > > + are presented in Redfish service, feature driver must provision them > If all attributes the feature driver manages are presented in Redfish service, > feature driver must provision them > > > > already. Otherwise, Provisioning() will be called > > + to perform resource provisioning job. > > +- Provisioning() > > + - When this function is called, feature driver will provision all attributes that > > it managed to Redfish service. This > > + operation usually create new resource at Redfish service and require > > different operation that Redfish service specified. > different operation that specified by Redfish service. > > > +- Consume() > > + - When there is pending settings in Redfish service, this function is called for > > feature driver to consume pending settings > > + requested by user. > > +- Update() > > + - When platform configuration is updated, this function is called to update > > configuration changes to Redfish service and > > + Redfish service can show the latest settings on platform. > > + > > +The EDKII Redfish Resource Addendum Protocol is introduced to provide > > platform addendum data that Redfish service requires. > > +This protocol will be called at Provisioning() and Update() functions so > > platform can add OEM attribute or any other attribute > > +that Redfish service specified. > platform can add OEM attribute or any other attribute specified by Redfish > service. > > > + > > +```C > > +struct _EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL { > > + UINT64 Revision; ///< Protocol revision > > + EDKII_REDFISH_RESOURCE_ADDENDUM_OEM GetOemData; ///< Get > > OEM data > > + EDKII_REDFISH_RESOURCE_ADDENDUM_DATA GetData; ///< Get > > addendum data > > +}; > > +``` > > + > > +#### Redfish service implementation > > +The idea of Redfish synchronization design is to manage Redfish resource > > directly by platform firmware. To do this, Redfish > > +synchronization functions have to work with Redfish service implementation > > in BMC firmware. This is because the interface > > +between platform firmware and BMC firmware is not defined in any > > specification. > > +Several prerequisites must be satisfied: > > +- Platform firmware has permission to manage Redfish resource. BMC has > > ability to tell the difference between platform request > > + and out-of-band user. This can normally be done by identifying the > > bootstrap account in HTTP request. The bootstrap account is > > + described in Host Interface specification 1.3.0 section 9. > > +- The ability to tell if there is user changes to Redfish resource or not. Redfish > The ability to tell if there is an user who changes to Redfish resource or not. > > > feature drivers can only be executed at POST > > + time. So the modification to BIOS managed resource is asynchronous > > operation. > is an asynchronous operation. > > > + Thus, we need below supports in Redfish service: > > + - ETAG support in HTTP header. > > + - Setting resource support (defined in Redfish specification 1.18 section > > 9.10). > > + - Redfish Task support to POST and DELETE operation made by user in > > Redfish collection resource and Redfish actions. > > + > > +### Redfish Task design > > +TBD. > > + > > ## The Contributors > > -Chang, Abner \ > > -Wang, Nickle \ > > +Chang, Abner \ > > +Wang, Nickle \ > > Chen, Aaron > > -- > > 2.17.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#109281): https://edk2.groups.io/g/devel/message/109281 Mute This Topic: https://groups.io/mt/101316997/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-