Skip to main content
Sign in
Snippets Groups Projects

Impelement conflux for onion services

  • View options
  • Open created by Mike Perry
    Open Impelement conflux for onion services
    • View options
  • Conflux is traffic splitting, and will result in increased throughput and reduced latency for onion services after a connection has been established, by routing traffic over multiple paths, or via the lowest latency path to a service.

    This ticket is for the onion service pieces of conflux (#40593 (closed)).

    We will not be implementing the onion services pieces of conflux as part of that ticket. It can be done later, if any onion service sponsors care about latency or throughput.

    The pieces for onion services are:

    • Negotiation
      • Protover Advertisement for Onions (24h)
      • Rend circuit linking (40h)

    This is specified in https://gitlab.torproject.org/tpo/core/torspec/-/blob/main/proposals/329-traffic-splitting.txt, but we probably want to allow onion services to configure their scheduler by manually choosing either BLEST, or LowRTT, since different kinds of onion services may want to optimize for either throughput or latency.

    There may be some additional work wrt making sure linked edge conns work properly, if they are handled differently for the onion service case.

    Also, some shadow validation and performance testing will be needed. Maybe 40h or so of dev time (though much longer wall-clock time).

    0 of 2 checklist items completed · Edited by Mike Perry
    • Branch

    Attributes

    Assignees

    None

    Labels

    Milestone

    None

    Dates

    Start: None

    Due: None

    Time tracking

    No estimate or time spent
    To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information

    Activity

    • All activity
    • Comments only
    • History only
    • Newest first
    • Oldest first