Write a proposal for monitoring IPv6

For sponsor 55, I need to write a proposal that covers these objectives:

My current thinking is that:

  • tor should log the number and consensus weight of relays that support IPv6 reachability checks, because we will need those numbers during testing
  • these numbers are available in the consensus

Here's what the proposal requires:

  • calculate relay IPv6 reachability numbers a few times during the project (we may as well use the tor logs)
  • collect IPv6 connection and bandwidth statistics on tor relays
  • calculate the IPv6 connection and bandwidth amounts a few times during the project

Here are some other useful things we might do:

  • split the collected IPv6 statistics by client/relay
  • calculate the guard-but-not-exit relays that support IPv6 client connections
  • log IPv6 statistics in tor's heartbeat logs (we can't use these logs for our project reports, because they only show the local relay's statistics)
  • calculate IPv6 reachability relay count and consensus weight on consensus-health
  • add a pseudo-flag for relay IPv6 reachability support in Relay Search
  • add metrics graphs that shows our progress on
    • IPv6 reachability
    • client IPv6 support on relays
    • IPv6 connections and bandwidth

We definitely won't have time to do all of these optional things, so we should priorise, once the essential work is done.