Skip to content

Only NewReno + Cubic congestion control; no BBR #192

Description

@ch4r10t33r

Severity

Low — not RFC-mandatory. NewReno + Cubic cover most deployments; BBR matters mainly on high-BDP / lossy long-RTT paths (intercontinental, satellite, Tor-style transports).

Summary

zquic ships with `NewReno` and `Cubic` in `src/loss/congestion.zig` and `src/loss/cubic.zig`, selectable via a tagged-union `Controller`. quinn additionally ships `BBR` (v1) in `congestion/bbr.rs`.

Evidence

quinn: `quinn-proto/src/congestion/` — `bbr.rs`, `cubic.rs`, `new_reno.rs` (three algos via trait `Controller`).

zquic:

Impact for libp2p

  • For Lean / Eth2 devnets on continental-scale paths, Cubic is adequate.
  • For globe-spanning gossip mesh, BBR's bandwidth-probing behaviour would reduce stalls under bufferbloat-y middleboxes.

Suggested fix

  1. Add a `Controller.bbr` variant to the existing tagged union.
  2. Implement BBR v1 (state machine: STARTUP → DRAIN → PROBE_BW → PROBE_RTT) — RFC 9438 / draft-cardwell-iccrg-bbr-congestion-control.
  3. Add CLI / config knob for algorithm selection.

Tracker: #138

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions