quiche icon indicating copy to clipboard operation
quiche copied to clipboard

Explicit Congestion Notification support

Open qdeconinck opened this issue 2 years ago • 1 comments

This PR extends the commits of the WIP ECN PR (#1287) and addresses the remaining TODO points, namely the ACK ECN validation, the ECN path probing, and the actual ECN support to the apps quiche-client and quiche-server.

qdeconinck avatar Oct 13 '22 11:10 qdeconinck

Just for the validation, we did a few runs on the Internet with a large file transfer (download of a 100 MB file). Here are attached some log snippets from the server's viewpoint.

With plain ECT0 (no CE marking):

... rx frm ACK delay=3 blocks=[1489..79492] ecn_counts=Some(EcnCounts { ect0_count: 79491, ect1_count: 0, ecn_ce_count: 0 }) ... tx frm ACK delay=20 blocks=[25298..25469, 25471..25484, 25486..25503] ecn_counts=Some(EcnCounts { ect0_count: 24319, ect1_count: 0, ecn_ce_count: 0 }) ...

With ECT1 and a L4S network putting CE marks:

... rx frm ACK delay=2 blocks=[5506..80852] ecn_counts=Some(EcnCounts { ect0_count: 0, ect1_count: 79574, ecn_ce_count: 1277 }) ... tx frm ACK delay=21 blocks=[26215..26415] ecn_counts=Some(EcnCounts { ect0_count: 25871, ect1_count: 0, ecn_ce_count: 0 }) ...

If needed, I can provide the full logs (not provided here given their size).

qdeconinck avatar Oct 26 '22 08:10 qdeconinck