Skip to content

feat: Implement RFC 6762 section 6 multicast rate limiting#476

Merged
keepsimple1 merged 2 commits into
mainfrom
rate-limit
Jul 8, 2026
Merged

feat: Implement RFC 6762 section 6 multicast rate limiting#476
keepsimple1 merged 2 commits into
mainfrom
rate-limit

Conversation

@keepsimple1

@keepsimple1 keepsimple1 commented Jul 7, 2026

Copy link
Copy Markdown
Owner

RFC 6762 section 6 requires:

"To protect the network against excessive packet flooding due to software bugs or malicious attack, a Multicast DNS responder MUST NOT (except in the one special case of answering probe queries) multicast a record on a given interface until at least one second has elapsed since the last time that record was multicast on that particular interface."

We weren't enforcing this, so rapid queries or repeated announcements could re-multicast the same record with no throttling. This PR adds per-record, per-interface rate limiting.

Throttled (multicast responses):

  • Query responses — handle_query, multicast branch only
  • Announcements / unsolicited responses — announce_service_on_intf

Exempt, per the RFC

  • Probe queries — it should have an interval of at least 250ms instead (not implemented yet)
  • Legacy unicast responses (§6.7) — the limit is specifically about multicast

@keepsimple1 keepsimple1 merged commit 76f42bd into main Jul 8, 2026
3 checks passed
@keepsimple1 keepsimple1 deleted the rate-limit branch July 8, 2026 03:34
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