Loading src/or/config.c +2 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,8 @@ static config_var_t _option_vars[] = { V(ORPort, UINT, "0"), V(OutboundBindAddress, STRING, NULL), OBSOLETE("PathlenCoinWeight"), V(PerConnBWBurst, MEMUNIT, "0"), V(PerConnBWRate, MEMUNIT, "0"), V(PidFile, STRING, NULL), V(TestingTorNetwork, BOOL, "0"), V(PreferTunneledDirConns, BOOL, "1"), Loading src/or/connection_or.c +16 −11 Original line number Diff line number Diff line Loading @@ -343,6 +343,7 @@ connection_or_init_conn_from_address(or_connection_t *conn, int started_here) { or_options_t *options = get_options(); int rate, burst; /* per-connection rate limiting params */ routerinfo_t *r = router_get_by_digest(id_digest); connection_or_set_identity_digest(conn, id_digest); Loading @@ -350,19 +351,23 @@ connection_or_init_conn_from_address(or_connection_t *conn, /* It's in the consensus, or we have a descriptor for it meaning it * was probably in a recent consensus. It's a recognized relay: * give it full bandwidth. */ conn->bandwidthrate = (int)options->BandwidthRate; conn->read_bucket = conn->bandwidthburst = (int)options->BandwidthBurst; conn->write_bucket = conn->bandwidthburst = (int)options->BandwidthBurst; } else { /* Not a recognized relay. Squeeze it down based on the * suggested bandwidth parameters in the consensus. */ conn->bandwidthrate = rate = (int)options->BandwidthRate; burst = (int)options->BandwidthBurst; } else { /* Not a recognized relay. Squeeze it down based on the suggested * bandwidth parameters in the consensus, but allow local config * options to override. */ rate = options->PerConnBWRate ? (int)options->PerConnBWRate : (int)networkstatus_get_param(NULL, "bwconnrate", (int)options->BandwidthRate); conn->read_bucket = conn->write_bucket = conn->bandwidthburst = burst = options->PerConnBWBurst ? (int)options->PerConnBWBurst : (int)networkstatus_get_param(NULL, "bwconnburst", (int)options->BandwidthBurst); } conn->bandwidthrate = rate; conn->read_bucket = conn->write_bucket = conn->bandwidthburst = burst; conn->_base.port = port; tor_addr_copy(&conn->_base.addr, addr); tor_addr_copy(&conn->real_addr, addr); Loading src/or/or.h +2 −0 Original line number Diff line number Diff line Loading @@ -2513,6 +2513,8 @@ typedef struct { * willing to use for all relayed conns? */ uint64_t RelayBandwidthBurst; /**< How much bandwidth, at maximum, will we * use in a second for all relayed conns? */ uint64_t PerConnBWRate; /**< Long-term bw on a single TLS conn, if set. */ uint64_t PerConnBWBurst; /**< Allowed burst on a single TLS conn, if set. */ int NumCpus; /**< How many CPUs should we try to use? */ int RunTesting; /**< If true, create testing circuits to measure how well the * other ORs are running. */ Loading Loading
src/or/config.c +2 −0 Original line number Diff line number Diff line Loading @@ -284,6 +284,8 @@ static config_var_t _option_vars[] = { V(ORPort, UINT, "0"), V(OutboundBindAddress, STRING, NULL), OBSOLETE("PathlenCoinWeight"), V(PerConnBWBurst, MEMUNIT, "0"), V(PerConnBWRate, MEMUNIT, "0"), V(PidFile, STRING, NULL), V(TestingTorNetwork, BOOL, "0"), V(PreferTunneledDirConns, BOOL, "1"), Loading
src/or/connection_or.c +16 −11 Original line number Diff line number Diff line Loading @@ -343,6 +343,7 @@ connection_or_init_conn_from_address(or_connection_t *conn, int started_here) { or_options_t *options = get_options(); int rate, burst; /* per-connection rate limiting params */ routerinfo_t *r = router_get_by_digest(id_digest); connection_or_set_identity_digest(conn, id_digest); Loading @@ -350,19 +351,23 @@ connection_or_init_conn_from_address(or_connection_t *conn, /* It's in the consensus, or we have a descriptor for it meaning it * was probably in a recent consensus. It's a recognized relay: * give it full bandwidth. */ conn->bandwidthrate = (int)options->BandwidthRate; conn->read_bucket = conn->bandwidthburst = (int)options->BandwidthBurst; conn->write_bucket = conn->bandwidthburst = (int)options->BandwidthBurst; } else { /* Not a recognized relay. Squeeze it down based on the * suggested bandwidth parameters in the consensus. */ conn->bandwidthrate = rate = (int)options->BandwidthRate; burst = (int)options->BandwidthBurst; } else { /* Not a recognized relay. Squeeze it down based on the suggested * bandwidth parameters in the consensus, but allow local config * options to override. */ rate = options->PerConnBWRate ? (int)options->PerConnBWRate : (int)networkstatus_get_param(NULL, "bwconnrate", (int)options->BandwidthRate); conn->read_bucket = conn->write_bucket = conn->bandwidthburst = burst = options->PerConnBWBurst ? (int)options->PerConnBWBurst : (int)networkstatus_get_param(NULL, "bwconnburst", (int)options->BandwidthBurst); } conn->bandwidthrate = rate; conn->read_bucket = conn->write_bucket = conn->bandwidthburst = burst; conn->_base.port = port; tor_addr_copy(&conn->_base.addr, addr); tor_addr_copy(&conn->real_addr, addr); Loading
src/or/or.h +2 −0 Original line number Diff line number Diff line Loading @@ -2513,6 +2513,8 @@ typedef struct { * willing to use for all relayed conns? */ uint64_t RelayBandwidthBurst; /**< How much bandwidth, at maximum, will we * use in a second for all relayed conns? */ uint64_t PerConnBWRate; /**< Long-term bw on a single TLS conn, if set. */ uint64_t PerConnBWBurst; /**< Allowed burst on a single TLS conn, if set. */ int NumCpus; /**< How many CPUs should we try to use? */ int RunTesting; /**< If true, create testing circuits to measure how well the * other ORs are running. */ Loading