Split ROUTER_REQUIRED_MIN_BANDWIDTH into RELAY_ and BRIDGE_ variants

Also raise those minima from 20 to 75 and 50 respectively.

Closes ticket 13822.
This commit is contained in:
Nick Mathewson
2015-02-07 08:30:40 -05:00
parent b101f4e98c
commit 4beb830953
4 changed files with 19 additions and 8 deletions
+5
View File
@@ -0,0 +1,5 @@
o Minor features:
- Use separate minimum bandwidth values for the configurations of
relays and bridges. Raise the minimum configured bandwidth for
bridges to 50 KiB/sec and for relays to 75 KiB/sec. (The old
values were 20 KiB/sec.) Closes ticket 13822.
+11 -6
View File
@@ -3180,19 +3180,24 @@ options_validate(or_options_t *old_options, or_options_t *options,
options->RelayBandwidthRate = options->RelayBandwidthBurst;
if (server_mode(options)) {
const unsigned ROUTER_REQUIRED_MIN_BANDWIDTH = // tolower XXXX
public_server_mode(options) ?
RELAY_REQUIRED_MIN_BANDWIDTH : BRIDGE_REQUIRED_MIN_BANDWIDTH;
const char * const optbridge =
public_server_mode(options) ? "" : "bridge ";
if (options->BandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH) {
tor_asprintf(msg,
"BandwidthRate is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->BandwidthRate,
"For %sservers, it must be at least %u.",
(int)options->BandwidthRate, optbridge,
ROUTER_REQUIRED_MIN_BANDWIDTH);
return -1;
} else if (options->MaxAdvertisedBandwidth <
ROUTER_REQUIRED_MIN_BANDWIDTH/2) {
tor_asprintf(msg,
"MaxAdvertisedBandwidth is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->MaxAdvertisedBandwidth,
"For %sservers, it must be at least %u.",
(int)options->MaxAdvertisedBandwidth, optbridge,
ROUTER_REQUIRED_MIN_BANDWIDTH/2);
return -1;
}
@@ -3200,8 +3205,8 @@ options_validate(or_options_t *old_options, or_options_t *options,
options->RelayBandwidthRate < ROUTER_REQUIRED_MIN_BANDWIDTH) {
tor_asprintf(msg,
"RelayBandwidthRate is set to %d bytes/second. "
"For servers, it must be at least %d.",
(int)options->RelayBandwidthRate,
"For %sservers, it must be at least %u.",
(int)options->RelayBandwidthRate, optbridge,
ROUTER_REQUIRED_MIN_BANDWIDTH);
return -1;
}
+1 -1
View File
@@ -1427,7 +1427,7 @@ dirserv_compute_performance_thresholds(routerlist_t *rl,
/* The 12.5th percentile bandwidth is fast. */
fast_bandwidth_kb = find_nth_uint32(bandwidths_kb, n_active, n_active/8);
/* (Now bandwidths is sorted.) */
if (fast_bandwidth_kb < ROUTER_REQUIRED_MIN_BANDWIDTH/(2 * 1000))
if (fast_bandwidth_kb < RELAY_REQUIRED_MIN_BANDWIDTH/(2 * 1000))
fast_bandwidth_kb = bandwidths_kb[n_active/4];
guard_bandwidth_including_exits_kb =
third_quartile_uint32(bandwidths_kb, n_active);
+2 -1
View File
@@ -4937,7 +4937,8 @@ typedef struct dir_server_t {
**/
} dir_server_t;
#define ROUTER_REQUIRED_MIN_BANDWIDTH (20*1024)
#define RELAY_REQUIRED_MIN_BANDWIDTH (75*1024)
#define BRIDGE_REQUIRED_MIN_BANDWIDTH (50*1024)
#define ROUTER_MAX_DECLARED_BANDWIDTH INT32_MAX