Prop 313: 4. Collect IPv6 Bandwidth Stats on Relays and Bridges
We propose that relays (and bridges) collect IPv6 consumed bandwidth statistics.
To minimise development and testing effort, we propose re-using the existing "bw_array" code in rephist.c.
(We might want to move this code into separate relay-only code and header files, because it is relay-specific.)
In particular, tor currently counts these bandwidth statistics:
- dir_read, and
We propose adding the following bandwidth statistics:
- ipv6_read, and
- ipv6_write. (The IPv4 statistics can be calculated by subtracting the IPv6 statistics from the existing total consumed bandwidth statistics.)
We believe that collecting IPv6 consumed bandwidth statistics is about as safe as the existing IPv4+IPv6 total consumed bandwidth statistics.
See proposal 313, section 4: https://gitweb.torproject.org/torspec.git/tree/proposals/313-relay-ipv6-stats.txt#n118
Split bandwidth history into a separate file.
Get adequate test coverage on bandwidth history code.
Add a pair of IPv6 bandwidth arrays.
Make data get inserted into the IPv6 bandwidth arrays as appropriate.
Include IPv6 bandwidth data in extrainfo descriptors.