[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[tor-commits] [sbws/master] v3bwfile: Move comment about MaxAdvertisedBandwidth



commit 7789c793c8409da95240414dd45d3e8093d80db9
Author: juga0 <juga@xxxxxxxxxx>
Date:   Fri Nov 23 10:25:39 2018 +0000

    v3bwfile: Move comment about MaxAdvertisedBandwidth
    
    from sbws scaling to torflow's scaling, where the descriptor
    bandwidth is calculated from the minimum of all the descriptor
    bandwidth values.
    And use the bandwidth-file-spec.txt text instead.
---
 sbws/lib/v3bwfile.py | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/sbws/lib/v3bwfile.py b/sbws/lib/v3bwfile.py
index db3c2d8..e08ef28 100644
--- a/sbws/lib/v3bwfile.py
+++ b/sbws/lib/v3bwfile.py
@@ -605,17 +605,6 @@ class V3BWFile(object):
             the bandwidth to obtain the new bandwidth
         :returns list: V3BwLine list
         """
-        # If a relay has MaxAdvertisedBandwidth set, they may be capable of
-        # some large amount of bandwidth but prefer if they didn't receive it.
-        # We also could have managed to measure them faster than their
-        # {,Relay}BandwidthRate somehow.
-        #
-        # See https://github.com/pastly/simple-bw-scanner/issues/155 and
-        # https://trac.torproject.org/projects/tor/ticket/8494
-        #
-        # Note how this isn't some measured-by-us average of bandwidth. It's
-        # the first value on the 'bandwidth' line in the relay's server
-        # descriptor.
         log.debug('Scaling bandwidth using sbws method.')
         m = median([l.bw for l in bw_lines])
         bw_lines_scaled = copy.deepcopy(bw_lines)
@@ -827,6 +816,15 @@ class V3BWFile(object):
                 desc_bw_obs = l.desc_bw_obs_last
             elif desc_bw_obs_type == TORFLOW_OBS_MEAN:
                 desc_bw_obs = l.desc_bw_obs_mean
+            # Excerpt from bandwidth-file-spec.txt section 2.3
+            # A relay's MaxAdvertisedBandwidth limits the bandwidth-avg in its
+            # descriptor.
+            # Therefore generators MUST limit a relay's measured bandwidth to
+            # its descriptor's bandwidth-avg.
+            # Generators SHOULD NOT limit measured bandwidths based on
+            # descriptors' bandwidth-observed, because that penalises new
+            # relays.
+            # See https://trac.torproject.org/projects/tor/ticket/8494
             # just applying the formula above:
             desc_bw = min(desc_bw_obs, l.desc_bw_bur, l.desc_bw_avg)
             bw_new = kb_round_x_sig_dig(



_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits