Why does OpenBMC use Avahi mDNS instead of SSDP?

Joseph Reynolds jrey at linux.ibm.com
Thu Apr 9 06:27:07 AEST 2020


On 4/7/20 10:46 AM, Patrick Williams wrote:
> On Tue, Apr 07, 2020 at 09:58:15AM -0500, Joseph Reynolds wrote:
>> Redfish specifies SSDP [1] [2] as the standard discovery service but
>> OpenBMC uses the Avahi mDNS discovery service [3].  I asked Redfish to
>> add mDNS to the spec [4] but they don't want to, and pointed to their spec.
> Avahi is a particular implementation of mDNS.  We implement mDNS using
> Avahi.  MacOS also uses mDNS with an entirely different implementation.
>
> mDNS is used more in the UNIX world, SSDP is used more in Windows.
>
> I don't see any reason why we couldn't support both.  We initially
> supported mDNS because OpenBMC is Linux and OpenPOWER machines were
> likely running Linux, which more likely had the mDNS software installed.

Thanks for explaining that.

>> I want to allow the BMC admin to enable and disable the mDNS discovery
>> service.  How can this be done?  Options:
>> 1. Implement ManagerNetworkProtocol.Oem.OpenBMC.mDNS.
>> 2. Move OpenBMC to SSDP and away from mDNS.
>> 3. Re-ask Redfish to add a ManagerNetworkProtocol.mDNS protocol.
> I don't see a strong reason to "move away" from mDNS, but I certainly
> think that *any* network service should be able to be disabled by an
> administrator to reduce the security footprint if the service is unused.
>
> So, either #1 or #3 seems best to me.  Adding optional SSDP support would
> be reasonable, but likely only to be added by someone who cares about
> discovery in a Windows environment.

I've appended the thread to re-ask Redfish if they would support 
ManagerNetworkProtocol.mDNS.
https://redfishforum.com/thread/267/add-avahi-managernetworkprotocol

I don't need this function right away and can wait for a spec change.  
(That is, help make it happen.)
So I am backing off my request for 
ManagerNetworkProtocol.Oem.OpenBMC.mDNS art this time.

- Joseph



More information about the openbmc mailing list