Repository navigation
Section 5: redirects, binding durability, ARP responder lifecycle - #35
Closed
remcovanmook wants to merge 3 commits into
Closed
remcovanmook wants to merge 3 commits into
remcovanmook wants to merge 3 commits into
Conversation
The redirect sentence offered redirects as the path for host-to-host IPv4 on the segment. Redirects cannot carry the (destination, interface, sentinel) form that next-hop resolution takes here, so on a multi-homed host the result is ambiguous, and they are widely filtered or ignored in practice. State plainly that the mechanism does not rely on redirects, and point multi-router steering at RFC 4191 Default Router Preference, which is per interface and is already required for router selection. Closes #6 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add one normative requirement: for the lifetime of a host's IPv4 assignment, the first-hop router MUST be able to deliver to that host's /32 without depending on opportunistically learned neighbor cache state. This prohibits a specific unrecoverable failure. Where the /32 route is derived from a neighbor cache entry learned only as a side effect of traffic, garbage collection of that entry withdraws the route; the inbound traffic that would provoke re-resolution is then discarded upstream for want of a route, so nothing restores it. The host cannot detect or repair this, because it has no way to learn it has become unreachable from outside. Mechanisms stay out of this document. The paragraph names the shape of the acceptable answers (lease-derived bindings, lease-provoked ND, orchestrated distribution, PD anchoring) and defers the catalogue to a separate document. Existing cross-references to Sections 4, 5.2 and 5.3 converted to anchors so the inserted subsection cannot stale them. Closes #3 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The responder read as a permanent property of the router. State that it is operator-controlled and transitional: SHOULD be enabled while unmodified hosts remain on the segment, SHOULD be disabled once none do, and a fully migrated segment exchanges no ARP at all, responder included. Record the design position behind the strict host-side MUST NOT while it is being decided rather than after: a sanctioned ARP fallback would make the responder unretirable from any segment, because a conformant host might fall back at any time. That would permanently foreclose the zero-ARP end state in return for masking a misconfiguration better surfaced. Closes #4 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Owner
Author
|
Superseded by #42. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The three Section 5 issues, one commit each.
#6 - scope out ICMPv4 redirects
The old sentence offered redirects as the route to host-to-host IPv4 on the segment. They cannot carry the
(destination, interface, sentinel)form that next-hop resolution takes here, so on a multi-homed host a redirect is ambiguous, and they are widely filtered or ignored in practice. The text now states plainly that the mechanism does not rely on them, and points multi-router steering at RFC 4191 Default Router Preference - which is per interface and already required for router selection, so nothing new is introduced.#3 - router-to-host binding durability (new 5.2, normative)
The failure mode is spelled out because it is not obvious and it is unrecoverable: if the /32 route derives from a neighbor cache entry learned only as a side effect of traffic, garbage collection of that entry withdraws the route, and the inbound traffic that would provoke re-resolution is then dropped upstream for want of a route. Nothing restores it. The host cannot detect or repair the condition, because it has no way to learn it has become unreachable from outside - an idle host stays unreachable indefinitely.
Mechanisms stay out of the document per the issue. The closing paragraph names the shape of acceptable answers (lease-derived binding, lease-provoked ND, orchestrated distribution, PD anchoring) and defers the catalogue to the companion draft.
#4 - ARP responder is migration machinery (5.4)
The responder read as a permanent property of the router. It is now explicitly operator-controlled and transitional: SHOULD be enabled while unmodified hosts remain, SHOULD be disabled once none do, and a fully migrated segment exchanges no ARP at all, responder included.
The second paragraph records the design position behind the strict host-side
MUST NOTrather than leaving it implicit: a sanctioned ARP fallback would make the responder unretirable from any segment, since a conformant host might fall back at any time. That permanently forecloses the zero-ARP end state, in exchange for masking a misconfiguration better surfaced.Cross-references
Inserting 5.2 renumbers the two subsections after it, so the four hardcoded
Section 4/Section 5.2/Section 5.3mentions are converted to anchors. They now resolve automatically and cannot go stale on the next insertion. Verified in the built text.Closes #6, closes #3, closes #4
🤖 Generated with Claude Code