Skip to content

Commit c5e7338

Browse files
committed
Upgraded BBR to BBRv3 (2024 and in Linux 2.6 kernel).
• BBRv3 Update - Replaced the legacy 700‑line Reno-like BBR with a spec-aligned BBRv3 controller that tracks STARTUP/DRAIN/PROBE_BW/PROBE_RTT states, maintains dual filters (10‑slot max bandwidth + 10s min-RTT), cycles pacing gains across ProbeBW phases, and applies packet-conservation on loss (ns/flow/bbr.py:1-210, ns/flow/bbr.py:211-318). The new implementation exposes the same public hooks but now bases pacing/cwnd decisions on the BBRv3 gain schedule and probe-rtt timers. - BBR’s SimPy generator now honors the controller’s updated API—timeouts log cleanly and every ACK forwards the current simulation time so BBR can timestamp RTT/round transitions correctly (ns/packet/bbr_generator.py:140-210, ns/packet/ bbr_generator.py:260-365). - Added a unit suite that feeds synthetic rate samples to confirm the controller exits STARTUP, walks the ProbeBW phases (including UP), and clamps cwnd during PROBE_RTT (tests/flow/test_bbrv3.py:1-69). Added an end-to-end SimPy regression that wires up a BBRPacketGenerator/TCPSink loop and verifies the flow reaches PROBE_BW with a positive pacing rate (tests/flow/test_bbrv3_integration.py:1-48).
1 parent 1c1f0f8 commit c5e7338

File tree

4 files changed

+386
-654
lines changed

4 files changed

+386
-654
lines changed

0 commit comments

Comments
 (0)