Skip to content

Send mDNS from UDP 5353 - #28

Merged
JaredP94 merged 1 commit into
mainfrom
fix/mdns-source-port
Nov 2, 2026
Merged

JaredP94 merged 1 commit into
mainfrom
fix/mdns-source-port

Conversation

@JaredP94

@JaredP94 JaredP94 commented Nov 2, 2026

Copy link
Copy Markdown
Owner

Description

mDNS responses, announcements, goodbyes and the supplemental discovery query now go out from UDP source port 5353 (RFC 6762), so responders and firewalls that ignore other source ports see them (NVIDIA#44). Darwin needs SO_REUSEPORT to share 5353 with mDNSResponder.

Cherry-picked from NVIDIA/Personal-AI-Router@bda6d87 (NVIDIA#102). This fork's shared/discovery and shared/mdns were unchanged since the fork point, so it applied cleanly.

Scope

services/shared/{discovery,mdns}; rebuilt into the scanner and cluster manager.

This does not address the per-scan socket churn suspected in NVIDIA#19 / NVIDIA#59 — a socket per send still opens and closes. That needs measurement before changing.

Validation

  • go test in shared/mdns, shared/discovery, nvpair-node-scanner, nvpair-cluster-manager.
  • Live on macOS 27 / arm64: a source-5353 send succeeded on en0 and the Tailscale utun alongside a running mDNSResponder.

Risk

Low. Scanner 1.2.1, cluster-manager 2.1.1.

Checklist

  • I have read the Contributing Guidelines.
  • Every commit is signed off (git commit -s), certifying the Developer Certificate of Origin.
  • New or existing tests cover the change.
  • Relevant documentation is updated.
  • I checked the diff, changed filenames, and commit messages for credentials, private data, internal URLs, internal issue identifiers, and generated artifacts.
  • I recorded the validation commands and results above.
  • I bumped any affected component in services/versions.json, and described user-visible changes above so they reach the release notes.

Part of the upstream issue/PR review. Each branch is independent off main; they all bump services/versions.json, so the second one merged will need a trivial conflict resolution there.

…IA#102)

fix(mdns): send responses from UDP 5353 (GitHub Issue NVIDIA#1)

Summary
Bind mDNS responses, announcements, goodbyes, and supplemental discovery queries to UDP source port 5353.
Preserve per-interface sending and platform-specific socket sharing.
Add source-port regression tests, architecture documentation, and native Linux, Windows, and macOS CI coverage.

(cherry picked from commit bda6d87)

Co-authored-by: sherief-nv <41652522+sherief-nv@users.noreply.github.com>
Signed-off-by: Jared Ping <13906915+JaredP94@users.noreply.github.com>
@JaredP94
JaredP94 force-pushed the fix/mdns-source-port branch from c264ada to 8aff59e Compare November 2, 2026 18:46
@JaredP94
JaredP94 merged commit 318f842 into main Nov 2, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant