Prop 311: 4. Ensure Relay and Bridge IPv6 ORPorts are Reachable
This is a parent ticket.
We propose that relays (and bridges) check their own IPv6 ORPort reachability.
To check IPv6 ORPort reachability, relays (and bridges) extend circuits via other relays (but not other bridges), and back to their own IPv6 ORPort.
If IPv6 reachability checks fail, relays (and bridges) should refuse to publish their descriptors, if they believe IPv6 reachability checks are reliable, and their IPv6 address was explicitly configured. (See [Proposal 312: Relay Auto IPv6 Address] for the ways relays can guess their IPv6 addresses.)
Directory authorities always publish their descriptors.
From Proposal 311, section 4: https://gitweb.torproject.org/torspec.git/tree/proposals/311-relay-ipv6-reachability.txt#n246
- #33048 (closed) Propose and implement IPv6 orport reachability checks on relays
- #33860 (closed) finish test_onionskin_answer()
- #33223 (closed) Don't publish descriptor if ipv6 orport is unreachable
- #33224 (closed) Add AssumeReachableIPv6 option and consensus parameter
- #33225 Extend ipv6 from all supported second-last hops
- #34412 (closed) Additional unit tests for functions related to ipv6 self-test
- #34064 (closed) Add an AssumeReachable consensus parameter
- #34065 (closed) Make routerset_contains_router support ipv6
- #34067 (closed) Separate Tor's ipv4 and ipv6 orport reachability flags
- #34068 (closed) Decide how to handle control port events for ipv6 reachability self-tests
- #34069 (closed) Allow extend_info to contain both ipv4 and ipv6 orport
- #34200 (closed) Refactor tor's circuit path node selection checks