Prop 312: 3.2.5. Handle IPv6 Directory Fetch Failures
Relays should start fetching directory documents over IPv4 and IPv6, so they can use X-Your-Address-Is HTTP headers to find their IPv6 addresses.
Bridges must only fetch directory documents over IPv4, because they try to imitate clients. (So they can't find their IPv6 addresses in this way.)
To support this change, tor should also change how it handles IPv6 directory failures on relays:
- avoid recording IPv6 directory failures as remote relay failures, because they may actually be due to a lack of IPv6 connectivity on the local relay, and
- issue IPv6 directory failure logs at notice level, and rate-limit them to one per hour.
If a relay is:
- explicitly configured with an IPv6 address, or
- a publicly routable, reachable IPv6 address is discovered in an earlier step, tor should start issuing IPv6 directory failure logs at warning level. Tor may also record these directory failures as remote relay failures. (Rather than ignoring them, as described in the previous paragraph.)
See proposal 312, section 3.2.5, IPv6 directory failure part: https://gitweb.torproject.org/torspec.git/tree/proposals/312-relay-auto-ipv6-addr.txt#n457