diff options
author | Nick Mathewson <nickm@torproject.org> | 2016-10-24 12:48:02 -0400 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2016-10-24 12:48:02 -0400 |
commit | 657efebc950e737c3ecf281650d134a99990835c (patch) | |
tree | fd13a1258a48e892d2e35603f2bb1ff80d98c5ac /dir-spec.txt | |
parent | 6d968a1507ae074ab17f914522f25b68138efd42 (diff) | |
parent | b31f0e19b7ccd923d47309683060f08fa2b074a2 (diff) | |
download | torspec-657efebc950e737c3ecf281650d134a99990835c.tar.gz torspec-657efebc950e737c3ecf281650d134a99990835c.zip |
Merge remote-tracking branch 'pastly/ticket20273'
Diffstat (limited to 'dir-spec.txt')
-rw-r--r-- | dir-spec.txt | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/dir-spec.txt b/dir-spec.txt index 87e038d..1ebfde8 100644 --- a/dir-spec.txt +++ b/dir-spec.txt @@ -2635,9 +2635,9 @@ The following methods have incorrect implementations; authorities SHOULD Wgg*G + Wgd*D == M + Wmd*D + Wme*E + Wmg*G (guard bw = middle bw) Wgg*G + Wgd*D == Wee*E + Wed*D (guard bw = exit bw) - Wed*D + Wmd*D + Wgd*D == D (aka: Wed+Wmd+Wdg = 1) - Wmg*G + Wgg*G == G (aka: Wgg = 1-Wmg) - Wme*E + Wee*E == E (aka: Wee = 1-Wme) + Wed*D + Wmd*D + Wgd*D == D (aka: Wed+Wmd+Wdg = weight_scale) + Wmg*G + Wgg*G == G (aka: Wgg = weight_scale-Wmg) + Wme*E + Wee*E == E (aka: Wee = weight_scale-Wme) We are short 2 constraints with the above set. The remaining constraints come from examining different cases of network load. The following @@ -2684,8 +2684,8 @@ The following methods have incorrect implementations; authorities SHOULD In this case, if M <= T/3, we have enough bandwidth to try to achieve a balancing condition. - Add constraints Wgg = 1, Wmd == Wgd to maximize bandwidth in the guard - position while still allowing exits to be used as middle nodes: + Add constraints Wgg = weight_scale, Wmd == Wgd to maximize bandwidth in + the guard position while still allowing exits to be used as middle nodes: Wee = (weight_scale*(E - G + M))/E Wed = (weight_scale*(D - 2*E + 4*G - 2*M))/(3*D) @@ -2696,8 +2696,8 @@ The following methods have incorrect implementations; authorities SHOULD Wgd = (weight_scale - Wed)/2 If this system ends up with any values out of range (ie negative, or - above weight_scale), use the constraints Wgg == 1 and Wee == 1, since - both those positions are scarce: + above weight_scale), use the constraints Wgg == weight_scale and Wee == + weight_scale, since both those positions are scarce: Wgg = weight_scale Wee = weight_scale @@ -2736,7 +2736,7 @@ The following methods have incorrect implementations; authorities SHOULD Subcase b: (S+D) >= T/3 if G=S: - Add constraints Wgg = 1, Wmd == Wed to maximize bandwidth + Add constraints Wgg = weight_scale, Wmd == Wed to maximize bandwidth in the guard position, while still allowing exits to be used as middle nodes: Wgg = weight_scale @@ -2747,7 +2747,7 @@ The following methods have incorrect implementations; authorities SHOULD Wmd = (weight_scale - Wgd)/2 Wed = (weight_scale - Wgd)/2 if E=S: - Add constraints Wee == 1, Wmd == Wgd to maximize bandwidth + Add constraints Wee == weight_scale, Wmd == Wgd to maximize bandwidth in the exit position: Wee = weight_scale; Wed = (weight_scale*(D - 2*E + G + M))/(3*D); |