aboutsummaryrefslogtreecommitdiff
path: root/src/or
diff options
context:
space:
mode:
authorRoger Dingledine <arma@torproject.org>2014-07-24 00:35:47 -0400
committerRoger Dingledine <arma@torproject.org>2014-07-24 16:24:17 -0400
commita57c07b21098da4a97d586ffdedca71babe4daaa (patch)
treeb0a89bb185755ae7644c81874654d37b5ed971f3 /src/or
parenta4c641cce91acb673f81db2b6093fde425039eaf (diff)
downloadtor-a57c07b21098da4a97d586ffdedca71babe4daaa.tar.gz
tor-a57c07b21098da4a97d586ffdedca71babe4daaa.zip
Raise guard threshold to top 25% or 2000 kilounits
Authorities now assign the Guard flag to the fastest 25% of the network (it used to be the fastest 50%). Also raise the consensus weight that guarantees the Guard flag from 250 to 2000. For the current network, this results in about 1100 guards, down from 2500. This step paves the way for moving the number of entry guards down to 1 (proposal 236) while still providing reasonable expected performance for most users. Implements ticket 12690.
Diffstat (limited to 'src/or')
-rw-r--r--src/or/config.c2
-rw-r--r--src/or/dirserv.c5
2 files changed, 4 insertions, 3 deletions
diff --git a/src/or/config.c b/src/or/config.c
index 4182411354..2661ce3b73 100644
--- a/src/or/config.c
+++ b/src/or/config.c
@@ -147,7 +147,7 @@ static config_var_t option_vars_[] = {
V(AuthDirInvalid, LINELIST, NULL),
V(AuthDirInvalidCCs, CSV, ""),
V(AuthDirFastGuarantee, MEMUNIT, "100 KB"),
- V(AuthDirGuardBWGuarantee, MEMUNIT, "250 KB"),
+ V(AuthDirGuardBWGuarantee, MEMUNIT, "2 MB"),
V(AuthDirReject, LINELIST, NULL),
V(AuthDirRejectCCs, CSV, ""),
V(AuthDirRejectUnlisted, BOOL, "0"),
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index aedd092522..49fafafab2 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -1588,7 +1588,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
/* (Now bandwidths is sorted.) */
if (fast_bandwidth_kb < ROUTER_REQUIRED_MIN_BANDWIDTH/(2 * 1000))
fast_bandwidth_kb = bandwidths_kb[n_active/4];
- guard_bandwidth_including_exits_kb = bandwidths_kb[(n_active-1)/2];
+ guard_bandwidth_including_exits_kb = bandwidths_kb[n_active*3/4];
guard_tk = find_nth_long(tks, n_active, n_active/8);
}
@@ -1646,7 +1646,8 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
if (n_active_nonexit) {
guard_bandwidth_excluding_exits_kb =
- median_uint32(bandwidths_excluding_exits_kb, n_active_nonexit);
+ find_nth_uint32(bandwidths_excluding_exits_kb,
+ n_active_nonexit, n_active_nonexit*3/4);
}
log_info(LD_DIRSERV,