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.
issue