[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r17821: {tor} Spec compliance: if weighted MTBF of a router is at least 5 (in tor/trunk: . src/or)
Author: nickm
Date: 2008-12-29 15:17:18 -0500 (Mon, 29 Dec 2008)
New Revision: 17821
Modified:
tor/trunk/ChangeLog
tor/trunk/src/or/dirserv.c
Log:
Spec compliance: if weighted MTBF of a router is at least 5 days, always vote it as Stable.
Modified: tor/trunk/ChangeLog
===================================================================
--- tor/trunk/ChangeLog 2008-12-29 19:57:17 UTC (rev 17820)
+++ tor/trunk/ChangeLog 2008-12-29 20:17:18 UTC (rev 17821)
@@ -23,6 +23,8 @@
don't need to use RELAY_EARLY cells: the first hop knows what kind of
cell it is, and nobody else can even see the cell type. This makes
it easier to cannibalize circuits like this later.
+ - Authorities now list vote for the Stable flag for any router whose
+ weighted MTBF is at least 5 days, regardless of the mean MTBF.
o Code simplifications and refactoring:
- Change our header file guard macros to be less likely to conflict
Modified: tor/trunk/src/or/dirserv.c
===================================================================
--- tor/trunk/src/or/dirserv.c 2008-12-29 19:57:17 UTC (rev 17820)
+++ tor/trunk/src/or/dirserv.c 2008-12-29 20:17:18 UTC (rev 17821)
@@ -1625,7 +1625,6 @@
#define UPTIME_TO_GUARANTEE_STABLE (3600*24*30)
/** If a router's MTBF is at least this value, then it is always stable.
* See above. (Corresponds to about 7 days for current decay rates.) */
-/*XXXX021 Never actually used! */
#define MTBF_TO_GUARANTEE_STABLE (60*60*24*5)
/** Similarly, we protect sufficiently fast nodes from being pushed
* out of the set of Fast nodes. */
@@ -1695,7 +1694,7 @@
{
if (need_uptime) {
if (!enough_mtbf_info) {
- /* XXX021 Once most authorities are on v3, we should change the rule from
+ /* XXX022 Once most authorities are on v3, we should change the rule from
* "use uptime if we don't have mtbf data" to "don't advertise Stable on
* v3 if we don't have enough mtbf data." */
long uptime = real_uptime(router, now);
@@ -1705,7 +1704,8 @@
} else {
double mtbf =
rep_hist_get_stability(router->cache_info.identity_digest, now);
- if (mtbf < stable_mtbf)
+ if (mtbf < stable_mtbf &&
+ mtbf < MTBF_TO_GUARANTEE_STABLE)
return 1;
}
}