This repository hosts various resources about L4S, and the existing implementations.
All various components required to test L4S are under a common Github umbrella. In particular:
- Linux kernel containing the necessary patches enabling TCP prague and the dualpi2 qdisc. The repository also provides pre-packaged debian binaries to ease up experimentation. DualPI2 and TCP-PRague are currently being mainlined to kernel 6.12!
- iproute2 user-space utilities to manage the dualpi2 qdisc and query the TCP Prague statistics. DualPI2 and TCP-PRague are currently being mainlined to kernel 6.12!
- UDP-Prague NEW: Add the Prague CC code to your UDP app or (QUIC, WebRTC, ...) library and make it Prague compliant.
- GUI (l4sdemo) that enables to dynamically interact with a testbed, visualising per-packet latencies, ... as well as support script to automate more in-depth testing.
- l4steam.github.io, the web interface for this repository with links to main components, current status (Feb 2021) of Prague implementations and experiments.
- SCReAM, a mobile optimized congestion control algorithm which supports L4S. (this is an old version that needs a resync. better refer to the source: SCReAM).
The IETF draft-ietf-tsvwg-ecn-l4s-id contains a list of requirements an L4S congestion control should comply with. The following template document provides a checklist to the different normative paragraphs listed in draft-ietf-tsvwg-ecn-l4s-id-12:
This list of requirements is still being discussed and finetuned. Consensus on feasibility, performance and usefulness needs to be reached. The following contributions, grouped in (partial) available implementations and potential/planned implementations will be taken into account for that purpose.
Currently existing implementations:
- Linux TCP-Prague by L4Steam (this git): Linux_TCP_Prague_L4S_requirements_Compliance_and_Objections pdf docx
- SCReAM by Ingemar Johansson (RFC8298 std + running code): Scream_L4S_requirements_Compliance_and_Objections pdf docx
- GeforceNow by NVIDIA: GeforceNow_L4S_requirements_Compliance_and_Objections pdf docx
- ...
Planned/potential implementations:
Consolidated view including private contributions (updated v2): Prague_requirements_consolidated.pdf
TCP Prague controlled RTT dependence