Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DNS-SD Service Discovery #72459

Open
besmarsh opened this issue May 8, 2024 · 1 comment
Open

DNS-SD Service Discovery #72459

besmarsh opened this issue May 8, 2024 · 1 comment
Assignees
Labels
area: Networking Enhancement Changes/Updates/Additions to existing features
Milestone

Comments

@besmarsh
Copy link
Contributor

besmarsh commented May 8, 2024

Is your enhancement proposal related to a problem? Please describe.

DNS-SD (DNS-based Service Discovery) is a standard method for enabling discovery of services on a local IP network. DNS-SD consists of two parts, Service Advertisement, and Service Discovery. Zephyr currently supports the Service Advertisement part of DNS-SD, but does not support the Service Discovery part.

DNS-SD is one of the 3 core aspects of Zero-Configuration Networking, along with IP Autoconfiguration and mDNS, both of which are supported by Zephyr. The Service Discovery part of DNS-SD is the missing part to enable a Zephyr device to fully work in a Zero-Configuration Networking environment.

Describe the solution you'd like

This enhancement proposal is for implementing the Service Discovery part of DNS-SD. Much of the groundwork is already present, as DNS-SD builds on top of standard DNS, which is already implemented.

The implementation should likely provide an API to discover services through DNS-SD, similar to the existing DNS API for resolving hostnames. As multiple instances can exist for a given service, a consumer of the API should in some way be provided with a list of discovered service instances, from which a service instance can be chosen and resolved using the standard DNS API.

The DNS-SD implementation should work with both unicast DNS and multicast DNS (mDNS).

Describe alternatives you've considered

DNS-SD is the accepted standard solution for local IP network service discovery. I don't know of any alternatives which would be better to support.

Additional context

@besmarsh besmarsh added the Enhancement Changes/Updates/Additions to existing features label May 8, 2024
@cfriedt cfriedt added this to the v3.7.0 milestone May 8, 2024
@Ayush1325
Copy link
Member

Great proposal. I would love this in the mainline.

I had to pause the previous work since I came across some problems with networking on beagleconnect freedom in Zephyr mainline (#71191, #68674). I can pick it up again once I get all the other parts of networking on bcf resolved. Of course, it is also fine if someone else wants to pick it up (since it might take me a few weeks to get around to working on this).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: Networking Enhancement Changes/Updates/Additions to existing features
Projects
None yet
Development

No branches or pull requests

6 participants