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

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <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

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <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

> D&reserved=0"

> >

> xmlns:xlink="https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F

> %2Fwww.w3.org%2F1999%2Fxlink&data=05%7C01%7Cnicklew%40nvidia.com%

> 7C59b714aa9bad4535161e08dbb4ddd035%7C43083d15727340c1b7db39efd9cc

> c17a%7C0%7C0%7C638302637013435559%7CUnknown%7CTWFpbGZsb3d8eyJ

> WIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3

> 000%7C%7C%7C&sdata=cUubVE0DNF68fdJ7QxUO7jlBa9I79H1AfE2kj1sQ02c%3

> D&reserved=0" xml:space="preserve"

> > overflow="hidden">

> > +  <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

 

_._,_._,_

Groups.io Links:

You receive all messages sent to this group.

View/Reply Online (#109281) | | Mute This Topic | New Topic
Your Subscription | Contact Group Owner | Unsubscribe [rebecca@openfw.io]

_._,_._,_