Why does OpenBMC use Avahi mDNS instead of SSDP?

Patrick Williams patrick at stwcx.xyz
Wed Apr 8 01:46:53 AEST 2020

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.

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

Patrick Williams
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20200407/6f65545b/attachment-0001.sig>

More information about the openbmc mailing list