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

net: dns-sd: additional rfc6733 features #38846

Open
cfriedt opened this issue Sep 25, 2021 · 7 comments
Open

net: dns-sd: additional rfc6733 features #38846

cfriedt opened this issue Sep 25, 2021 · 7 comments
Assignees
Labels
area: Networking Enhancement Changes/Updates/Additions to existing features
Milestone

Comments

@cfriedt
Copy link
Member

cfriedt commented Sep 25, 2021

Is your enhancement proposal related to a problem? Please describe.
Currently, dns-sd does not support

  1. domain enumeration (chapter 11)
  2. sub-types (chapter 7.2)
  3. service domains (chapter 7.2)

Items 2 and 3 deal with fully-qualified names (FQN's). Examples of FQN's that are unsupported are of the form:

<sub>._sub.<sn>._tcp.<servicedomain>.<parentdomain>.

or anything other than "local" for a <domain>, where

<domain> := <servicedomain>.<parentdomain>.

The struct dns_sd_rec actually has insufficient fields to represent all types of names.

Describe the solution you'd like

  • 1 additional local "service domain", either configured from e.g. DHCP or via Kconfig
  • remove the proto, service, and instance fields of struct dns_sd_rec
  • use only a name field and name_size, domain field and domain_size, and text and text_size
  • use accessor methods to extract the above values into callee-provided storage
  • support domain enumeration via kconfig switch (ch 11)
  • support all fully-qualified names described in ch 7.2
  • an additional pass of helpful features from RFC 6763

Describe alternatives you've considered

Additional context
https://datatracker.ietf.org/doc/html/rfc6763

@ghost
Copy link

ghost commented Dec 20, 2021

The driver seems to not initiate device-side announcements or probing at startup as described in section 8: https://datatracker.ietf.org/doc/html/rfc6762#section-8. This causes my device to remain undiscovered when the server has avahi-daemon running.

@cfriedt
Copy link
Member Author

cfriedt commented Dec 21, 2021

The driver seems to not initiate device-side announcements or probing at startup as described in section 8: https://datatracker.ietf.org/doc/html/rfc6762#section-8. This causes my device to remain undiscovered when the server has avahi-daemon running.

Thanks for finding this! I see that it's part of the greater mdns picture (rfc6762) so I might create a separate issue for general mdns improvements.

@dkalowsk dkalowsk modified the milestones: v3.0.0, v3.1.0 Feb 21, 2022
@carlescufi carlescufi modified the milestones: v3.1.0, v3.2.0 Jun 5, 2022
@cfriedt cfriedt modified the milestones: v3.2.0, future Aug 10, 2022
@cfriedt
Copy link
Member Author

cfriedt commented Aug 10, 2022

Pushing this back, as I have no actual dedicated hours to work on this at the moment (most of my upstream work is still unfortunately evenings and weekends).

@cfriedt
Copy link
Member Author

cfriedt commented Apr 19, 2023

@pdgendt - in case you have bandwidth to make additional improvements. Feel free to ping me on Discord for any clarification. In particular, accessor methods would be the preferred way to extract fields.

@pdgendt
Copy link
Collaborator

pdgendt commented Apr 20, 2023

@pdgendt - in case you have bandwidth to make additional improvements. Feel free to ping me on Discord for any clarification. In particular, accessor methods would be the preferred way to extract fields.

@cfriedt thanks, it could be something for the long run though. We're currently more focused on RFC6762, and filling some gaps there.

@zephyrbot
Copy link
Collaborator

Hi @rlubos, @jukkar,

This issue, marked as an Enhancement, was opened a while ago and did not get any traction. It was just assigned to you based on the labels. If you don't consider yourself the right person to address this issue, please re-assing it to the right person.

Please take a moment to review if the issue is still relevant to the project. If it is, please provide feedback and direction on how to move forward. If it is not, has already been addressed, is a duplicate, or is no longer relevant, please close it with a short comment explaining the reason.

@cfriedt you are also encouraged to help moving this issue forward by providing additional information and confirming this request/issue is still relevant to you.

Thanks!

@cfriedt
Copy link
Member Author

cfriedt commented Feb 8, 2024

DNS SD should be much easier to test and maintain with this change.

I'll assign it to myself and will try to carve out some time to implement it soon.

@cfriedt cfriedt self-assigned this Feb 8, 2024
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

7 participants