On 12/10/2022 09:37, Lennart Poettering wrote:
Do we want to keep avahi primary choice for mDNS? What are you opinions on
replacing avahi with systemd-resolved?

Yeah, this is definitely on my list. resolved already covers a lot of
ground of mDNS/DNS-SD but there's quite some stuff missing
still, most importantly API compat. Patches welcome!

For replacing Avahi by a systemd solution it is extremely important to get API compatibility, as most free software projects use the Avahi libraries to implement DNS-SD support. Currently I see only the projects from the CUPS author and former Apple employee Michael Sweet supporting two APIs, Avahi and MDNS Responder, the latter coming from the *BSD and Mac OS is based on FreeBSD AFAIR. So CUPS and PAPPL for example have the two alternatives, but most other applications would need major effort if systemd will not resemble the Avahi API.

But in OpenPrinting the MDNS Responder support could get extended to more applications, like cups-filters, as we have run a GSoC project to consolidating DNS-SD support into an API provided by CUPS and cups-filters and also Michael Sweet is working on an API in the new libcups3 (CUPS 3.x) which provide functions for printing and scanning needs and encapsulate the actual DNS-SD implementation (Avahi or MDNS Responder).

libcups3:
https://github.com/OpenPrinting/libcups

Optimizing DNS-SD browsing:
https://openprinting.github.io/current/#optimizing-dns-sd-browsing
https://github.com/thakan25/gsoc22-submission

So ideally systemd would provide the Avahi API, but the MDNS Rwesponder API could already be of help. If we succeed to centralize the interface to DNS-SD inside OpenPrinting, we could even look into a native DNS-SD API of systemd (but there are many other projects/applications using the Avahi API, too).

   Till

Reply via email to