[Bloat] "BBR" TCP patches submitted to linux kernel

Eric Dumazet eric.dumazet at gmail.com
Thu Oct 27 13:52:08 EDT 2016


On Thu, 2016-10-27 at 10:33 -0700, Dave Taht wrote:

> At the moment my biggest beef with BBR is that it ignores ECN entirely
> (and yet negotiates it). 

Note that switching cubic to any other CC like BBR is allowed at any
time, way after ECN was negotiated.

So BBR can not solve the issue you mention in a reliable way.

There must be a reason sysctl_tcp_ecn default value is 2 on linux [1],
don't you think ???

_You_ chose to change this sysctl, do not blame BBR for being silly !

ECN was a nice attempt, but suffers from implementation bugs.

For a start, linux does not implement RFC 3540.

If someone cares enough of ECN, then it should cook linux patches to
implement RFC 3540. Hint hint hint.

Then you need to make sure all the nodes between your peers are not
messing with ECN.

BBR simply works, because it is a sender side thing.
You do not have to fix everything in the Internet.

[1]
Documentation/networking/ip-sysctl.txt
tcp_ecn - INTEGER
        Control use of Explicit Congestion Notification (ECN) by TCP.
        ECN is used only when both ends of the TCP connection indicate
        support for it.  This feature is useful in avoiding losses due
        to congestion by allowing supporting routers to signal
        congestion before having to drop packets.
        Possible values are:
                0 Disable ECN.  Neither initiate nor accept ECN.
                1 Enable ECN when requested by incoming connections and
                  also request ECN on outgoing connection attempts.
                2 Enable ECN when requested by incoming connections
                  but do not request ECN on outgoing connections.
        Default: 2




More information about the Bloat mailing list