Skip to content

add L4S / Prague support #4002

@marten-seemann

Description

@marten-seemann

https://datatracker.ietf.org/doc/draft-briscoe-iccrg-prague-congestion-control/


Notes from reading the draft:

$\alpha$ is EWMA (exponentially weighted moving average) of the ECN marking fraction, and is updated once per $\text{rtt\_virt}$: $\alpha = g * (\text{frac} - \alpha)$, where $g$ is the gain (usually 1/16), and $\text{frac}$ is the fraction of acknowledged packets that carried ECN feedback over the previous $\text{rtt\_virt}$. It's a value between 0 and 1.

On ECN feedback, the slow start threshold $\text{ssthresh}$ is:
$\text{ssthresh} = (1 - \frac{\alpha}{2}) \cdot \text{cwnd}$

On each ACK:
$\text{cwnd} += (\text{acked\_sacked} - \text{ece\_delta}) \cdot \frac{\text{ai\_per\_rtt}}{\text{cwnd}}$

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions