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 <Abner.Chang@amd.com>
> Sent: Thursday, September 14, 2023 12:48 PM
> To: Nickle Wang <nicklew@nvidia.com>; devel@edk2.groups.io
> Cc: Igor Kulchytskyy <igork@ami.com>
> 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 <nicklew@nvidia.com>
> > Sent: Tuesday, September 12, 2023 11:10 PM
> > To: devel@edk2.groups.io
> > Cc: Chang, Abner <Abner.Chang@amd.com>; Igor Kulchytskyy
> > <igork@ami.com>
> > 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 <nicklew@nvidia.com>
> > Cc: Abner Chang <abner.chang@amd.com>
> > Cc: Igor Kulchytskyy <igork@ami.com>
> > ---
> > .../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 @@
> > +<svg width="4414" height="1709" style="background-color:white"
> >
> 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
> >
> 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">
> > + <defs>
> > + <clipPath id="clip0">
> > + <rect x="12" y="509" width="4414" height="1709"/>
> > + </clipPath>
> > + </defs>
> > + <g clip-path="url(#clip0)" transform="translate(-12 -509)">
> > + <rect x="2057.5" y="676.5" width="557" height="128" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2143.23
> > 758)">Feature Driver</text>
> > + <rect x="600.5" y="676.5" width="557" height="128" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 763.66 758)">EDK2
> > HII</text>
> > + <rect x="3408.5" y="676.5" width="587" height="128" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 3499.14
> > 758)">Redfish Service</text>
> > + <path d="M2338.94 804.5 2338.94 2102.76 2332.06 2102.76 2332.06
> > 804.5ZM2354.51 2076.99 2335.5 2109.58 2316.49 2076.99C2315.53
> > 2075.35 2316.09 2073.25 2317.73 2072.29 2319.37 2071.34 2321.47
> > 2071.89 2322.43 2073.53L2338.47 2101.03 2332.53 2101.03 2348.57
> > 2073.53C2349.53 2071.89 2351.63 2071.34 2353.27 2072.29 2354.91
> > 2073.25 2355.47 2075.35 2354.51 2076.99Z" fill="#8C8C8C"/>
> > + <path d="M871.938 804.5 871.938 2127.85 865.063 2127.85 865.063
> > 804.5ZM887.511 2102.08 868.501 2134.67 849.49 2102.08C848.533
> > 2100.44 849.087 2098.34 850.727 2097.38 852.367 2096.43 854.471
> > 2096.98 855.428 2098.62L871.47 2126.12 865.531 2126.12 881.573
> > 2098.62C882.53 2096.98 884.634 2096.43 886.274 2097.38 887.914
> > 2098.34 888.468 2100.44 887.511 2102.08Z" fill="#8C8C8C"/>
> > + <path d="M3710.94 804.5 3710.94 2127.85 3704.06 2127.85 3704.06
> > 804.5ZM3726.51 2102.08 3707.5 2134.67 3688.49 2102.08C3687.53
> > 2100.44 3688.09 2098.34 3689.73 2097.38 3691.37 2096.43 3693.47
> > 2096.98 3694.43 2098.62L3710.47 2126.12 3704.53 2126.12 3720.57
> > 2098.62C3721.53 2096.98 3723.63 2096.43 3725.27 2097.38 3726.91
> > 2098.34 3727.47 2100.44 3726.51 2102.08Z" fill="#8C8C8C"/>
> > + <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2335.45 1342)"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 990.014
> > 1568)">3</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1016.37
> > 1568)">. If </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1098.29
> > 1568)">HII question exists and pending value is changed</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89
> > 1628)">Use HII protocol/library to submit new value</text>
> > + <path d="M1444.91 1252 1719.91 1252 1719.91 1311 1444.91 1311Z"
> > fill="#FFFF00" fill-rule="evenodd"/>
> > + <path d="M1719.91 1252 1844.23 1252 1844.23 1311 1719.91 1311Z"
> > fill="#FFFF00" fill-rule="evenodd"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > 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:</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1051.89
> > 1299)">/</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1078.24
> > 1299)">bios/attributes/</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1444.91
> > 1299)">ATTRIBUTE_</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1719.91
> > 1299)">NAME</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2378.69
> > 1805)">4. Update current settings to </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2440.56
> > 1865)">/redfish/v1/systems/SYS/Bios </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3138.38
> > 1865)">(provisioning)</text>
> > + <path d="M2335 1079.14 3678.02 1079.14 3678.02 1084.87 2335
> > 1084.86ZM3673.43 1068.25 3700.93 1082 3673.43 1095.75Z"
> > fill="#8C8C8C"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2393.47
> > 968)">1. Use </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2549.88
> > 968)">HTTP âEURoeGUTâEUR to download pending settings from</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2455.35
> > 1028)">/redfish</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2638.11
> > 1028)">/v1/systems/SYS/Bios/Settings</text>
> > + <path d="M2335 1901.14 3678.02 1901.14 3678.02 1906.86 2335
> > 1906.86ZM3673.43 1890.25 3700.93 1904 3673.43 1917.75Z"
> > fill="#8C8C8C"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2151.86
> > 2175)">6. </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2212.01
> > 2175)">System reboot</text>
> > + <rect x="298.5" y="959.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 347.29 1046)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 413.749 1105)">driver</text>
> > + <rect x="353.5" y="1014.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 402.29 1101)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 468.749 1160)">driver</text>
> > + <rect x="408.5" y="1069.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 457.29 1156)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 523.749 1215)">driver</text>
> > + <rect x="463.5" y="1124.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 512.29 1211)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 578.749 1270)">driver</text>
> > + <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2341.45 1666)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="83" transform="matrix(1 0 0 1 62.1854
> > 611)">Consume pending </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="83" transform="matrix(1 0 0 1 687.237
> > 611)">settings:</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1
> > 62.1854 680)">BMC to BIOS</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3715.21
> > 1979)">5. BMC reset pending settings</text>
> > + </g>
> > +</svg>
> > 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 @@
> > +<svg width="3803" height="1724" style="background-color:white"
> >
> 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
> >
> 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">
> > + <defs>
> > + <clipPath id="clip0">
> > + <rect x="239" y="507" width="3803" height="1724"/>
> > + </clipPath>
> > + </defs>
> > + <g clip-path="url(#clip0)" transform="translate(-239 -507)">
> > + <rect x="2101.5" y="726.5" width="557" height="127" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2187.7
> > 807)">Feature Driver</text>
> > + <rect x="644.5" y="726.5" width="557" height="127" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 808.129 807)">EDK2
> > HII</text>
> > + <rect x="3452.5" y="726.5" width="587" height="127" stroke="#BCBCBC"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 3543.6
> > 807)">Redfish Service</text>
> > + <path d="M2383.94 853.5 2383.94 2188.56 2377.06 2188.56 2377.06
> > 853.5ZM2399.51 2162.79 2380.5 2195.38 2361.49 2162.79C2360.53
> > 2161.15 2361.09 2159.04 2362.73 2158.08 2364.37 2157.13 2366.47
> > 2157.68 2367.43 2159.32L2383.47 2186.82 2377.53 2186.82 2393.57
> > 2159.32C2394.53 2157.68 2396.63 2157.13 2398.27 2158.08 2399.91
> > 2159.04 2400.47 2161.15 2399.51 2162.79Z" fill="#8C8C8C"/>
> > + <path d="M915.938 853.5 915.938 2188.56 909.063 2188.56 909.063
> > 853.5ZM931.511 2162.79 912.501 2195.38 893.49 2162.79C892.533
> > 2161.15 893.087 2159.04 894.727 2158.08 896.367 2157.13 898.471
> > 2157.68 899.428 2159.32L915.47 2186.82 909.531 2186.82 925.573
> > 2159.32C926.53 2157.68 928.634 2157.13 930.274 2158.08 931.914
> > 2159.04 932.468 2161.15 931.511 2162.79Z" fill="#8C8C8C"/>
> > + <path d="M3754.94 853.5 3754.94 2188.56 3748.06 2188.56 3748.06
> > 853.5ZM3770.51 2162.79 3751.5 2195.38 3732.49 2162.79C3731.53
> > 2161.15 3732.09 2159.04 3733.73 2158.08 3735.37 2157.13 3737.47
> > 2157.68 3738.43 2159.32L3754.47 2186.82 3748.53 2186.82 3764.57
> > 2159.32C3765.53 2157.68 3767.63 2157.13 3769.27 2158.08 3770.91
> > 2159.04 3771.47 2161.15 3770.51 2162.79Z" fill="#8C8C8C"/>
> > + <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1003)"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 957.259
> > 969)">1. Find all HII questions with </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1620.12
> > 969)">language: </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="50" transform="matrix(1 0 0 1 1854.45
> > 969)">âEURoe/bios/attributes/*</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2292.73
> > 969)">âEUR </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 985.955
> > 1526)">3. Get current value of each HII question and</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 1047.83
> > 1586)">append value to attribute list</text>
> > + <path d="M7.04493e-07-2.86458 1444.53-2.86423 1444.53 2.86494-
> > 7.04493e-07 2.86458ZM1439.95-13.7496 1467.45 0.000360892 1439.95
> > 13.7504Z" fill="#8C8C8C" transform="matrix(-1 0 0 1 2379.45 1391)"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2417.95
> > 1202)">2. Follow Bios schema and </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2479.82
> > 1262)">create attribute list</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 2412.63
> > 1795)">4. BIOS current settings is ready</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > 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</text>
> > + <path d="M2385 1906.14 3728.02 1906.14 3728.02 1911.86 2385
> > 1911.86ZM3723.43 1895.25 3750.93 1909 3723.43 1922.75Z"
> > fill="#8C8C8C"/>
> > + <rect x="342.5" y="1008.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 391.759 1095)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 458.217 1154)">driver</text>
> > + <rect x="397.5" y="1063.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 446.759 1150)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 513.217 1209)">driver</text>
> > + <rect x="452.5" y="1118.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 501.759 1205)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 568.217 1264)">driver</text>
> > + <rect x="507.5" y="1173.5" width="377" height="199" stroke="#CDCDCD"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#404040"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 556.759 1260)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 623.217 1319)">driver</text>
> > + <path d="M22.9158-2.86458 1467.45-2.86422 1467.45 2.86494
> > 22.9158 2.86459ZM27.5 13.75 0 0 27.5-13.75Z" fill="#8C8C8C"
> > transform="matrix(-1 0 0 1 2379.45 1453)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="83" transform="matrix(1 0 0 1 289.433
> > 610)">Provisioning:</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="50" transform="matrix(1 0 0 1
> > 289.433 679)">BIOS to BMC</text>
> > + </g>
> > +</svg>
> > 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 @@
> > +<svg width="4287" height="2303" style="background-color:white"
> >
> 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
> >
> 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">
> > + <defs>
> > + <clipPath id="clip0">
> > + <rect x="29" y="171" width="4287" height="2303"/>
> > + </clipPath>
> > + </defs>
> > + <g clip-path="url(#clip0)" transform="translate(-29 -171)">
> > + <rect x="33" y="171" width="1544" height="436" fill="#F2F2F2"/>
> > + <path d="M3300 305.835C3300 231.368 3360.37 171 3434.84
> > 171L3974.16 171C4048.63 171 4109 231.368 4109 305.835L4109
> > 1758.16C4109 1832.63 4048.63 1893 3974.16 1893L3434.84
> > 1893C3360.37 1893 3300 1832.63 3300 1758.16Z" fill="#E8E8E8" fill-
> > rule="evenodd"/>
> > + <path d="M616 846C616 827.222 631.223 812 650.001 812L1142
> > 812C1160.78 812 1176 827.222 1176 846L1176 982C1176 1000.78
> > 1160.78 1016 1142 1016L650.001 1016C631.223 1016 616 1000.78 616
> > 982Z" fill="#76B900" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 703.081 901)">Redfish Feature </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 756.935 960)">Core Driver</text>
> > + <rect x="30.5001" y="635.5" width="797" height="144"
> > stroke="#000000" stroke-width="3.4375" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 63.3886 702)">Event
> > driven</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> > 63.3886 751)">PcdEdkIIRedfishFeatureDriverStartupEventGuid</text>
> > + <path d="M0.11336-2.86234 6.42586-2.61234 12.9907-1.77865
> > 19.4637-0.428434 25.9229 1.43627 32.3153 3.81669 38.6329 6.70925
> > 44.8331 9.96451 50.9302 13.6801 56.9417 17.8314 62.8126 22.3572
> > 68.5498 27.2608 74.153 32.5411 84.7977 44.1253 94.8188 56.9226
> > 104.013 70.7936 112.257 85.6759 119.538 101.424 125.742 117.799
> > 130.688 134.762 134.365 152.159 135.732 164.561 130.036 165.182
> > 128.76 153.341 125.187 136.363 120.383 119.826 114.337 103.826
> > 107.243 88.4491 99.2365 73.9564 90.3062 60.4524 80.5773 47.9997
> > 70.222 36.7089 64.8252 31.6142 59.3124 26.8928 53.6833 22.5436
> > 47.9448 18.5699 42.1669 15.0355 36.2421 11.9158 30.3096 9.1833
> > 24.3271 6.93873 18.2863 5.17843 12.2593 3.90365 6.19914 3.11234-
> > 0.11336 2.86234ZM146.247 159.259 134.621 187.722 118.826 161.343Z"
> > fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16 429
> > 779)"/>
> > + <rect x="33.4998" y="1065.5" width="727" height="177"
> > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7033
> > 1129)">Ready</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 206.641 1129)">-
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 223.255
> > 1129)">to</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 271.953 1129)">-
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 288.568
> > 1129)">Provision Signal</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> > 65.7033 1173)">gEfiRedfishClientFeatureReadyToProvisionin</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> > 65.7033 1213)">gGuid</text>
> > + <rect x="33.4998" y="2310.5" width="727" height="144"
> > stroke="#BCBCBC" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#FFFFFF"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 65.7037
> > 2358)">After</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 182.006 2358)">-
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="55" transform="matrix(1 0 0 1 198.62
> > 2358)">Provision Signal</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> > 65.7037 2402)">gEfiRedfishClientFeatureAfterProvisioningG</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="37" transform="matrix(1 0 0 1
> > 65.7037 2442)">uid</text>
> > + <path d="M898.61 1016 898.61 1153.86C898.61 1155.44 897.327
> > 1156.72 895.745 1156.72L782.917 1156.72 782.917 1150.99 895.745
> > 1150.99 892.881 1153.86 892.881 1016ZM787.5 1167.61 760 1153.86
> > 787.5 1140.11Z" fill="#8C8C8C"/>
> > + <path d="M898.61 1016 898.61 2382.49C898.61 2384.08 897.327
> > 2385.36 895.745 2385.36L782.917 2385.36 782.917 2379.63 895.745
> > 2379.63 892.881 2382.49 892.881 1016ZM787.5 2396.24 760 2382.49
> > 787.5 2368.74Z" fill="#8C8C8C"/>
> > + <path d="M1192.5 1194.67C1192.5 1181.32 1203.32 1170.5 1216.67
> > 1170.5L1690.33 1170.5C1703.68 1170.5 1714.5 1181.32 1714.5
> > 1194.67L1714.5 1291.33C1714.5 1304.68 1703.68 1315.5 1690.33
> > 1315.5L1216.67 1315.5C1203.32 1315.5 1192.5 1304.68 1192.5
> > 1291.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1313.38
> > 1258)">Service Root</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 1192.27
> > 1131)">/redfish/v1</text>
> > + <path d="M0-2.86458 226.791-2.86458C228.373-2.86458 229.656-
> > 1.58207 229.656 0L229.656 273.147 223.927 273.147 223.927 0 226.791
> > 2.86458 0 2.86458ZM240.541 268.564 226.791 296.064 213.041
> > 268.564Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 896 1016)"/>
> > + <path d="M1629.5 1428.67C1629.5 1415.32 1640.32 1404.5 1653.67
> > 1404.5L2126.33 1404.5C2139.68 1404.5 2150.5 1415.32 2150.5
> > 1428.67L2150.5 1525.33C2150.5 1538.68 2139.68 1549.5 2126.33
> > 1549.5L1653.67 1549.5C1640.32 1549.5 1629.5 1538.68 1629.5
> > 1525.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1681.69
> > 1462)">ComputerSystemC</text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1792.26
> > 1521)">ollection</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 1626.06
> > 1376)">/redfish/v1/Systems</text>
> > + <path d="M0-2.86458 460.879-2.86458C462.461-2.86458 463.743-
> > 1.58207 463.743 0L463.743 709.637 458.014 709.637 458.014 0 460.879
> > 2.86458 0 2.86458ZM474.629 705.053 460.879 732.553 447.129
> > 705.053Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 896 1016)"/>
> > + <path d="M2512.5 1427.5C2512.5 1414.25 2523.25 1403.5 2536.5
> > 1403.5L3009.5 1403.5C3022.75 1403.5 3033.5 1414.25 3033.5
> > 1427.5L3033.5 1523.5C3033.5 1536.75 3022.75 1547.5 3009.5
> > 1547.5L2536.5 1547.5C2523.25 1547.5 2512.5 1536.75 2512.5 1523.5Z"
> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2579.22
> > 1490)">ComputerSystem</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 2510.53
> > 1371)">/redfish/v1/Systems/SYS</text>
> > + <path d="M0.0107384-2.86456 338.69-1.59496 338.668 4.13417-
> > 0.0107384 2.86456ZM334.147-12.4975 361.595 1.35551 334.044
> > 15.0023Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2150 1476.36)"/>
> > + <path d="M1889.5 1748.67C1889.5 1735.32 1900.32 1724.5 1913.67
> > 1724.5L2387.33 1724.5C2400.68 1724.5 2411.5 1735.32 2411.5
> > 1748.67L2411.5 1845.33C2411.5 1858.68 2400.68 1869.5 2387.33
> > 1869.5L1913.67 1869.5C1900.32 1869.5 1889.5 1858.68 1889.5
> > 1845.33Z" stroke="#008564" stroke-width="9.16667" stroke-
> > linejoin="round" stroke-miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2103.34
> > 1812)">Bios</text>
> > + <path d="M0-2.86458 780.807-2.86458C782.389-2.86458 783.672-
> > 1.58207 783.672 0L783.672 970.304 777.943 970.304 777.943 0 780.807
> > 2.86458 0 2.86458ZM794.557 965.718 780.807 993.218 767.057
> > 965.718Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 896 1016)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 1894.92
> > 1693)">/redfish/v1/Systems/SYS/Bios</text>
> > + <path d="M2053.5 2040.5C2053.5 2027.25 2064.25 2016.5 2077.5
> > 2016.5L2551.5 2016.5C2564.75 2016.5 2575.5 2027.25 2575.5
> > 2040.5L2575.5 2136.5C2575.5 2149.75 2564.75 2160.5 2551.5
> > 2160.5L2077.5 2160.5C2064.25 2160.5 2053.5 2149.75 2053.5 2136.5Z"
> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2106.47
> > 2103)">MemoryCollection</text>
> > + <path d="M0-2.86458 1072.19-2.86458C1073.77-2.86458 1075.05-
> > 1.58207 1075.05 0L1075.05 1134.13 1069.33 1134.13 1069.33 0 1072.19
> > 2.86458 0 2.86458ZM1085.94 1129.55 1072.19 1157.05 1058.44
> > 1129.55Z" fill="#8C8C8C" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 896 1016)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 2062.37
> > 1981)">/redfish/v1/Systems/SYS/Memory</text>
> > + <path d="M2920.5 2040.5C2920.5 2027.25 2931.25 2016.5 2944.5
> > 2016.5L3418.5 2016.5C3431.75 2016.5 3442.5 2027.25 3442.5
> > 2040.5L3442.5 2136.5C3442.5 2149.75 3431.75 2160.5 3418.5
> > 2160.5L2944.5 2160.5C2931.25 2160.5 2920.5 2149.75 2920.5 2136.5Z"
> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill-rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3085.32
> > 2103)">Memory</text>
> > + <path d="M2.98962e-06-2.86458 322.881-2.86425 322.881 2.86492-
> > 2.98962e-06 2.86458ZM318.298-13.7497 345.798 0.000360892 318.298
> > 13.7503Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 2575 2088)"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="183" transform="matrix(1 0 0 1 2263.52
> > 2245)">âEUR¦</text>
> > + <path d="M3371.5 822.5C3371.5 809.245 3382.25 798.5 3395.5
> > 798.5L4017.5 798.5C4030.75 798.5 4041.5 809.245 4041.5 822.5L4041.5
> > 918.5C4041.5 931.755 4030.75 942.5 4017.5 942.5L3395.5
> > 942.5C3382.25 942.5 3371.5 931.755 3371.5 918.5Z" stroke="#008564"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill-
> > rule="evenodd"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3657.66
> > 885)">Bios</text>
> > + <rect x="3371" y="601" width="670" height="144" fill="#008564"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3486.36
> > 688)">Redfish foundation</text>
> > + <rect x="3371" y="218" width="670" height="145" fill="#5E5E5E"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3474.33
> > 306)">BMC Redfish service</text>
> > + <path d="M2.86458-1.95531e-05 2.86479 29.9551-2.86438 29.9552-
> > 2.86458 1.95531e-05ZM13.7502 25.3717 0.000360892 52.8718-13.7498
> > 25.3719Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 797.872)"/>
> > + <path d="M2.86456-0.0103569 2.94628 22.59-2.78285 22.6107-
> > 2.86456 0.0103569ZM13.8151 17.9673 0.164567 45.5168-13.6848
> > 18.0667Z" fill="#8C8C8C" transform="matrix(1 0 0 -1 3706 600.517)"/>
> > + <rect x="3371" y="981" width="670" height="145" fill="#0071C5"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3434.8
> > 1069)">Redfish Platform Config</text>
> > + <rect x="3374" y="1304" width="670" height="144" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3610.58
> > 1391)">EDK2 HII</text>
> > + <rect x="3377" y="1483" width="670" height="145" fill="#890C58"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3552.42
> > 1571)">Chipset driver</text>
> > + <rect x="3377" y="1666" width="670" height="144" fill="#5D1682"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 3670.44
> > 1753)">HW</text>
> > + <path d="M3708.86 942 3708.86 958.191 3703.14 958.191 3703.14
> > 942ZM3719.75 953.607 3706 981.107 3692.25 953.608Z" fill="#8C8C8C"/>
> > + <path d="M3708.86 1125.94 3712.02 1280.79 3706.29 1280.9 3703.14
> > 1126.06ZM3722.81 1275.98 3709.62 1303.76 3695.31 1276.54Z"
> > fill="#8C8C8C"/>
> > + <path d="M3711.86 1447.79 3712.77 1460.37 3707.05 1460.78
> > 3706.14 1448.21ZM3723.29 1455.01 3711.57 1483.43 3695.87 1457Z"
> > fill="#8C8C8C"/>
> > + <path d="M3714.86 1628 3714.86 1643.16 3709.14 1643.16 3709.14
> > 1628ZM3725.75 1638.57 3712 1666.07 3698.25 1638.57Z"
> > fill="#8C8C8C"/>
> > + <rect x="3371" y="411" width="670" height="144" fill="#0071C5" fill-
> > opacity="0.501961"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3606.27
> > 498)">Network</text>
> > + <path d="M3703.3 411.234 3703.21 385.926 3708.94 385.907 3709.03
> > 411.215ZM3692.34 390.547 3706 363 3719.84 390.453Z" fill="#8C8C8C"/>
> > + <path d="M0-2.86458 22.9167-2.86458 22.9167 2.86458 0
> > 2.86458ZM40.1042-2.86458 63.0208-2.86458 63.0208 2.86458 40.1042
> > 2.86458ZM80.2083-2.86458 103.125-2.86458 103.125 2.86458 80.2083
> > 2.86458ZM120.312-2.86458 143.229-2.86458 143.229 2.86458 120.312
> > 2.86458ZM160.417-2.86458 183.333-2.86458 183.333 2.86458 160.417
> > 2.86458ZM200.521-2.86458 223.438-2.86458 223.438 2.86458 200.521
> > 2.86458ZM240.625-2.86458 263.542-2.86458 263.542 2.86458 240.625
> > 2.86458ZM280.729-2.86458 303.646-2.86458 303.646 2.86458 280.729
> > 2.86458ZM320.833-2.86458 343.75-2.86458 343.75 2.86458 320.833
> > 2.86458ZM360.938-2.86458 383.854-2.86458 383.854 2.86458 360.938
> > 2.86458ZM401.042-2.86458 423.958-2.86458 423.958 2.86458 401.042
> > 2.86458ZM441.146-2.86458 464.062-2.86458 464.062 2.86458 441.146
> > 2.86458ZM481.25-2.86458 504.167-2.86458 504.167 2.86458 481.25
> > 2.86458ZM521.354-2.86458 544.271-2.86458 544.271 2.86458 521.354
> > 2.86458ZM561.458-2.86458
> > + 584.375-2.86458 584.375 2.86458 561.458 2.86458ZM601.562-2.86458
> > 624.479-2.86458 624.479 2.86458 601.562 2.86458ZM641.667-2.86458
> > 664.583-2.86458 664.583 2.86458 641.667 2.86458ZM681.771-2.86458
> > 704.688-2.86458 704.688 2.86458 681.771 2.86458ZM721.875-2.86458
> > 744.52-2.86458C746.102-2.86458 747.385-1.58207 747.385 0L747.385
> > 0.271391 741.656 0.271391 741.656 0 744.52 2.86458 721.875
> > 2.86458ZM747.385 17.4589 747.385 40.3756 741.656 40.3756 741.656
> > 17.4589ZM747.385 57.5631 747.385 80.4797 741.656 80.4797 741.656
> > 57.5631ZM747.385 97.6672 747.385 120.584 741.656 120.584 741.656
> > 97.6672ZM747.385 137.771 747.385 160.688 741.656 160.688 741.656
> > 137.771ZM747.385 177.876 747.385 200.792 741.656 200.792 741.656
> > 177.876ZM747.385 217.98 747.385 240.896 741.656 240.896 741.656
> > 217.98ZM747.385 258.084 747.385 281.001 741.656 281.001 741.656
> > 258.084ZM747.385 298.188 747.385 321.105 741.656 321.105 741.656
> > 298.188ZM747.385
> > + 338.292 747.385 361.209 741.656 361.209 741.656 338.292ZM747.385
> > 378.396 747.385 401.313 741.656 401.313 741.656 378.396ZM747.385
> > 418.501 747.385 441.417 741.656 441.417 741.656 418.501ZM747.385
> > 458.605 747.385 481.521 741.656 481.521 741.656 458.605ZM747.385
> > 498.709 747.385 521.626 741.656 521.626 741.656 498.709ZM747.385
> > 538.813 747.385 561.73 741.656 561.73 741.656 538.813ZM747.385
> > 578.917 747.385 601.834 741.656 601.834 741.656 578.917ZM747.385
> > 619.021 747.385 641.938 741.656 641.938 741.656 619.021ZM747.385
> > 659.126 747.385 682.042 741.656 682.042 741.656 659.126ZM747.385
> > 699.23 747.385 722.146 741.656 722.146 741.656 699.23ZM747.385
> > 739.334 747.385 762.251 741.656 762.251 741.656 739.334ZM747.385
> > 779.438 747.385 802.355 741.656 802.355 741.656 779.438ZM747.385
> > 819.542 747.385 842.459 741.656 842.459 741.656 819.542ZM747.385
> > 859.646 747.385 882.563 741.656 882.563 741.656 859.646ZM747.385
> > 899.751 747.385
> > + 922.667 741.656 922.667 741.656 899.751ZM758.063 923.447 780.98
> > 923.447 780.98 929.176 758.063 929.176ZM798.168 923.447 821.084
> > 923.447 821.084 929.176 798.168 929.176ZM838.272 923.447 861.188
> > 923.447 861.188 929.176 838.272 929.176ZM878.376 923.447 901.293
> > 923.447 901.293 929.176 878.376 929.176ZM918.48 923.447 937.198
> > 923.447 937.198 929.176 918.48 929.176ZM932.615 912.562 960.115
> > 926.312 932.615 940.062Z" fill="#008564" transform="matrix(1 0 0 -1 2411
> > 1796.31)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97
> > 1194)">x</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 3755.74 1194)">-
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 3771.21
> > 1194)">uefi</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 3849.7 1194)">-
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 3865.17
> > 1194)">redfish</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="50" transform="matrix(1 0 0 1 4007.25 1194)">-
> > </text>
> > + <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 4022.72
> > 1194)">Bios.vA_B_C</text>
> > + <text fill="#0071C5" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="50" transform="matrix(1 0 0 1 3733.97
> > 1255)">/Bios/Attributes/XXX</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> > 380.14 1659)">Redfish Feature Protocol</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> > 2829.58 2249)">Redfish Resource Config Protocol</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="700" font-size="41" transform="matrix(1 0 0 1
> > 2426.51 1602)">Redfish Resource Config Protocol</text>
> > + <rect x="61.5" y="347.5" width="1093" height="111" stroke="#000000"
> > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="none"/>
> > + <path d="M406.025 362.408 469.046 362.408 469.046 440.408
> > 406.025 440.408Z" fill="#C0C0C0" fill-rule="evenodd"/>
> > + <path d="M496.546 362.408 715.4 362.408 715.4 440.408 496.546
> > 440.408Z" fill="#FFFF00" fill-rule="evenodd"/>
> > + <path d="M742.9 362.408 836.858 362.408 836.858 440.408 742.9
> > 440.408Z" fill="#00FF00" fill-rule="evenodd"/>
> > + <path d="M864.358 362.408 976.65 362.408 976.65 440.408 864.358
> > 440.408Z" fill="#FF00FF" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 165.4
> > 423)">/redfish/</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 406.025
> > 423)">v1</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 469.046
> > 423)">/</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 496.546
> > 423)">Systems</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 715.4 423)">/</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 742.9
> > 423)">SYS</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 836.858
> > 423)">/</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 864.358
> > 423)">Bios</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 976.65
> > 423)">/âEUR¦</text>
> > + <path d="M62.9999 316.844 1336.22 316.844 1336.22 327.157
> > 62.9999 327.156ZM62.9999 337.469C54.4567 337.469 47.5311 330.543
> > 47.5312 322 47.5312 313.457 54.4567 306.531 62.9999 306.531 71.5431
> > 306.531 78.4687 313.457 78.4687 322 78.4687 330.543 71.5431 337.469
> > 62.9999 337.469ZM1331.06 306.532 1362 322 1331.06 337.469Z"
> > fill="#890857"/>
> > + <rect x="462.5" y="483.5" width="285" height="87" fill="#CDCDCD"/>
> > + <path d="M438.751 483.5 438.751 570.5Z" stroke="#000000" stroke-
> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> > fill-rule="evenodd"/>
> > + <path d="M438.751 499.813 414.999 499.813 399.811 442.936"
> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 497.682
> > 539)">Service Root</text>
> > + <rect x="629.5" y="188.5" width="413" height="102" fill="#CDCDCD"/>
> > + <path d="M595.085 188.5 595.085 290.5Z" stroke="#000000" stroke-
> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> > fill-rule="evenodd"/>
> > + <path d="M595.085 207.625 560.665 207.625 528.732 372.029"
> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 682.83
> > 228)">Computer System </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 749.861
> > 272)">Collection</text>
> > + <rect x="903.5" y="470.5" width="279" height="101" fill="#CDCDCD"/>
> > + <path d="M880.251 470.5 880.251 571.5Z" stroke="#000000" stroke-
> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> > fill-rule="evenodd"/>
> > + <path d="M880.251 489.438 856.999 489.438 806.93 438.596"
> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 956.072
> > 510)">Computer </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 980.134
> > 554)">System</text>
> > + <rect x="1221.5" y="191.5" width="279" height="102" fill="#CDCDCD"/>
> > + <path d="M1198.25 191.5 1198.25 293.5Z" stroke="#000000" stroke-
> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> > fill-rule="evenodd"/>
> > + <path d="M1198.25 210.625 1175 210.625 944.866 379.72"
> > stroke="#000000" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="41" transform="matrix(1 0 0 1 1324.41
> > 254)">Bios</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 65.5579
> > 241)">Register</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 2943.32
> > 1981)">/redfish/v1/Systems/SYS/</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="48" transform="matrix(1 0 0 1 3469.25
> > 1981)">Memory/Dimm1</text>
> > + <path d="M2390.33 1590.83 2383.15 1590.2C2383 1590.19 2382.85
> > 1590.16 2382.71 1590.13L2375.59 1588.38 2372.75 1587.27 2374.89
> > 1581.96 2376.95 1582.81 2384.08 1584.56 2383.64 1584.49 2390.83
> > 1585.12ZM2367.15 1584.88 2361.06 1581.47 2354.16 1576.55 2352.39
> > 1575 2356.21 1570.72 2357.5 1571.89 2363.85 1576.47 2369.95
> > 1579.88ZM2348.12 1571.18 2347.61 1570.73 2341.43 1564.18 2336.44
> > 1557.94 2340.93 1554.37 2345.6 1560.26 2351.42 1566.46 2351.93
> > 1566.91ZM2333.04 1553.04 2330.39 1549.06 2325.59 1540.71 2324.23
> > 1537.81 2329.42 1535.38 2330.57 1537.86 2335.15 1545.88 2337.8
> > 1549.86ZM2321.8 1532.62 2321.42 1531.81 2317.85 1522.57 2315.92
> > 1516.02 2321.41 1514.41 2323.19 1520.5 2326.61 1529.38 2326.99
> > 1530.19ZM2314.56 1510.07 2313.97 1506.17 2319.64 1505.32 2320.22
> > 1509.22ZM2303.72 1511.98 2314 1483 2331.02 1508.61Z"
> > fill="#8C8C8C"/>
> > + <path d="M2793.67 2238.69 2782.92 2237.94 2776.27 2236.64
> > 2777.39 2231.02 2783.32 2232.22 2794.07 2232.97ZM2770.36 2235.29
> > 2761.04 2232.24 2754.03 2229.05 2756.41 2223.84 2762.82 2226.8
> > 2772.14 2229.85ZM2748.66 2226.39 2740.31 2221.56 2733.96 2216.95
> > 2737.33 2212.32 2743.18 2216.6 2751.52 2221.43ZM2729.23 2213.33
> > 2721.44 2206.63 2716.42 2201.54 2720.5 2197.52 2725.18 2202.29
> > 2732.96 2208.99ZM2712.26 2197.23 2704.97 2188.34 2701.58 2183.51
> > 2706.27 2180.22 2709.4 2184.7 2716.69 2193.6ZM2698.29 2178.81
> > 2697.84 2178.16 2691.58 2167.39 2689.69 2163.39 2694.88 2160.95
> > 2696.54 2164.52 2702.53 2174.88 2702.99 2175.53ZM2687.26 2158.2
> > 2686.28 2156.11 2682 2144.51 2681.3 2141.43 2686.9 2140.21 2687.37
> > 2142.53 2691.46 2153.68 2692.44 2155.77ZM2680.08 2135.83 2679.1
> > 2131.34 2684.7 2130.12 2685.68 2134.61ZM2668.84 2137.02 2679 2108
> > 2696.12 2133.54Z" fill="#8C8C8C"/>
> > + <path d="M587.149 1603.19 587.587 1598.75C587.602 1598.6 587.63
> > 1598.45 587.67 1598.3L588.858 1593.86C588.902 1593.69 588.961
> > 1593.53 589.034 1593.38L591.096 1589 593.017 1585.91 597.868
> > 1588.96 596.278 1591.44 594.216 1595.82 594.392 1595.34 593.205
> > 1599.78 593.288 1599.32 592.851 1603.75ZM596.687 1581.05 597.791
> > 1579.71 602.21 1575.21 607.242 1570.81 609.766 1568.92 613.187
> > 1573.52 611.007 1575.13 606.29 1579.23 602.208 1583.36 601.104
> > 1584.7ZM614.532 1565.49 619.348 1562.28 626.283 1558.14 629.459
> > 1556.44 632.158 1561.49 629.217 1563.06 622.526 1567.04 617.71
> > 1570.25ZM634.629 1553.72 641.876 1550.21 650.309 1546.46 652.635
> > 1551.69 644.374 1555.36 637.126 1558.87ZM655.715 1544.27 659.492
> > 1542.75 669.004 1539.22 671.966 1538.22 673.809 1543.64 670.996
> > 1544.6 661.633 1548.07 657.855 1549.59ZM677.391 1536.38 679.016
> > 1535.82 689.374 1532.5 693.921 1531.19 695.499 1536.7 691.126
> > 1537.95 680.859 1541.25 679.234 1541.8ZM699.429
> > + 1529.61 700.148 1529.41 716.155 1525.31 717.574 1530.87 701.726
> > 1534.91 701.007 1535.12ZM721.706 1523.9 722.728 1523.64 738.621
> > 1520.25 739.813 1525.86 724.147 1529.19 723.124 1529.45ZM744.225
> > 1519.06 746.654 1518.55 761.26 1516.04 762.227 1521.69 747.846
> > 1524.15 745.417 1524.67ZM766.907 1515.07 771.579 1514.27 784.02
> > 1512.61 784.78 1518.29 772.546 1519.92 767.874 1520.72ZM789.698
> > 1511.85 797.37 1510.82 806.874 1509.89 807.431 1515.59 798.13 1516.5
> > 790.458 1517.53ZM812.576 1509.33 823.722 1508.25 829.83 1507.92
> > 830.132 1513.64 824.278 1513.95 813.133 1515.04ZM835.551 1507.62
> > 852.715 1506.71 853.017 1512.43 835.853 1513.34ZM849.88 1495.82
> > 877.659 1509 850.449 1523.32Z" fill="#8C8C8C"/>
> > + </g>
> > +</svg>
> > 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 @@
> > +<svg width="2492" height="1877" style="background-color:white"
> >
> 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">
> > + <defs>
> > + <clipPath id="clip0">
> > + <rect x="278" y="517" width="2492" height="1877"/>
> > + </clipPath>
> > + <linearGradient x1="2572" y1="1054" x2="2572" y2="1294"
> > gradientUnits="userSpaceOnUse" spreadMethod="reflect" id="fill1">
> > + <stop offset="0" stop-color="#D2D2D2"/>
> > + <stop offset="0.5" stop-color="#C8C8C8"/>
> > + <stop offset="1" stop-color="#C0C0C0"/>
> > + </linearGradient>
> > + </defs>
> > + <g clip-path="url(#clip0)" transform="translate(-278 -517)">
> > + <rect x="278" y="958" width="2163" height="876" fill="#DAE3F3" fill-
> > opacity="0.501961"/>
> > + <path d="M1.19218-3.22415 20.5371 3.92891 18.1527 10.3772-
> > 1.19218 3.22415ZM26.9853 6.31326 46.3302 13.4663 43.9459 19.9146
> > 24.601 12.7616ZM52.7785 15.8507 72.1234 23.0037 69.7391 29.452
> > 50.3942 22.299ZM78.5717 25.3881 97.9166 32.5411 95.5322 38.9894
> > 76.1873 31.8364ZM104.365 34.9255 123.71 42.0785 121.325 48.5268
> > 101.981 41.3738ZM130.158 44.4629 149.503 51.6159 147.119 58.0642
> > 127.774 50.9112ZM155.951 54.0003 175.296 61.1533 172.912 67.6016
> > 153.567 60.4486ZM181.744 63.5377 201.089 70.6908 198.705 77.139
> > 179.36 69.986ZM207.538 73.0751 226.882 80.2282 224.498 86.6765
> > 205.153 79.5234ZM233.331 82.6125 252.676 89.7656 250.291 96.2139
> > 230.946 89.0608ZM259.124 92.1499 278.469 99.303 276.084 105.751
> > 256.74 98.5982ZM284.917 101.687 304.262 108.84 301.878 115.289
> > 282.533 108.136ZM310.71 111.225 330.055 118.378 327.671 124.826
> > 308.326 117.673ZM336.503 120.762 355.848 127.915 353.464 134.363
> > 334.119 127.21ZM362.297 130.3 381.641 137.453 379.257
> > + 143.901 359.912 136.748ZM388.09 139.837 407.435 146.99 405.05
> > 153.438 385.705 146.285ZM413.883 149.374 433.228 156.527 430.843
> > 162.976 411.499 155.823ZM439.676 158.912 459.021 166.065 456.637
> > 172.513 437.292 165.36ZM465.469 168.449 484.814 175.602 482.43
> > 182.05 463.085 174.897ZM491.262 177.987 510.607 185.14 508.223
> > 191.588 488.878 184.435ZM517.056 187.524 536.4 194.677 534.016
> > 201.125 514.671 193.972ZM542.849 197.061 562.194 204.214 559.809
> > 210.663 540.464 203.51ZM568.642 206.599 587.987 213.752 585.602
> > 220.2 566.258 213.047ZM594.435 216.136 613.78 223.289 611.396
> > 229.738 592.051 222.584ZM620.228 225.674 639.573 232.827 637.189
> > 239.275 617.844 232.122ZM646.021 235.211 665.366 242.364 662.982
> > 248.812 643.637 241.659ZM671.815 244.748 691.16 251.901 688.775
> > 258.35 669.43 251.197ZM697.608 254.286 716.953 261.439 714.568
> > 267.887 695.224 260.734ZM723.401 263.823 742.746 270.976 740.362
> > 277.425 721.017 270.271ZM744.812 260.745 765.836 283.179
> > + 735.275 286.538Z" fill="#70AD47" transform="matrix(1 0 0 -1 594.5
> > 1048.68)"/>
> > + <rect x="392.5" y="1881.5" width="622" height="142" stroke="#41719C"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#5B9BD5"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 652.979
> > 1972)">NIC</text>
> > + <rect x="392.5" y="1515.5" width="622" height="251" stroke="#ED7D31"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#FBE5D6"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 450.739
> > 1657)">UEFI Network Stack</text>
> > + <rect x="1703.5" y="1515.5" width="622" height="251"
> > stroke="#C55A11" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#FFC000"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1773.26
> > 1660)">In</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1828.84
> > 1660)">-</text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1852.33
> > 1660)">band channel</text>
> > + <rect x="807.5" y="1049.5" width="207" height="287" stroke="#2F5597"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#ADB9CA"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 855.72 1182)">REST </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 882.074 1231)">EX</text>
> > + <rect x="393.5" y="1194.5" width="400" height="138" stroke="#787878"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#A5A5A5"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 433.577
> > 1254)">Redfish Discover </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 512.067
> > 1299)">Protocol</text>
> > + <path d="M396.5 2234C396.5 2216.6 410.603 2202.5 428 2202.5L2294
> > 2202.5C2311.4 2202.5 2325.5 2216.6 2325.5 2234L2325.5 2360C2325.5
> > 2377.4 2311.4 2391.5 2294 2391.5L428 2391.5C410.603 2391.5 396.5
> > 2377.4 396.5 2360Z" stroke="#70AD47" stroke-width="4.58333" stroke-
> > miterlimit="8" fill="#FFFFFF" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1158.18
> > 2313)">Redfish Service</text>
> > + <rect x="396.5" y="519.5" width="1929" height="120" stroke="#000000"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#767171"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1100.89
> > 596)">Redfish Application</text>
> > + <rect x="394.5" y="1048.5" width="400" height="138" stroke="#385723"
> > stroke-width="4.58333" stroke-miterlimit="8" fill="#70AD47"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="46" transform="matrix(1 0 0 1 457.66
> > 1105)">Redfish Config </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="46" transform="matrix(1 0 0 1 535.851
> > 1155)">Driver</text>
> > + <path d="M2375 1054 2729 1054 2769 1094 2769 1294 2375 1294Z"
> > stroke="#A5A5A5" stroke-width="2.29167" stroke-miterlimit="8"
> > fill="url(#fill1)" fill-rule="evenodd"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2474.57
> > 1172)">SMBIOS </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 2465.7
> > 1231)">Type 42</text>
> > + <rect x="1710" y="1879" width="615" height="142" fill="#4472C4" fill-
> > opacity="0.501961"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="73" transform="matrix(1 0 0 1 1959.59
> > 1972)">HW</text>
> > + <rect x="396.5" y="645.5" width="1929" height="120" stroke="#385723"
> > stroke-width="3.4375" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#70AD47"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 994.903
> > 720)">Redfish Config Handler Protocol</text>
> > + <path d="M3.17204-1.3246 11.1196 17.7076 4.77555 20.3568-3.17204
> > 1.3246ZM13.7688 24.0517 21.7164 43.084 15.3723 45.7332 7.42475
> > 26.7009ZM24.3656 49.4281 32.3132 68.4603 25.9691 71.1095 18.0215
> > 52.0773ZM34.9624 74.8044 42.91 93.8366 36.5659 96.4858 28.6183
> > 77.4536ZM45.5592 100.181 53.5068 119.213 47.1627 121.862 39.2151
> > 102.83ZM56.156 125.557 64.1036 144.589 57.7595 147.238 49.8119
> > 128.206ZM66.7528 150.933 74.7004 169.966 68.3563 172.615 60.4087
> > 153.583ZM77.3496 176.31 85.2972 195.342 78.9531 197.991 71.0055
> > 178.959ZM87.9464 201.686 95.894 220.718 89.5499 223.367 81.6023
> > 204.335ZM98.5432 227.062 106.491 246.095 100.147 248.744 92.1991
> > 229.712ZM109.14 252.439 114.093 264.301 107.749 266.95 102.796
> > 255.088ZM121.843 256.098 119.752 286.772 96.4671 266.694Z"
> > fill="#70AD47" transform="matrix(1 0 0 -1 1240.5 1052.27)"/>
> > + <path d="M1867.15 1057.88 1849.23 1047.68 1852.63 1041.7 1870.55
> > 1051.91ZM1843.25 1044.28 1825.33 1034.07 1828.73 1028.1 1846.65
> > 1038.3ZM1819.35 1030.67 1801.43 1020.47 1804.83 1014.49 1822.75
> > 1024.7ZM1795.45 1017.07 1777.53 1006.86 1780.93 1000.89 1798.85
> > 1011.09ZM1771.55 1003.46 1753.63 993.258 1757.03 987.284 1774.96
> > 997.488ZM1747.66 989.857 1729.73 979.653 1733.13 973.679 1751.06
> > 983.883ZM1723.76 976.252 1705.83 966.048 1709.23 960.073 1727.16
> > 970.277ZM1699.86 962.647 1681.93 952.443 1685.34 946.468 1703.26
> > 956.672ZM1675.96 949.042 1658.04 938.838 1661.44 932.863 1679.36
> > 943.067ZM1652.06 935.437 1634.14 925.233 1637.54 919.258 1655.46
> > 929.462ZM1628.16 921.831 1610.24 911.628 1613.64 905.653 1631.56
> > 915.857ZM1604.26 908.226 1586.34 898.022 1589.74 892.048 1607.67
> > 902.252ZM1580.37 894.621 1562.44 884.417 1565.84 878.443 1583.77
> > 888.646ZM1556.47 881.016 1538.54 870.812 1541.94 864.837 1559.87
> > 875.041ZM1532.57
> > + 867.411 1514.64 857.207 1518.04 851.232 1535.97 861.436ZM1508.67
> > 853.806 1490.74 843.602 1494.15 837.627 1512.07 847.831ZM1484.77
> > 840.2 1466.85 829.997 1470.25 824.022 1488.17 834.226ZM1460.87
> > 826.595 1442.95 816.391 1446.35 810.417 1464.27 820.621ZM1436.97
> > 812.99 1419.05 802.786 1422.45 796.812 1440.37 807.015ZM1413.07
> > 799.385 1395.15 789.181 1398.55 783.206 1416.48 793.41ZM1389.18
> > 785.78 1378.72 779.825 1382.12 773.851 1392.58 779.805ZM1377.6
> > 791.055 1360.5 765.5 1391.2 767.156Z" fill="#70AD47"/>
> > + <path d="M0-2.29167 146.945-2.29167 146.945 186.106 144.653
> > 183.814 266.39 183.814 266.39 188.397 142.362 188.397 142.362 0
> > 144.653 2.29167 0 2.29167ZM261.806 172.356 289.306 186.106 261.806
> > 199.856Z" fill="#FF0000" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 1360.5 765.5)"/>
> > + <path d="M1571.77 1340.5 1571.77 1451.89 1362.5 1451.89 1364.79
> > 1449.6 1364.79 1491.77 1360.21 1491.77 1360.21 1447.3 1569.48 1447.3
> > 1567.19 1449.6 1567.19 1340.5ZM1376.25 1487.19 1362.5 1514.69
> > 1348.75 1487.19Z" fill="#FF0000"/>
> > + <path d="M1364.79 1766.5 1364.79 1858.57 1360.21 1858.57 1360.21
> > 1766.5ZM1376.25 1853.99 1362.5 1881.49 1348.75 1853.99Z"
> > fill="#FF0000"/>
> > + <path d="M2573.09 1294 2573.09 1422.16 1901.85 1422.16 1901.85
> > 1361.43 1904.15 1361.43 1904.15 1421.01 1903 1419.87 2571.94
> > 1419.87 2570.8 1421.01 2570.8 1294ZM1889.25 1366.01 1903 1338.51
> > 1916.75 1366.01Z" fill="#A5A5A5"/>
> > + <path d="M2573.22 1294 2573.22 1421.96 1249.85 1421.96 1249.85
> > 1359.03 1252.15 1359.03 1252.15 1420.81 1251 1419.67 2572.07
> > 1419.67 2570.93 1420.81 2570.93 1294ZM1237.25 1363.61 1251 1336.11
> > 1264.75 1363.61Z" fill="#A5A5A5"/>
> > + <path d="M2573.26 1294 2573.26 1422.27 591.854 1422.27 591.854
> > 1354.94 594.146 1354.94 594.146 1421.12 593 1419.98 2572.11 1419.98
> > 2570.97 1421.12 2570.97 1294ZM579.25 1359.52 593 1332.02 606.75
> > 1359.52Z" fill="#A5A5A5"/>
> > + <rect x="1465.5" y="1053.5" width="207" height="287"
> > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#ADB9CA"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 1513.76 1186)">REST </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 1540.11 1235)">EX</text>
> > + <rect x="1051.5" y="1198.5" width="400" height="139"
> > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#A5A5A5"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1091.62
> > 1258)">Redfish Discover </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1170.11
> > 1303)">Protocol</text>
> > + <rect x="1052.5" y="1052.5" width="400" height="138"
> > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#70AD47"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1099.08
> > 1111)">Redfish Config </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1186.17
> > 1160)">Driver</text>
> > + <rect x="2117.5" y="1055.5" width="208" height="288"
> > stroke="#2F5597" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#ADB9CA"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 2165.89 1188)">REST </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 2192.24 1237)">EX</text>
> > + <rect x="1703.5" y="1201.5" width="400" height="138"
> > stroke="#787878" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#A5A5A5"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1743.75
> > 1260)">Redfish Discover </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="41" transform="matrix(1 0 0 1 1822.23
> > 1305)">Protocol</text>
> > + <rect x="1704.5" y="1055.5" width="401" height="138"
> > stroke="#385723" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#70AD47"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1751.21
> > 1113)">Redfish Config </text>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="46" transform="matrix(1 0 0 1 1838.3
> > 1162)">Driver</text>
> > + <rect x="1051.5" y="1515.5" width="621" height="251"
> > stroke="#ED7D31" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#FBE5D6"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1109.41
> > 1657)">UEFI Network Stack</text>
> > + <rect x="1051.5" y="1881.5" width="621" height="142"
> > stroke="#41719C" stroke-width="4.58333" stroke-miterlimit="8"
> > fill="#5B9BD5"/>
> > + <text font-family="Trebuchet MS,Trebuchet MS_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1311.65
> > 1972)">NIC</text>
> > + <path d="M2.29157-0.020976 3.72062 156.099-0.862519 156.141-
> > 2.29157 0.020976ZM15.1365 151.411 1.63881 179.035-12.3623
> > 151.662Z" fill="#FF0000" transform="matrix(-1 0 0 1 1362.14 2023.5)"/>
> > + </g>
> > +</svg>
> > 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 @@
> > +<svg width="3433" height="1895" style="background-color:white"
> >
> 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">
> > + <defs>
> > + <filter id="fx0" x="-10%" y="-10%" width="120%" height="120%"
> > filterUnits="userSpaceOnUse" primitiveUnits="userSpaceOnUse">
> > + <feComponentTransfer color-interpolation-filters="sRGB">
> > + <feFuncR type="discrete" tableValues="0 0"/>
> > + <feFuncG type="discrete" tableValues="0 0"/>
> > + <feFuncB type="discrete" tableValues="0 0"/>
> > + <feFuncA type="linear" slope="0.380392" intercept="0"/>
> > + </feComponentTransfer>
> > + <feGaussianBlur stdDeviation="4.8119 4.8119"/>
> > + </filter>
> > + <clipPath id="clip1">
> > + <rect x="572" y="465" width="3433" height="1895"/>
> > + </clipPath>
> > + <clipPath id="clip2">
> > + <rect x="-5" y="13" width="863" height="130"/>
> > + </clipPath>
> > + <clipPath id="clip3">
> > + <rect x="0" y="0" width="883" height="139"/>
> > + </clipPath>
> > + </defs>
> > + <g clip-path="url(#clip1)" transform="translate(-572 -465)">
> > + <rect x="572" y="1277" width="3256" height="1083" fill="#C0E4FF" fill-
> > opacity="0.4"/>
> > + <path d="M654.5 1778.17C654.5 1742.45 683.453 1713.5 719.168
> > 1713.5L1793.83 1713.5C1829.55 1713.5 1858.5 1742.45 1858.5
> > 1778.17L1858.5 2036.83C1858.5 2072.55 1829.55 2101.5 1793.83
> > 2101.5L719.168 2101.5C683.453 2101.5 654.5 2072.55 654.5 2036.83Z"
> > stroke="#A6A6A6" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" stroke-dasharray="36.6667 27.5" fill="none" fill-
> > rule="evenodd"/>
> > + <path d="M690 978.669C690 922.518 735.518 877 791.668
> > 877L1586.33 877C1642.48 877 1688 922.518 1688 978.669L1688
> > 1385.33C1688 1441.48 1642.48 1487 1586.33 1487L791.668
> > 1487C735.518 1487 690 1441.48 690 1385.33Z" fill="#D9D9D9" fill-
> > rule="evenodd"/>
> > + <rect x="716" y="598" width="945" height="136" fill="#76B900"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 1026.14
> > 683)">Setup Menu</text>
> > + <rect x="716.5" y="1114.5" width="945" height="136" stroke="#0070C0"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#9E9E9E"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 916.711
> > 1199)">EDK2 Setup Browser</text>
> > + <rect x="716" y="952" width="945" height="136" fill="#9E9E9E"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 917.571
> > 1038)">EDK2 Display Engine</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1122.4
> > 545)">User</text>
> > + <rect x="716" y="1289" width="945" height="136" fill="#9E9E9E"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 941.92
> > 1374)">EDK2 HII Database</text>
> > + <rect x="716.5" y="1757.5" width="377" height="199" stroke="#656565"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 779.595
> > 1842)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 838.88
> > 1901)">driver</text>
> > + <rect x="1124.5" y="1757.5" width="377" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1188
> > 1842)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1247.28
> > 1901)">driver</text>
> > + <rect x="882.5" y="1856.5" width="377" height="199" stroke="#656565"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 945.765
> > 1941)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1005.05
> > 2000)">driver</text>
> > + <rect x="1313.5" y="1856.5" width="377" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1376.4
> > 1941)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="55" transform="matrix(1 0 0 1 1435.69
> > 2000)">driver</text>
> > + <path d="M1191.86 756.917 1191.86 929.504 1186.14 929.504
> > 1186.14 756.917ZM1175.25 761.5 1189 734 1202.75 761.5ZM1202.75
> > 924.92 1189 952.42 1175.25 924.92Z" fill="#8C8C8C"/>
> > + <path d="M1185.86 1517.92 1185.86 1690.5 1180.14 1690.5 1180.14
> > 1517.92ZM1169.25 1522.5 1183 1495 1196.75 1522.5ZM1196.75 1685.92
> > 1183 1713.42 1169.25 1685.92Z" fill="#8C8C8C"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 1247.51 801)">Graphic protocols</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 1247.51 867)">Console input protocols</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 1232.43 1574)">EFI Config Access Protocol</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 1232.43 1640)">HII Database Protocol</text>
> > + <rect x="657.5" y="2152.5" width="1204" height="145"
> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="73" transform="matrix(1 0 0 1 1203.49
> > 2245)">HW</text>
> > + <path d="M2422.5 1782C2422.5 1746.38 2451.38 1717.5 2487
> > 1717.5L3562 1717.5C3597.62 1717.5 3626.5 1746.38 3626.5 1782L3626.5
> > 2040C3626.5 2075.62 3597.62 2104.5 3562 2104.5L2487 2104.5C2451.38
> > 2104.5 2422.5 2075.62 2422.5 2040Z" stroke="#A6A6A6" stroke-
> > width="9.16667" stroke-linejoin="round" stroke-miterlimit="10" stroke-
> > dasharray="36.6667 27.5" fill="none" fill-rule="evenodd"/>
> > + <path d="M2457 970.169C2457 912.638 2503.64 866 2561.17
> > 866L3350.83 866C3408.36 866 3455 912.638 3455 970.169L3455
> > 1386.83C3455 1444.36 3408.36 1491 3350.83 1491L2561.17
> > 1491C2503.64 1491 2457 1444.36 2457 1386.83Z" fill="#D9D9D9" fill-
> > rule="evenodd"/>
> > + <rect x="2483" y="602" width="945" height="135" fill="#76B900"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2754.31
> > 687)">Feature drivers</text>
> > + <rect x="2483" y="956" width="945" height="302" fill="#0070C0"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2652.04
> > 1124)">EDK2 HII Utility Library</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2724.81
> > 549)">Redfish Interface</text>
> > + <rect x="2483" y="1291" width="945" height="136" fill="#9E9E9E"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="64" transform="matrix(1 0 0 1 2709.33
> > 1376)">EDK2 HII Database</text>
> > + <rect x="2483.5" y="1760.5" width="377" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 2532.97 1847)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 2599.43 1906)">driver</text>
> > + <rect x="2892.5" y="1760.5" width="377" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 2941.37 1847)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 3007.83 1906)">driver</text>
> > + <rect x="2650.5" y="1860.5" width="376" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 2699.14 1947)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 2765.6 2006)">driver</text>
> > + <rect x="3080.5" y="1860.5" width="377" height="199"
> > stroke="#656565" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#8C8C8C"/>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 3129.78 1947)">Chipset/HII </text>
> > + <text fill="#FFFFFF" font-family="Trebuchet MS,Trebuchet
> > MS_MSFontService,sans-serif" font-weight="400" font-size="55"
> > transform="matrix(1 0 0 1 3196.24 2006)">driver</text>
> > + <path d="M2958.86 759.917 2958.86 932.542 2953.14 932.542
> > 2953.14 759.917ZM2942.25 764.5 2956 737 2969.75 764.5ZM2969.75
> > 927.959 2956 955.459 2942.25 927.959Z" fill="#8C8C8C"/>
> > + <path d="M2953.86 1520.92 2953.86 1693.5 2948.14 1693.5 2948.14
> > 1520.92ZM2937.25 1525.5 2951 1498 2964.75 1525.5ZM2964.75 1688.92
> > 2951 1716.42 2937.25 1688.92Z" fill="#8C8C8C"/>
> > + <text fill="#FF0000" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="55" transform="matrix(1 0 0
> > 1 3007.22 833)">EDKII Redfish Platform Configure Protocol</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 3007.22 1592)">EFI Config Access Protocol</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > style="italic" font-weight="400" font-size="55" transform="matrix(1 0 0 1
> > 3007.22 1658)">HII Database Protocol</text>
> > + <rect x="2425.5" y="2155.5" width="1203" height="145"
> > stroke="#008564" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="400" font-size="73" transform="matrix(1 0 0 1 2970.9
> > 2248)">HW</text>
> > + <g clip-path="url(#clip2)" filter="url(#fx0)" transform="translate(1645
> > 1071)">
> > + <g clip-path="url(#clip3)">
> > + <path d="M0.406692-4.48158 800.047 68.0836 799.233 77.0468-
> > 0.406692 4.48158ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"
> > fill="#0071C5" transform="matrix(1 0 0 -1 16.4999 118.354)"/>
> > + </g>
> > + </g>
> > + <path d="M0.414223-4.56458 800.054 68.0006 799.226 77.1298-
> > 0.414223 4.56458ZM796.32 58.4574 822.465 74.6365 793.835 85.8449Z"
> > fill="#0071C5" transform="matrix(1 0 0 -1 1661.5 1182.14)"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55
> > 1054)">Move necessary functions </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 1783.55 1120)">to
> > library </text>
> > + <rect x="1721.5" y="1792.5" width="303" height="193"
> > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1821
> > 1874)">UEFI </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 1780.6
> > 1933)">variable</text>
> > + <rect x="3489.5" y="1768.5" width="303" height="194"
> > stroke="#890C58" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10"/>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3589.11
> > 1851)">UEFI </text>
> > + <text fill="#FFFFFF" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-weight="700" font-size="55" transform="matrix(1 0 0 1 3548.71
> > 1910)">variable</text>
> > + <path d="M2145.64 1853.11 2293.36 1853.11 2293.36 1890.46
> > 2145.64 1890.46ZM2145.64 1918.54 2293.36 1918.54 2293.36 1955.89
> > 2145.64 1955.89Z" fill="#C0E4FF" fill-rule="evenodd"/>
> > + </g>
> > +</svg>
> > 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 @@
> > +<svg width="4191" height="2178" style="background-color:white"
> >
> 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">
> > + <defs>
> > + <clipPath id="clip0">
> > + <rect x="66" y="210" width="4191" height="2178"/>
> > + </clipPath>
> > + </defs>
> > + <g clip-path="url(#clip0)" transform="translate(-66 -210)">
> > + <path d="M487.5 379.5C487.5 364.588 498.469 352.5 512 352.5
> > 525.531 352.5 536.5 364.588 536.5 379.5 536.5 394.412 525.531 406.5
> > 512 406.5 498.469 406.5 487.5 394.412 487.5 379.5Z" stroke="#006047"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#008564" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 104.76
> > 290)">REDFISH_FEATURE_CALLBACK()</text>
> > + <rect x="609.5" y="522.5" width="709" height="133" stroke="#000000"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 839.622
> > 610)">Identify()</text>
> > + <rect x="1178.5" y="767.5" width="709" height="133" stroke="#000000"
> > stroke-width="4.58333" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1433.4
> > 855)">Check()</text>
> > + <rect x="1759.5" y="1046.5" width="709" height="134"
> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1928.64
> > 1134)">Provisioning()</text>
> > + <rect x="1597.5" y="1422.5" width="709" height="133"
> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1808.4
> > 1510)">Consume()</text>
> > + <rect x="2140.5" y="1730.5" width="709" height="133"
> > stroke="#000000" stroke-width="4.58333" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="none"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2376.59
> > 1818)">Update()</text>
> > + <path d="M0-2.29167 182.65-2.29167C183.915-2.29167 184.941-
> > 1.26565 184.941 0L184.941 74.3695 180.358 74.3695 180.358 0 182.65
> > 2.29167 0 2.29167ZM196.4 69.7861 182.65 97.2861 168.9 69.7861Z"
> > fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16 511.5
> > 406.5)"/>
> > + <path d="M988.5 831.208 1083.64 831.208C1084.91 831.208 1085.93
> > 832.234 1085.93 833.5L1085.93 833.591 1083.64 831.299 1155.86
> > 831.299 1155.86 835.882 1083.64 835.882C1082.37 835.882 1081.35
> > 834.856 1081.35 833.591L1081.35 833.5 1083.64 835.792 988.5
> > 835.792ZM1151.28 819.841 1178.78 833.591 1151.28 847.341Z"
> > fill="#008563"/>
> > + <path d="M0-2.29167 101.164-2.29167C102.43-2.29167 103.456-
> > 1.26565 103.456 0L103.456 0.633366 101.164-1.6583 179.411-1.6583
> > 179.411 2.92503 101.164 2.92503C99.8983 2.92503 98.8722 1.89902
> > 98.8722 0.633366L98.8722 0 101.164 2.29167 0 2.29167ZM174.827-
> > 13.1166 202.327 0.633366 174.827 14.3834Z" fill="#008563"
> > transform="matrix(1 0 0 -1 1557.5 1114.13)"/>
> > + <path d="M0-2.29167 348.186-2.29167C349.452-2.29167 350.478-
> > 1.26565 350.478 0L350.478 42.4958 345.894 42.4958 345.894 0 348.186
> > 2.29167 0 2.29167ZM361.936 37.9125 348.186 65.4125 334.436
> > 37.9125Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 1532.5 1141.5)"/>
> > + <path d="M0-2.29167 241.064-2.29167C242.329-2.29167 243.356-
> > 1.26565 243.356 0L243.356 165.488 238.772 165.488 238.772 0 241.064
> > 2.29167 0 2.29167ZM254.814 160.904 241.064 188.404 227.314
> > 160.904Z" fill="#008563" transform="matrix(1.83697e-16 1 1 -1.83697e-16
> > 1952.5 1555.5)"/>
> > + <path d="M511.5 2311.5C511.5 2296.59 522.469 2284.5 536 2284.5
> > 549.531 2284.5 560.5 2296.59 560.5 2311.5 560.5 2326.41 549.531
> > 2338.5 536 2338.5 522.469 2338.5 511.5 2326.41 511.5 2311.5Z"
> > stroke="#006047" stroke-width="9.16667" stroke-linejoin="round" stroke-
> > miterlimit="10" fill="#008564" fill-rule="evenodd"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="64" transform="matrix(1 0 0 1 316.965
> > 2332)">Done </text>
> > + <path d="M965.584 860.5 965.584 1572.52C965.584 1573.79 964.558
> > 1574.82 963.292 1574.82L535.5 1574.82 537.792 1572.52 537.792
> > 2261.63 533.209 2261.63 533.209 1572.52C533.209 1571.26 534.235
> > 1570.23 535.5 1570.23L963.292 1570.23 961.001 1572.52 961.001
> > 860.5ZM549.25 2257.05 535.5 2284.55 521.75 2257.05Z" fill="#008563"/>
> > + <path d="M2497.82 1863.5 2497.82 2311.4C2497.82 2312.67 2496.79
> > 2313.7 2495.53 2313.7L583.418 2313.7 583.418 2309.11 2495.53
> > 2309.11 2493.23 2311.4 2493.23 1863.5ZM588 2325.15 560.5 2311.4 588
> > 2297.65Z" fill="#008563"/>
> > + <path d="M2728 1074.17C2728 1059.72 2739.72 1048 2754.17
> > 1048L3410.83 1048C3425.28 1048 3437 1059.72 3437 1074.17L3437
> > 1178.83C3437 1193.28 3425.28 1205 3410.83 1205L2754.17
> > 1205C2739.72 1205 2728 1193.28 2728 1178.83Z" fill="#0071C5" fill-
> > rule="evenodd" fill-opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2869.23
> > 1148)">HTTP </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 3021.62
> > 1148)">POST/PUT</text>
> > + <path d="M3112 2034.33C3112 2015.37 3127.37 2000 3146.33
> > 2000L3786.67 2000C3805.63 2000 3821 2015.37 3821 2034.33L3821
> > 2171.67C3821 2190.63 3805.63 2206 3786.67 2206L3146.33
> > 2206C3127.37 2206 3112 2190.63 3112 2171.67Z" fill="#0071C5" fill-
> > rule="evenodd" fill-opacity="0.501961"/>
> > + <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> > weight="400" font-size="64" transform="matrix(1 0 0 1 3191.74
> > 2127)">HTTP </text>
> > + <text fill="#FF0000" font-family="Arial,Arial_MSFontService,sans-serif"
> > font-weight="400" font-size="64" transform="matrix(1 0 0 1 3376.79
> > 2127)">PATCH/PUT</text>
> > + <rect x="1572" y="418" width="896" height="130" fill="#008564"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 1655.98
> > 505)">RedfishResourceIdentifyLib</text>
> > + <path d="M0.0452146-1.71815 11.9202-1.40565 23.8145-0.526554
> > 35.5234 0.919242 46.906 2.80438 57.9272 5.19539 68.5072 8.02728
> > 78.5249 11.2384 87.9266 14.8322 96.5836 18.7466 104.375 22.923
> > 111.238 27.3016 117.131 31.9661 121.965 36.7847C122.036 36.8551
> > 122.1 36.9316 122.157 37.0131L125.532 41.8256C125.598 41.9198
> > 125.655 42.0203 125.701 42.1257L127.826 47.0007C127.885 47.1376
> > 127.927 47.2817 127.949 47.4294L128.699 52.3669 129.449 57.3044
> > 129.326 56.8757 131.451 61.7507 131.282 61.4506 134.657 66.2631
> > 134.465 66.0347 139.153 70.7222 144.756 75.1536 151.363 79.3641
> > 158.938 83.423 167.396 87.2466 176.555 90.7711 186.4 93.9259 196.82
> > 96.7148 207.677 99.0704 218.967 100.929 231.233 102.16 230.889
> > 105.58 218.408 104.321 206.948 102.43 195.93 100.035 185.35 97.1991
> > 175.32 93.9789 165.979 90.3784 157.312 86.452 149.512 82.2609
> > 142.619 77.8464 136.722 73.1528 132.035 68.4653C131.964 68.3949
> > 131.9 68.3184 131.843
> > + 68.2369L128.468 63.4244C128.402 63.3302 128.345 63.2297 128.299
> > 63.1243L126.174 58.2493C126.115 58.1124 126.073 57.9683 126.051
> > 57.8206L125.301 52.8831 124.551 47.9456 124.674 48.3743 122.549
> > 43.4993 122.718 43.7994 119.343 38.9869 119.535 39.2153 114.994
> > 34.6589 109.387 30.1984 102.75 25.952 95.1664 21.8784 86.6984
> > 18.0428 77.475 14.5116 67.6178 11.3477 57.1978 8.55461 46.344
> > 6.19562 35.1016 4.33076 23.5605 2.90155 11.8298 2.03065-0.0452146
> > 1.71815ZM227.312 89.8694 253.937 105.246 225.66 117.32Z"
> > fill="#008563" transform="matrix(1 0 0 -1 1318.5 588.746)"/>
> > + <rect x="2687" y="738" width="425" height="102" fill="#5D1682" fill-
> > opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 2797.23
> > 806)">GetData</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 2970.82
> > 806)">()</text>
> > + <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 2696.04
> > 693)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
> > + <path d="M0.0837419-1.71671 5.20874-1.46671 10.4785-0.765991
> > 15.7435 0.383721 21.0012 1.98096 26.1383 4.02918 31.2374 6.44749
> > 36.2738 9.24844 41.2531 12.499 50.8027 19.8914 59.9974 28.63 68.7284
> > 38.5528 76.822 49.544 84.2726 61.5307 91.0188 74.258 96.9486 87.7463
> > 101.933 101.866 105.969 116.416 108.997 131.282 110.831 146.482
> > 111.467 161.742 112.092 176.867 113.894 191.795 116.872 206.407
> > 120.844 220.729 125.746 234.616 131.574 247.871 138.147 260.389
> > 145.458 272.09 153.443 282.851 161.92 292.557 170.872 301.067
> > 180.183 308.333 184.928 311.366 189.774 314.061 189.495 313.937
> > 197.654 316.733 196.54 319.985 188.38 317.188C188.284 317.155
> > 188.19 317.114 188.101 317.064L183.072 314.259 178.067 311.042
> > 168.503 303.557 159.33 294.818 150.682 284.899 142.542 273.91
> > 135.103 261.986 128.426 249.254 122.504 235.759 117.531 221.646
> > 113.503 207.093 110.481 192.205 108.658 177.008 108.033 161.883
> > 107.419 146.893
> > + 105.628 131.968 102.656 117.334 98.6916 103.009 93.8014 89.1287
> > 87.9812 75.867 81.3524 63.3443 74.053 51.581 66.1466 40.8222 57.6276
> > 31.12 48.6973 22.6086 39.3719 15.376 34.6012 12.2516 29.7626 9.55251
> > 24.8617 7.22082 19.9988 5.26904 15.0065 3.74128 10.0215 2.64099
> > 5.04126 1.96671-0.0837419 1.71671ZM195.756 303.927 219.415
> > 323.564 189.51 330.709Z" fill="#890857" transform="matrix(1 0 0 -1 2468.5
> > 1113.06)"/>
> > + <rect x="2690" y="863" width="422" height="102" fill="#5D1682" fill-
> > opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 2757.16
> > 931)">GeOemData</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 3013.82
> > 931)">()</text>
> > + <path d="M0.092493-1.71626 10.53-1.15376 21.0276 0.553809
> > 31.3759 3.27561 41.4048 6.94903 51.1654 11.5055 60.4854 16.8871
> > 69.2961 23.028 77.5298 29.798 85.1321 37.1392 91.9881 45.0638 98.02
> > 53.4335 103.109 62.1333 107.25 71.1596 110.32 80.4632 112.247
> > 89.9086 112.902 99.4474 113.527 108.76 115.372 117.784 118.32
> > 126.713 122.313 135.41 127.292 143.813 133.088 151.941 139.734
> > 159.559 147.137 166.769 155.155 173.36 163.727 179.273 172.798
> > 184.512 182.29 188.943 192.089 192.51 191.834 192.439 199.996
> > 194.058 199.327 197.43 191.165 195.811C191.079 195.794 190.994
> > 195.77 190.911 195.74L180.835 192.057 171.077 187.488 161.773
> > 182.102 152.97 176.015 144.738 169.231 137.141 161.816 130.287
> > 153.934 124.333 145.562 119.187 136.84 115.055 127.787 112.003
> > 118.466 110.098 108.99 109.473 99.6776 108.878 90.5914 107.055
> > 81.5368 104.125 72.5904 100.141 63.8667 95.23 55.4415 89.3869
> > 47.3112 82.7429 39.6108 75.3452 32.452
> > + 67.3289 25.847 58.7646 19.8629 49.7096 14.6195 40.2202 10.176
> > 30.4991 6.59939 20.4724 3.94619 10.345 2.27876-0.092493
> > 1.71626ZM197.096 181.479 222.341 199.029 193.154 208.695Z"
> > fill="#890857" transform="matrix(1 0 0 -1 2468.5 1113.53)"/>
> > + <path d="M0.0142748-1.71869 37.6393-1.40619 56.1033-0.968266
> > 74.1162-0.405411 91.5677 0.282584 108.209 1.0958 124.032 1.97138
> > 138.811 3.03569 152.384 4.099 164.666 5.28927 170.254 5.917 175.456
> > 6.54359 180.246 7.23647 184.618 7.86102 188.55 8.55768 192.081
> > 9.25098 195.079 9.95147 197.643 10.6553 199.7 11.3802 201.269
> > 12.1502C201.394 12.2131 201.512 12.2911 201.619 12.3825L202.494
> > 13.1325C202.684 13.2956 202.836 13.4982 202.94 13.7263L203.252
> > 14.4138 203.565 15.1013 203.119 14.5075 203.994 15.2575 203.644
> > 15.0252 205.019 15.7127 206.762 16.3177 209.143 16.9678 212.017
> > 17.639 215.456 18.3135 219.3 18.9952 223.618 19.611 228.371 20.299
> > 233.518 20.9186 239.067 21.542 251.291 22.7268 264.822 23.7865
> > 279.561 24.8482 295.283 25.7214 311.959 26.5333 329.318 27.2201
> > 347.304 27.7821 365.722 28.1566 380.37 28.2979 380.337 31.7352
> > 365.653 31.5934 347.196 31.2179 329.182 30.6549 311.791 29.9667
> > 295.092 29.1536 279.314
> > + 28.2768 264.553 27.2135 250.959 26.1482 238.683 24.958 233.107
> > 24.3314 227.879 23.701 223.132 23.014 218.7 22.3798 214.794 21.6865
> > 211.233 20.986 208.232 20.2822 205.613 19.5573 203.481 18.7873
> > 202.106 18.0998C201.981 18.0369 201.863 17.9589 201.756
> > 17.8675L200.881 17.1175C200.691 16.9544 200.539 16.7518 200.435
> > 16.5237L200.123 15.8362 199.81 15.1487 200.256 15.7425 199.381
> > 14.9925 199.731 15.2248 198.55 14.6198 196.732 13.9697 194.296
> > 13.2985 191.419 12.624 187.95 11.9423 184.132 11.264 179.754 10.6385
> > 175.044 9.95641 169.871 9.333 164.334 8.71073 152.116 7.526 138.564
> > 6.46431 123.843 5.40363 108.041 4.5292 91.4323 3.71742 74.0088
> > 3.03041 56.0217 2.46827 37.6107 2.03119-0.0142748
> > 1.71869ZM375.903 16.223 403.269 30.2377 375.637 43.7217Z"
> > fill="#890857" transform="matrix(1 0 0 -1 2849.5 1796.74)"/>
> > + <path d="M2849.52 1794.78 2868.52 1795.03 2887.45 1795.85
> > 2906.05 1797.1 2924.23 1798.85 2941.83 1800.98 2958.63 1803.49
> > 2974.62 1806.37 2989.49 1809.57 3003.23 1813.02 3015.62 1816.73
> > 3021.31 1818.69 3026.61 1820.71 3031.47 1822.73 3035.92 1824.82
> > 3039.92 1826.91 3043.47 1829.1 3046.57 1831.36 3049.18 1833.57
> > 3051.29 1835.92C3051.34 1835.98 3051.39 1836.05 3051.44
> > 1836.12L3052.87 1838.31C3052.94 1838.41 3053 1838.51 3053.04
> > 1838.63L3053.91 1840.88C3053.96 1841 3054 1841.13 3054.01
> > 1841.26L3054.33 1843.44 3054.64 1845.63 3054.54 1845.25 3055.41
> > 1847.5 3055.25 1847.18 3056.69 1849.37 3056.54 1849.17 3058.47
> > 1851.36 3060.8 1853.32 3063.7 1855.42 3067.01 1857.4 3070.88 1859.49
> > 3075.17 1861.51 3079.91 1863.48 3085.09 1865.39 3090.68 1867.31
> > 3102.93 1870.98 3116.54 1874.4 3131.3 1877.57 3147.12 1880.43
> > 3163.88 1882.92 3181.33 1885.04 3199.42 1886.79 3217.99 1888.04
> > 3232.84 1888.55 3232.72 1891.99 3217.76 1891.46
> > + 3199.08 1890.21 3180.92 1888.46 3163.37 1886.32 3146.51 1883.82
> > 3130.58 1880.93 3115.71 1877.73 3101.94 1874.27 3089.56 1870.56
> > 3083.9 1868.61 3078.59 1866.65 3073.7 1864.62 3069.25 1862.51
> > 3065.24 1860.35 3061.67 1858.2 3058.57 1855.93 3055.9 1853.64
> > 3053.96 1851.45C3053.91 1851.39 3053.86 1851.32 3053.81
> > 1851.26L3052.38 1849.07C3052.31 1848.97 3052.25 1848.86 3052.21
> > 1848.75L3051.34 1846.5C3051.29 1846.38 3051.25 1846.25 3051.24
> > 1846.12L3050.92 1843.93 3050.61 1841.74 3050.71 1842.12 3049.84
> > 1839.87 3050 1840.19 3048.56 1838.01 3048.71 1838.2 3046.95 1836.18
> > 3044.55 1834.14 3041.66 1832.02 3038.33 1829.96 3034.45 1827.93
> > 3030.15 1825.9 3025.39 1823.92 3020.19 1821.94 3014.63 1820.02
> > 3002.39 1816.35 2988.76 1812.93 2974.01 1809.75 2958.12 1806.89
> > 2941.42 1804.39 2923.9 1802.27 2905.82 1800.53 2887.3 1799.28
> > 2868.48 1798.47 2849.48 1798.22ZM3228.52 1876.42 3255.7 1890.8
> > 3227.88 1903.91Z" fill="#890857"/>
> > + <path d="M2578 1103.75 2638.5 1103.75 2638.5 1080 2686 1127.5
> > 2638.5 1175 2638.5 1151.25 2578 1151.25Z" fill="#0071C5" fill-
> > rule="evenodd" fill-opacity="0.501961"/>
> > + <path d="M2956.92 1877.31 3000.36 1919.95 3016.93 1903.07
> > 3017.55 1969.96 2950.65 1970.59 2967.22 1953.71 2923.79 1911.07Z"
> > fill="#0071C5" fill-rule="evenodd" fill-opacity="0.501961"/>
> > + <path d="M939.5 833.5C939.5 818.588 950.469 806.5 964 806.5
> > 977.531 806.5 988.5 818.588 988.5 833.5 988.5 848.412 977.531 860.5
> > 964 860.5 950.469 860.5 939.5 848.412 939.5 833.5Z" stroke="#006047"
> > stroke-width="9.16667" stroke-linejoin="round" stroke-miterlimit="10"
> > fill="#008564" fill-rule="evenodd"/>
> > + <path d="M965.792 655.5 965.792 730.981C965.792 732.247 964.766
> > 733.273 963.501 733.273L963.5 733.273 965.792 730.981 965.792
> > 783.546 961.208 783.546 961.208 730.981C961.208 729.716 962.235
> > 728.69 963.5 728.69L963.501 728.69 961.209 730.981 961.209
> > 655.5ZM977.25 778.963 963.5 806.463 949.75 778.963Z" fill="#008563"/>
> > + <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 815.508
> > 946)">false</text>
> > + <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 1029.08
> > 808)">true</text>
> > + <path d="M1507.5 1114.5C1507.5 1099.59 1518.69 1087.5 1532.5
> > 1087.5 1546.31 1087.5 1557.5 1099.59 1557.5 1114.5 1557.5 1129.41
> > 1546.31 1141.5 1532.5 1141.5 1518.69 1141.5 1507.5 1129.41 1507.5
> > 1114.5Z" stroke="#006047" stroke-width="9.16667" stroke-linejoin="round"
> > stroke-miterlimit="10" fill="#008564" fill-rule="evenodd"/>
> > + <path d="M1535.38 900.5 1535.38 993.849C1535.38 995.114 1534.35
> > 996.14 1533.09 996.14L1532.5 996.14 1534.79 993.849 1534.79 1064.28
> > 1530.21 1064.28 1530.21 993.849C1530.21 992.583 1531.23 991.557
> > 1532.5 991.557L1533.09 991.557 1530.8 993.849 1530.8
> > 900.5ZM1546.25 1059.7 1532.5 1087.2 1518.75 1059.7Z" fill="#008563"/>
> > + <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 1405.87
> > 1282)">true</text>
> > + <text font-family="Arial,Arial_MSFontService,sans-serif" font-
> > weight="400" font-size="55" transform="matrix(1 0 0 1 1590.37
> > 1071)">false</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="400" font-size="64" transform="matrix(1 0 0 1 328.764
> > 396)">Start</text>
> > + <path d="M0 0 177.266 0 177.266 2109.2 354.533 2109.2"
> > 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)"/>
> > + <path d="M4225.53 1612.5 4225.53 2311.62C4225.53 2312.89 4224.5
> > 2313.91 4223.23 2313.91L583.414 2313.91 583.414 2309.33 4223.23
> > 2309.33 4220.94 2311.62 4220.94 1612.5ZM588 2325.37 560.5 2311.62
> > 588 2297.87Z" fill="#008563"/>
> > + <path d="M4223.5 1536.5 4223.5 1612.57" stroke="#008563" stroke-
> > width="4.58333" stroke-linejoin="round" stroke-miterlimit="10" fill="none"
> > fill-rule="evenodd"/>
> > + <path d="M2464 1438.17C2464 1423.72 2475.72 1412 2490.17
> > 1412L3146.83 1412C3161.28 1412 3173 1423.72 3173 1438.17L3173
> > 1542.83C3173 1557.28 3161.28 1569 3146.83 1569L2490.17
> > 1569C2475.72 1569 2464 1557.28 2464 1542.83Z" fill="#0071C5" fill-
> > rule="evenodd" fill-opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2601 1512)">HTTP
> > </text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="64" transform="matrix(1 0 0 1 2753.4
> > 1512)">HEAD/GET</text>
> > + <path d="M2337 1468.5 2398 1468.5 2398 1445 2445 1492 2398 1539
> > 2398 1515.5 2337 1515.5Z" fill="#0071C5" fill-rule="evenodd" fill-
> > opacity="0.501961"/>
> > + <rect x="3253" y="1715" width="424" height="102" fill="#5D1682" fill-
> > opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 3362.57
> > 1783)">GetData</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 3536.17
> > 1783)">()</text>
> > + <text fill="#890C58" font-family="Calibri,Calibri_MSFontService,sans-serif"
> > font-style="italic" font-weight="700" font-size="46" transform="matrix(1 0 0
> > 1 3195.85
> > 1686)">EDKII_REDFISH_RESOURCE_ADDENDUM_PROTOCOL</text>
> > + <rect x="3256" y="1840" width="421" height="102" fill="#5D1682" fill-
> > opacity="0.501961"/>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 3322.5
> > 1908)">GeOemData</text>
> > + <text font-family="Calibri,Calibri_MSFontService,sans-serif" font-
> > weight="700" font-size="50" transform="matrix(1 0 0 1 3579.17
> > 1908)">()</text>
> > + </g>
> > +</svg>
> > 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.
> >
> > ## <a name="[0]">EDK2 Redfish Client Implementation Diagrams</a>
> > -![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 <abner.chang@hpe.com>\
> > -Wang, Nickle <nickle.wang@hpe.com>\
> > +Chang, Abner <abner.chang@amd.com>\
> > +Wang, Nickle <nicklew@nvidia.com>\
> > Chen, Aaron <aaron.chen@hpe.com>
> > --
> > 2.17.1