O1.1 - Propose and implement IPv6 ORPort reachability checks on relays
See Proposal 311: Tor Relay IPv6 Reachability: https://gitweb.torproject.org/torspec.git/tree/proposals/311-relay-ipv6-reachability.txt
The child tickets are in proposal section order, but they will probably be implemented in this order:
Pre-Implementation Improvements:
- Require IPv6 tests in Travis CI (O1.3, legacy/trac#33195 (moved))
- Test IPv4 Reachability using Chutney (O1.3, legacy/trac#33232 (moved))
Implementation:
- Allow Relay IPv6 Extends
- Declare Support for Subprotocol Version "Relay=3"
- Check Relay and Bridge IPv6 ORPort Reachability
Internal Testing:
- Test IPv6 ORPort Reachability using Chutney (O1.3, legacy/trac#33228 (moved))
- Test Legacy Relays Accept IPv6 Extends using Chutney (O1.3, legacy/trac#33231 (moved))
Public Tor Network Testing:
- Test IPv6 ORPort Reachability on the Tor Network
- Ask Relay Operators to Test IPv6 Reachability
Parent:
- #33045 (closed) Increase the number of relays that support IPv6
Children:
- #33285 (closed) Make sure relay protocol lists are sorted
- #34445 (closed) Split assumereachable into self and authority components
- #34446 (closed) TestingTorNetwork should not set AssumeReachable 1
- #33043 (closed) Prop 306: Keep bridge IPv6 behaviour in sync with client behaviour
- #33817 (closed) Perform Basic Relay IPv6 Extends
- #33956 (closed) Define and use TOR_ADDRPORT_BUF_LEN
- #33220 (closed) Prop 311: 3. Allow Relay IPv6 Extends
- #33221 (closed) Prop 311: 4. Ensure Relay and Bridge IPv6 ORPorts are Reachable
- #33226 (closed) Prop 311: 5. Declare Support for Subprotocol Version "Relay=3"
- #32588 (closed) Setting ORPort [ipv6]:auto mistakenly advertises port 94
- chutney#33229 (closed) Test IPv6 ORPort Reachability on the Tor Network
- chutney#33230 (closed) Ask Relay Operators to Test IPv6 Reachability
- #24403 (closed) Propose and implement IPv6 ORPort reachability checks on relays
- #33880 (closed) Confusing "Your relay has a very large number of connections to other relays" relay message
- #34137 (closed) Make sure inform_testing_reachability() reports the correct ports
- #33633 (closed) Move extend and reachability code to the relay module
- #33898 (closed) Stop modifying addr on connections, and delete real_addr
- #33899 (closed) Allow IPv6 addresses to be canonical
- #33900 (closed) Check for invalid zero IPv4 addresses and ports in extend cells
- #33901 (closed) Allow IPv6 extend cells
- #33905 (closed) Adjust "large number of connections to other relays" warnings
- #33917 (closed) Make IF_BUG_ONCE() support ALL_BUGS_ARE_FATAL
- #33919 (closed) Write unit tests for channel_matches_target_addr_for_extend()