Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Tor Tor
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 318
    • Issues 318
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 36
    • Merge requests 36
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • The Tor Project
  • Core
  • TorTor
  • Issues
  • #33263
Closed
Open
Created Feb 11, 2020 by teor@teor5 of 5 tasks completed5/5 tasks

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:

  • read,
  • write,
  • dir_read, and
  • dir_write.

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

Tasks:

  • 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.
Edited Jul 10, 2020 by Nick Mathewson
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking