[tor-bugs] #9670 [Tor]: Disable exploratory client circuit builds (set cbtdisabled to 1 and cbtmincircs to 1)

Tor Bug Tracker & Wiki blackhole at torproject.org
Wed Sep 4 17:35:44 UTC 2013


#9670: Disable exploratory client circuit builds (set cbtdisabled to 1 and
cbtmincircs to 1)
------------------------+--------------------------------
     Reporter:  arma    |      Owner:
         Type:  task    |     Status:  new
     Priority:  normal  |  Milestone:  Tor: 0.2.5.x-final
    Component:  Tor     |    Version:
   Resolution:          |   Keywords:  tor-auth
Actual Points:          |  Parent ID:  #9657
       Points:          |
------------------------+--------------------------------
Description changed by arma:

Old description:

> When clients find that they're failing a lot of circuits, they back off
> from their computed cbt value, which puts them in the "launch a bunch of
> test circuits so we can get a better estimate of our cbt" phase. By
> default they launch 100 circuits, one per second, from
> circuit_build_needed_circs() which calls circuit_predict_and_launch_new()
> which does
> {{{
>   if (num < MAX_UNUSED_OPEN_CIRCUITS-2 &&
>       get_options()->LearnCircuitBuildTimeout &&
>       circuit_build_times_needs_circuits_now(&circ_times)) {
>     flags = CIRCLAUNCH_NEED_CAPACITY;
>     log_info(LD_CIRC,
>              "Have %d clean circs need another buildtime test circ.",
> num);
>     circuit_launch(CIRCUIT_PURPOSE_C_GENERAL, flags);
> }}}
>
> I think while our network is overloaded (#9657), we should turn this
> behavior off.
>
> To do it, we need to set
> {{{
>   cbtdisabled=1
>   cbtmincircs=1
> }}}
> in our consensus params.
>
> (We need to set both because there's a bug where it doesn't look at
> cbtdisabled when making the decision. But I'll open that as a separate
> ticket.)

New description:

 When clients find that they're failing a lot of circuits, they back off
 from their computed cbt value, which puts them in the "launch a bunch of
 test circuits so we can get a better estimate of our cbt" phase. By
 default they launch 100 circuits, one per
 circuit_build_times_test_frequency(), from circuit_build_needed_circs()
 which calls circuit_predict_and_launch_new() which does
 {{{
   if (num < MAX_UNUSED_OPEN_CIRCUITS-2 &&
       get_options()->LearnCircuitBuildTimeout &&
       circuit_build_times_needs_circuits_now(&circ_times)) {
     flags = CIRCLAUNCH_NEED_CAPACITY;
     log_info(LD_CIRC,
              "Have %d clean circs need another buildtime test circ.",
 num);
     circuit_launch(CIRCUIT_PURPOSE_C_GENERAL, flags);
 }}}

 I think while our network is overloaded (#9657), we should turn this
 behavior off.

 To do it, we need to set
 {{{
   cbtdisabled=1
   cbtmincircs=1
 }}}
 in our consensus params.

 (We need to set both because there's a bug where it doesn't look at
 cbtdisabled when making the decision. But I'll open that as a separate
 ticket.)

--

-- 
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/9670#comment:2>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online


More information about the tor-bugs mailing list