Closed koen0607 closed 1 year ago
Currently Prague in some cases will have this issue. Specifically, in some case, Prague will NOT fallback successfully to Reno when the other side support non-ACCECN. And we are draft some changes to be agreed by L4Steam members to agree.
This shall be fixed in pull request #20 , so close this issue
Is it still needed to let BBR2 use ECT(0) in case of sysctl tcp_ecn=1/2 or can we line-up with TCP-Prague?
BBR2 relies on the internally hard-coded assumption that if a CC NEEDS_ECN and NEEDS_ACC_ECN, then it would WANT_ECT1. In fact only a scalable CCs "NEEDS"_ECT1, which in turn NEEDS_ACC_ECN and clearly NEEDS_ECN. Any other reasoning could even lead to having future non-scalable congestion controls that for some other reason NEEDS_ECN and NEEDS_ACC_ECN would also start using ECT1...
If the sender is not supporting ACC_ECN, BB2 (and even Prague) cannot use a classic CC (except maybe when Prague would be falling back to Reno if no ACC_ECN is supported).