On 18 Feb 2018, at 11:17, nusenu <nusenu-lists@riseup.net> wrote:

Hello,

I've got two questions regarding some bw related torrc settings.

1)

after reading tor's manpage section about PerConnBWRate:
PerConnBWRate N
bytes|KBytes|MBytes|GBytes|TBytes|KBits|MBits|GBits|TBits If set, do
separate rate limiting for each connection from a non-relay. You
should never need to change this value, since a network-wide value is
published in the consensus and your relay will use that value.
(Default: 0)

I was wondering what value dir auths set in consensus, but I was not
able to find anything that looked like it in consensus [1].

That's because the directory authorities do not set a value in the
consensus.

dir-spec [2]
       "perconnbwrate" and "perconnbwburst" -- if set, each relay sets
       up a separate token bucket for every client OR connectio [...]>         First-appeared: 0.2.2.7-alpha

This line is not accurate - the perconn* code still exists in Tor master:

       Removed-in: 0.2.2.16-alpha

https://gitweb.torproject.org/tor.git/tree/src/or/connection_or.c#n763

We should document the tor versions that implement consensus
parameters. There's no point documenting when the parameters were
present in the consensus. 

Does that mean that dir auths stopped including it since tor 0.2.2.16-alpha
should we update the manpage then?

Yes, we should update the man page so it doesn't say that the
value is in the consensus.

Is there a default value if consensus does not say anything about it
or is there no per connection limit in that case?

The default is BandwidthRate/Burst. This should also be in the man
page.

Please feel free to open a ticket in Core Tor, 0.3.4.

2)
Is there a RelayBandwidthRate torrc setting in addition to BandwidthRate
so tor instances which act as clients and relays at the same time can
have independent bw rates for each role (client, relay)?

BandwidthRate -> affects client and relay role
RelayBandwidthRate -> affects only relay role
is this correct?

Yes.

But it's slightly more complicated: when an OR connection is used
for client purposes (like downloading a consensus), all its cells are
counted as client bandwidth for the next 30 seconds.

T

[1] https://collector.torproject.org/recent/relay-descriptors/consensuses/2018-02-17-23-00-00-consensus

[2] https://gitweb.torproject.org/torspec.git/tree/dir-spec.txt#n1847