Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
Trac
Trac
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 246
    • Issues 246
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Operations
    • Operations
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value Stream
  • Wiki
    • Wiki
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Create a new issue
  • Issue Boards

GitLab is used only for code review, issue tracking and project management. Canonical locations for source code are still https://gitweb.torproject.org/ https://git.torproject.org/ and git-rw.torproject.org.

  • Legacy
  • TracTrac
  • Issues
  • #13814

Closed (moved)
Open
Opened Nov 22, 2014 by teor@teor

Avoid building exit circuits unless we have a consensus that can build exit paths

Split from #13718 (moved):

teor:

I also wonder about the impact of changing the invocation of circuit_build_needed_circs() so that it runs when we know we have internal circuits, rather than waiting for exit circuits. Should we split it into internal and exit versions? If so, which types of circuits go in each category?

nickm: That's an interesting question, but it sounds like a separate ticket. Generally, anything that is a predicted circuit, or anything that might carry user traffic, is an exit circuit. Anything else is an internal circuit.

Notes:

Exit Circuits:

  • Predicted Circuits
  • User Traffic Circuits
  • Others (TBC)

Internal Circuits:

  • Hidden Service -> Introduction Point Circuits (TBC)
  • All Other Circuits

The behaviour as of 2.6.0-alpha was to build all these circuits only when we had enough descriptors to build exit circuits. This is perhaps more conservative than required.

arma in #13718 (moved):

So there's still value imo in waiting for circuit-building until we have all the network info that we need for a variety of actions. The bug here is that we have the wrong definition of "all the network info that we need" when the network has no exits. So we should be fixing that definition.

To upload designs, you'll need to enable LFS and have admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
Reference: legacy/trac#13814