Changes between Version 1 and Version 3 of Ticket #25886


Ignore:
Timestamp:
May 20, 2018, 9:59:33 PM (20 months ago)
Author:
teor
Comment:

You also need to rewrite the guard weights when the client is using bridges:

Replying to nickm:

For the guard case: The guard case is unchanged for non-bridge clients.

The bridge client case could be tricky, because:

  1. compute_frac_paths_available() only checks guard-flagged nodes, not bridges
  2. even if it did check bridges, they don't have bandwidths only have self-measured bandwidths
  3. even if we used a weight of 1 for each bridge, we don't require 65% of bridges to be up to bootstrap

To workaround this issue, I suggest we make f_guard = 1.0 in compute_frac_paths_available() if we are using bridges, and have at least one bridge with the preferred a full descriptor.

Edit: bridge clients always use full descriptors for bridges Edit: bridges have self-measured bandwidths

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #25886

    • Property Status changed from new to assigned
    • Property Cc neel@… added
    • Property Owner set to neel
    • Property Milestone changed from Tor: unspecified to Tor: 0.3.5.x-final
    • Property Keywords tor-bridge-client tor-guard bootstrap added
  • Ticket #25886 – Description

    v1 v3  
    1212>
    1313>   1. compute_frac_paths_available() only checks guard-flagged nodes, not bridges
    14 >   2. even if it did check bridges, they don't have bandwidths
     14>   2. even if it did check bridges, they ~~don't have bandwidths~~ only have self-measured bandwidths
    1515>   3. even if we used a weight of 1 for each bridge, we don't require 65% of bridges to be up to bootstrap
    1616>
     
    1818
    1919Edit: bridge clients always use full descriptors for bridges
     20Edit: bridges have self-measured bandwidths