Opened 2 years ago

Last modified 20 months ago

#24169 new enhancement

When all consensus bandwidths are zero, should Tor still respect bandwidth weights?

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Tor Version: Tor: 0.2.4.3-alpha
Severity: Normal Keywords: tor-client, path-selection, 034-triage-20180328, 034-removed-20180328
Cc: Actual Points:
Parent ID: #24250 Points: 2
Reviewer: Sponsor:

Description

In test networks with all-zero bandwidths, Tor chooses nodes uniformly at random. Instead, Tor should probably respect the bandwidth weights for guards, middles and exits.

We could do this by modifying smartlist_choose_node_by_bandwidth_weights() and compute_weighted_bandwidths() to act as if all bandwidth weights are N rather than zero. N should be chosen so that typical bandwidth weights are preserved (typical weights in this case are 1, 1/3, and 0). So let's choose 30000, like the existing non-bandwidth code.

Split off #23318.

Child Tickets

TicketTypeStatusOwnerSummary
#20474defectclosedTor should try harder to choose nodes in small networks

Change History (6)

comment:1 Changed 2 years ago by teor

Keywords: path-selection added

(I don't think we need to backport this, it only affects test networks.)

comment:2 Changed 23 months ago by nickm

Milestone: Tor: 0.3.3.x-finalTor: 0.3.4.x-final
Type: defectenhancement

Label a bunch of (arguable and definite) enhancements as enhancements for 0.3.4.

comment:3 Changed 21 months ago by nickm

Keywords: 034-triage-20180328 added

comment:4 Changed 21 months ago by nickm

Keywords: 034-removed-20180328 added

Per our triage process, these tickets are pending removal from 0.3.4.

comment:5 Changed 21 months ago by nickm

Milestone: Tor: 0.3.4.x-finalTor: unspecified

These tickets, tagged with 034-removed-*, are no longer in-scope for 0.3.4. We can reconsider any of them, if time permits.

comment:6 Changed 20 months ago by teor

Parent ID: #24250

#24250 will probably fix this issue by making all relays report 1 as their minimum bandwidth

Note: See TracTickets for help on using tickets.