Note on (New)Reno: Implementations seem to mix the terms Reno and NewReno. It is safe to assume, that all variants of Reno actually refer to the implementation stated in Section 7 of RFC9002^7^.
Note on CUBIC: Some implementations actually implement the CUBIC CCA, other use this term in their code to reference the cubic-based congestion window growth. Figuring out what CC is actually used can thereby often not be answered by a simple code search.
| Name | Repository | Lang | CC Algorithms | Default CC | HowTo Example Server | Valid as of | Source of Information |
|---|---|---|---|---|---|---|---|
| lsquic | https://github.com/litespeedtech/lsquic | C | CUBIC, BBRv1, Adaptive | Adaptive^1^ | http_server -o cc_algo=1 |
11/2023 | Repository / own experience |
| quiche | https://github.com/cloudflare/quiche | Rust | Reno, CUBIC, BBRv1, BBRv2 | Reno | quiche-server --cc-algorithm cubic |
11/2023 | Repository / own experience |
| quicly | https://github.com/h2o/quicly | C | CUBIC, Reno | Reno | 11/2023 | Repository / own experience | |
| quic-go | https://github.com/quic-go/quic-go | Go | Reno^3^, BBR^2^ | Reno | 11/2023 | Repository / own experience | |
| msquic | https://github.com/microsoft/msquic | C | CUBIC, BBR(v1 or v2?) | CUBIC | 11/2023 | Repository / Paper^4^ | |
| picoquic | https://github.com/private-octopus/picoquic | C | Reno, CUBIC, BBR(v1 or v2?), Prague, (fastcc^5^, dcubic^6^) | Reno | 11/2023 | Repository / own experience | |
| mvfst | https://github.com/facebook/mvfst | C++ | CUBIC, Reno, BBRv1, BBRv2, Copa, Copa2 | CUBIC^0^ | 11/2023 | Repository / Paper^4^ | |
| tquic | https://github.com/Tencent/tquic | Rust | CUBIC, BBR, BBRv3 (?), COPA | ? | 12/2023 | Repository |
^0^ Not 100% sure, needs to be re-checked and updated
^1^ The "Adaptive" congestion control of lsquic decides between CUBIC and BBRv1 depending on the estimated RTT.
^2^ Quic-Go BBR Work in Progress: quic-go/quic-go#4054
^3^ Quic-Go does not provide cubic, the references in code are outdated: quic-go/quic-go#3189 (comment)
^4^ Understanding Speciation in QUIC Congestion Control, 2022, https://dl.acm.org/doi/pdf/10.1145/3517745.3561459
^5^ Not documented, not sure if this is the same as https://en.wikipedia.org/wiki/FAST_TCP
^6^ Delay-based cubic hack, see https://github.com/private-octopus/picoquic/blob/master/picoquic/cubic.c#L464C4-L464C41
^7^ RFC9002 CC: https://www.rfc-editor.org/rfc/rfc9002.html#name-congestion-control
You‘re welcome! Please note that this is most likely outdated - last update was in 12/2023