[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
Re: [tor-bugs] #25886 [Core Tor/Tor]: Have frac_nodes_with_descriptors() take and use for_direct_connect
#25886: Have frac_nodes_with_descriptors() take and use for_direct_connect
-------------------------------------------------+-------------------------
Reporter: nickm | Owner: neel
Type: defect | Status:
| assigned
Priority: Medium | Milestone: Tor:
| 0.3.5.x-final
Component: Core Tor/Tor | Version:
Severity: Normal | Resolution:
Keywords: tor-bridge-client, tor-guard, | Actual Points:
bootstrap |
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------------------------------+-------------------------
Changes (by teor):
* keywords: => tor-bridge-client, tor-guard, bootstrap
* milestone: Tor: unspecified => Tor: 0.3.5.x-final
Old description:
> On their review for #25691, teor notes (about for_direct_connect):
>
> >We should pass for_direct_conn into this function, and use
> node_has_preferred_descriptor().
>
> >For the mid and exit case:
> >We won't bootstrap unless we have enough actual mid and exit bandwidth,
> even if we have mids or exits listed as our bridges.
> >
> >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
> > 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
New description:
On their review for #25691, teor notes (about for_direct_connect):
>We should pass for_direct_conn into this function, and use
node_has_preferred_descriptor().
>For the mid and exit case:
>We won't bootstrap unless we have enough actual mid and exit bandwidth,
even if we have mids or exits listed as our bridges.
>
>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
--
Comment:
You also need to rewrite the guard weights when the client is using
bridges:
Replying to [ticket:25886 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
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/25886#comment:3>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
_______________________________________________
tor-bugs mailing list
tor-bugs@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-bugs