Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Trac Trac
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Service Desk
    • Milestones
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • Legacy
  • TracTrac
  • Issues
  • #19448

Closed (moved)
(moved)
Open
Created Jun 19, 2016 by Aaron Johnson@amj703

Total bandwidth incorrectly computed - missing non-guardfraction bw

In or/dirvote.c, lines 1074-1085 we have that

  if (rs->has_guardfraction) {
    guardfraction_bandwidth_t guardfraction_bw;

    tor_assert(is_guard);

    guard_get_guardfraction_bandwidth(&guardfraction_bw,
                                      rs->bandwidth_kb,
                                      rs->guardfraction_percentage);

    default_bandwidth = guardfraction_bw.guard_bw;
    guardfraction_bandwidth = guardfraction_bw.non_guard_bw;
  }

However, then in line 1093, we have

  *T += default_bandwidth;

T here is the total bandwidth, for use in load balancing. I believe that it should hold that T = G+M+E+D, and it used to (in 0.2.5, before guardfractions were added). However, T now is missing the fraction of the guard bandwidth that is considered "non-guard" due to the use of guardfractions.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking