[tor-commits] [tor/master] Raise guard threshold to top 25% or 2000 kilounits

arma at torproject.org arma at torproject.org
Thu Jul 24 20:30:57 UTC 2014


commit a57c07b21098da4a97d586ffdedca71babe4daaa
Author: Roger Dingledine <arma at torproject.org>
Date:   Thu Jul 24 00:35:47 2014 -0400

    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.
---
 changes/ticket12690 |    9 +++++++++
 src/or/config.c     |    2 +-
 src/or/dirserv.c    |    5 +++--
 3 files changed, 13 insertions(+), 3 deletions(-)

diff --git a/changes/ticket12690 b/changes/ticket12690
new file mode 100644
index 0000000..5091883
--- /dev/null
+++ b/changes/ticket12690
@@ -0,0 +1,9 @@
+  o Minor features:
+    - 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.
+
diff --git a/src/or/config.c b/src/or/config.c
index 4182411..2661ce3 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 aedd092..49fafaf 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,





More information about the tor-commits mailing list