<div class="socmaildefaultfont" dir="ltr" style="font-family:Times New Roman, Times, serif;font-size:10pt" ><div dir="ltr" ><div dir="ltr" style="outline: none; color: rgb(18, 18, 18); font-family: "Times New Roman", Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" ><p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >Hi All, </p>
<div style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </div>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >Recently a design document [</span><a href="https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27804" rel="noopener" style="outline: none; position: relative; color: rgb(74, 110, 224); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" target="_blank" ><span data-preserver-spaces="true" style="outline: none; background: transparent; margin-top: 0pt; margin-bottom: 0pt; color: rgb(74, 110, 224);" >https://gerrit.openbmc-project.xyz/c/openbmc/docs/+/27804</span></a><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >] merged to enable the hardware isolation (guard) and it requires a new daemon inside BMC to implement below dbus interfaces. </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >DBus Interfaces:</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- <a href="https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/43532" rel="noopener" style="outline: none; position: relative; color: rgb(74, 110, 224); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" target="_blank" ><span data-preserver-spaces="true" style="outline: none; background: transparent; margin-top: 0pt; margin-bottom: 0pt; color: rgb(74, 110, 224);" >https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/43532</span></a></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- <a href="https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/43533" rel="noopener" style="outline: none; position: relative; color: rgb(74, 110, 224); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" target="_blank" ><span data-preserver-spaces="true" style="outline: none; background: transparent; margin-top: 0pt; margin-bottom: 0pt; color: rgb(74, 110, 224);" >https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/43533</span></a></p>
<div style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- <a href="https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/44229" rel="noopener" style="outline: none; position: relative; color: rgb(65, 120, 190);" target="_blank" >https://gerrit.openbmc-project.xyz/c/openbmc/phosphor-dbus-interfaces/+/44229</a></div>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >The above dbus interface implementation will be host architecture-specific because of the below reasons. </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- The daemon will create a record (a format used in the OpenPOWER project for isolating hardware) into a partition (which is accessible between BMC and host applications in OpenPOWER based systems) and the daemon will create a dbus entry for the same record.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- Similarly, the OpenPOWER based host applications will create a record into a partition and the daemon will create a dbus entry for the same record.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >The end goal is, exchanging the isolated hardware details from internal interfaces (dbus entry) to external interfaces (redfish log entry).</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >I had two thoughts about the dbus implementation.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >Option1:</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >"New generic daemon" with an extension like how phosphor-logging or phosphor-debug-collector or pldm providing a way to add OEM code.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > - Default case nothing will be there, because we (IBM) are not providing any support through standard host interfaces to isolate hardware. </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > - The extension will have OEM-specific implementation.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >Option2:</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >"New OEM daemon" so, implementation will be OEM specific and platform can get from them respective bitbake meta-layer.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >For Option1, I am wondering about the following scenario.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- If the BMC application (bmcweb) using a generic internal interface (dbus) but, the implementation is OEM specific then, the different system platforms will get a response like "Interface/ObjectPath Not Found" so, the respective redfish URI (which will be used to do create|list) will fail, right?</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- I also heard like the openBMC community nowadays not encouraging the extension approach into a generic repository for some reason unless there is a valid reason.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >For Option2, </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >- I think bmcweb providing a configuration option (ibm-management-console) to use IBM implementation so the new OEM daemon interfaces can be used as OEM code inside the bmcweb so, that we can avoid the above problem from an external interface user perspective for different system platforms.</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >The question is, Where I can implement the new daemon? New repository or any other existing repository?</span></p>
<div style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </div>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >If New repository means phosphor-hw-isolation (with extension) or openpower-hw-isolation?</span></p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" > </p>
<p style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" ><span data-preserver-spaces="true" style="outline: none; color: rgb(14, 16, 26); background: transparent; margin-top: 0pt; margin-bottom: 0pt;" >Any different thoughts or suggestions on the above proposal?</span></p></div>
<div dir="ltr" style="outline: none; color: rgb(18, 18, 18); font-family: "Times New Roman", Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" > </div>
<div dir="ltr" style="outline: none; color: rgb(18, 18, 18); font-family: "Times New Roman", Times, serif; font-size: 13.3333px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-thickness: initial; text-decoration-style: initial; text-decoration-color: initial;" ><div dir="ltr" style="outline: none; font-family: Arial, Helvetica, sans-serif; font-size: 10pt;" ><div dir="ltr" style="outline: none;" ><div style="outline: none; font-size: 12pt; font-weight: bold; font-family: sans-serif; color: rgb(124, 124, 95);" ><span style="outline: none; font-size: 10pt;" >Regards, </span></div>
<div style="outline: none; font-size: 12pt; font-weight: bold; font-family: sans-serif; color: rgb(124, 124, 95);" ><span style="outline: none; font-size: 10pt;" >Ramesh I</span></div>
<div style="outline: none; font-size: 10pt; font-weight: bold; font-family: sans-serif;" ><span style="outline: none; font-size: 10pt;" >OpenBMC Developer</span></div>
<div style="outline: none; font-size: 8pt; font-family: sans-serif; margin-top: 10px;" ><div style="outline: none;" ><span style="outline: none; font-weight: bold; color: rgb(51, 102, 153);" >Slack:</span><span> </span>@rameshi1</div>
<div style="outline: none;" ><span style="outline: none; font-weight: bold; color: rgb(51, 102, 153);" >Discord:</span><span> </span> @Ramesh I</div>
<div style="outline: none;" ><span style="outline: none; font-weight: bold; color: rgb(51, 102, 153);" >E-mail:<span> </span></span><a href="mailto:rameshi1@in.ibm.com" rel="noopener" style="outline: none; position: relative; color: rgb(85, 85, 85);" target="_blank" >rameshi1@in.ibm.com</a></div></div></div></div></div></div>
<div dir="ltr" > </div></div><BR>