<div dir="ltr">Hi Deepak,<div><br></div><div>Thank you very much for this feedback.  You've been very helpful while I've been working to brainstorm on this subject.</div><div><br></div><div>There were a couple of thoughts that led me down this path.</div><div><br></div><div>One of the difficulties I see in creating an aggregator comes in how you slice up a system and make it discoverable.  This might be a google specific idiosyncrasy, but imagine a case where a Redfish service is managing a chassis, expect for two sensors which are on a different service.  How would an aggregator know that these two chassis should be merged together.  When I read about Platform Descriptor Records (PDR) in PLDM it seemed to me that it was trying to solve a similar problem.</div><div><br></div><div>In my reading of the RDE spec, there are two main issues that it is was addressing:</div><div>  (1) How to fit the Redfish data model into a binary protocol.  </div><div>  (2) How does a device implement only a portion of a Redfish service.</div><div>Most of the spec is dealing with issue (1), but issue (2) is the same issue that the aggregator is trying to solve.</div><div><br></div><div>Another thing that I'm expecting is that at some point we will have some legacy hardware that will have trouble running an HTTP stack. </div><div><br></div><div>This all kind of leads me to a larger point.  Which is that if this Redfish aggregator is designed in a certain way, it may make RDE integration easier in the future.  I just wanted to get an idea of whether that design goal is worth considering.</div><div><br></div><div>Thanks,</div><div>Richard</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 20, 2019 at 7:29 AM Deepak Kodihalli <<a href="mailto:dkodihal@linux.vnet.ibm.com" target="_blank">dkodihal@linux.vnet.ibm.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On 19/11/19 4:51 AM, Richard Hanley wrote:<br>
> *Thoughts and Questions*<br>
> Is RDE on the open-bmc roadmap at the moment?  Are there any other <br>
> companies looking into adding support for RDE?  Does anyone have any <br>
> strong feelings on this issue?<br>
> <br>
> I think that in the long term a solid implementation of RDE offers a lot <br>
> more flexibility than a http aggregator.  However, I'd also expect it's <br>
> significantly more effort to get up and running.  Hence why I am asking <br>
> how the community feels about this subject.<br>
><br>
><br>
> I'm also interested in hearing what people's experience working with <br>
> MCTP or PLDM have been.  Has anyone here used them in production? Are <br>
> there any particular highlights or lowlights with the protocols?<br>
<br>
IBM will use PLDM over MCTP (over an LPC binding) for Host - BMC <br>
communications (system management being shared between the Host and the <br>
BMC) on upcoming systems. The main motivation to switch to PLDM was <br>
because it fit the bill of an industry standard communications protocol <br>
with improvements compared to in-band IPMI. RDE was also motivation for <br>
us to work on implementing a PLDM stack, although RDE isn't on the <br>
immediate roadmap. If you're interested in looking at the existing <br>
PLDM/MCTP code/design docs on OpenBMC, I have some links below.<br>
<br>
We're able to map our requirements for the in-band Host BMC <br>
communications path to standard PLDM mostly. We did define a set of OEM <br>
commands to model a file as a PLDM object (and have that transferred). <br>
We still need to run this by PMCI to see if it's of interest to anyone <br>
for standardization purposes.<br>
<br>
I'm curious why we'd use RDE for a case where the multiple management <br>
controllers all do have a network stack and can parse JSON. Wouldn't <br>
they just implement Redfish (instead of RDE) and hence this makes a case <br>
for the Redfish Aggregator? Based on my reading of the RDE spec, it <br>
seemed to target IO adapters, for eg storage controllers, that would <br>
want to participate in Redfish based management, but the firmware <br>
running on those wouldn't implement an HTTP stack.<br>
<br>
<a href="https://github.com/openbmc/pldm" rel="noreferrer" target="_blank">https://github.com/openbmc/pldm</a><br>
<a href="https://github.com/openbmc/libmctp" rel="noreferrer" target="_blank">https://github.com/openbmc/libmctp</a><br>
<a href="https://github.com/openbmc/docs/blob/master/designs/pldm-stack.md" rel="noreferrer" target="_blank">https://github.com/openbmc/docs/blob/master/designs/pldm-stack.md</a><br>
<a href="https://github.com/openbmc/docs/blob/master/designs/mctp.md" rel="noreferrer" target="_blank">https://github.com/openbmc/docs/blob/master/designs/mctp.md</a><br>
<br>
Thanks,<br>
Deepak<br>
<br>
</blockquote></div>