[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #12877 [Tor]: Investigate Unmeasured relays that get the Fast flag
#12877: Investigate Unmeasured relays that get the Fast flag
------------------------+--------------------------
Reporter: asn | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Tor: 0.2.???
Component: Tor | Version:
Resolution: | Keywords:
Actual Points: | Parent ID:
Points: |
------------------------+--------------------------
Comment (by asn):
Looking at `set_routerstatus_from_routerinfo()` we have:
{{{
rs->is_fast = node->is_fast =
router_is_active(ri, node, now) &&
!dirserv_thinks_router_is_unreliable(now, ri, 0, 1);
}}}
And in `dirserv_thinks_router_is_unreliable()` we have:
{{{
if (need_capacity) {
uint32_t bw_kb = dirserv_get_credible_bandwidth_kb(router);
if (bw_kb < fast_bandwidth_kb)
return 1;
}
return 0;
}}}
which is straightforward and relies on
`dirserv_get_credible_bandwidth_kb()`.
So, now let's dig into the interesting function
`dirserv_get_credible_bandwidth_kb()`, which tells us:
{{{
/** Return the bandwidth we believe for assigning flags; prefer measured
* over advertised, and if we have above a threshold quantity of measured
* bandwidths, we don't want to ever give flags to unmeasured routers, so
* return 0. */
}}}
The threshold is enforced here:
{{{
/* Check if we have a measured bandwidth, and check the threshold if not
*/
if (!(dirserv_query_measured_bw_cache_kb(ri->cache_info.identity_digest,
&mbw_kb, NULL))) {
threshold = get_options()->MinMeasuredBWsForAuthToIgnoreAdvertised;
if (routers_with_measured_bw > threshold) {
/* Return zero for unmeasured bandwidth if we are above threshold */
bw_kb = 0;
}}}
Since, bwauths are enabled, I would have assumed that we are above that
threshold and the bandwidth value for all unmeasured relays would be set
to `0`, however since unmeasured relays get the `Fast` flag it probably
isn't the case.
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/12877#comment:1>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs