You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TR-10-9 Section 15 requires IPMX devices to:
- Support both mDNS and unicast DNS for DNS-SD browse operations
- Default to using both methods
- Provide user mechanisms to limit browsing to unicast or mDNS only
- When using both: try unicast DNS first, fall back to mDNS only
if unicast is unsuccessful (no service discovered)
- When multiple results are returned: select by best priority,
failing over to next-best if unresponsive
- Once a service is selected and responsive: perform no further
browse operations for that service type
- If the selected service becomes unresponsive: perform a new
DNS-SD browse and restart selection
Add dns_sd_browse_mode setting ("both"/"unicast"/"mdns") to implement
the required dual-discovery strategy. In "both" mode (default), unicast
DNS is tried first with half the timeout budget; if no records are
found, mDNS fallback gets the remaining half. "unicast" and "mdns"
modes restrict to a single method.
Also filters browse results by domain class to prevent mDNS results
leaking into unicast DNS queries and vice versa.
Signed-off-by: Semyon Barenboym <semyon.barenboym@ienso.com>
// "The Node [filters] out any APIs which do not support its required API version, protocol and authorization mode (TXT api_ver, api_proto and api_auth)."
@@ -712,26 +722,26 @@ namespace nmos
712
722
713
723
// helper function for resolving instances of the specified service (API) based on the specified settings
714
724
// with the highest version, highest priority instances at the front, and services with the same priority ordered randomly
725
+
// TR-10-9 Section 15: supports "both" (unicast DNS first, mDNS fallback), "unicast", and "mdns" browse modes
Copy file name to clipboardExpand all lines: Development/nmos/settings.h
+6Lines changed: 6 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -82,6 +82,12 @@ namespace nmos
82
82
// domain [registry, node]: the domain on which to browse for services or an empty string to use the default domain (specify "local." to explictly select mDNS)
// host_address/host_addresses [registry, node]: IP addresses used to construct response headers (e.g. 'Link' or 'Location'), and host and URL fields in the data model
0 commit comments