[tor-commits] [tor/master] Provide consensus params to constrain the threshold for Fast

nickm at torproject.org nickm at torproject.org
Mon Jan 16 19:52:11 UTC 2012


commit 125fba2e9988a7a31d5f6d45d897c3e8f1ca7480
Author: Nick Mathewson <nickm at torproject.org>
Date:   Fri Jan 13 12:05:08 2012 -0500

    Provide consensus params to constrain the threshold for Fast
    
    resolves ticket 3946
---
 changes/fast_bw_param |    8 ++++++++
 src/or/dirserv.c      |   12 ++++++++++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/changes/fast_bw_param b/changes/fast_bw_param
new file mode 100644
index 0000000..abe630d
--- /dev/null
+++ b/changes/fast_bw_param
@@ -0,0 +1,8 @@
+  o Minor features (directory authority):
+    - Provide two consensus parameters (FastFlagMinThreshold and
+      FastFlagMaxThreshold) to control the range of allowable bandwidths for
+      the Fast directory flag. This allows authorities to run better
+      experiments on appropriate requirements for being a "Fast" node.
+      The AuthDirFastGuarantee flag still applies.
+
+
diff --git a/src/or/dirserv.c b/src/or/dirserv.c
index 94a415f..e599569 100644
--- a/src/or/dirserv.c
+++ b/src/or/dirserv.c
@@ -1938,6 +1938,18 @@ dirserv_compute_performance_thresholds(routerlist_t *rl)
   if (guard_tk > TIME_KNOWN_TO_GUARANTEE_FAMILIAR)
     guard_tk = TIME_KNOWN_TO_GUARANTEE_FAMILIAR;
 
+  {
+    /* We can vote on a parameter for the minimum and maximum. */
+    int32_t min_fast, max_fast;
+    min_fast = networkstatus_get_param(NULL, "FastFlagMinThreshold",
+                                       0, 0, INT32_MAX);
+    max_fast = networkstatus_get_param(NULL, "FastFlagMaxThreshold",
+                                       INT32_MAX, min_fast, INT32_MAX);
+    if (fast_bandwidth < (uint32_t)min_fast)
+      fast_bandwidth = min_fast;
+    if (fast_bandwidth > (uint32_t)max_fast)
+      fast_bandwidth = max_fast;
+  }
   /* Protect sufficiently fast nodes from being pushed out of the set
    * of Fast nodes. */
   if (options->AuthDirFastGuarantee &&





More information about the tor-commits mailing list