Is BBR congestion control available on my host or not

milosgajdos asked:

I have been looking into enabling bbr congestion control on some of our servers to test if they make any difference for our workloads.

We are on Amazon Linux 2:

# uname -a
Linux ip-10-1-66-180.us-east-1.aws.dckr.io 4.14.173-137.229.amzn2.x86_64 #1 SMP Wed Apr 1 18:06:08 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

I had a look into available congestion control and got this

# cat /proc/sys/net/ipv4/tcp_available_congestion_control
cubic reno

Does this mean bbr support is not available in our kernel? I saw some people showing the same output of the above command and still setting sysctls to bbr regardless.

I also checked the kernel modules as I’ve read somewhere that some bbr module needs to be loaded but I suspect that was necessary for older Kernels.

# lsmod | grep -i bbr

Is there a way I can enable bbr on our servers given the kernel version I mentioned earlier?

My answer:


The kernels in Amazon Linux 2 do indeed include BBR congestion control support. You enable it like any other congestion control method.

[[email protected] ~]# echo bbr > /proc/sys/net/ipv4/tcp_congestion_control 
[[email protected] ~]# cat /proc/sys/net/ipv4/tcp_congestion_control 
bbr

Because it was built as a module it is loaded on demand, so it deos not show up as available unless the module had already been loaded. Now you can see it:

[[email protected] ~]# cat /proc/sys/net/ipv4/tcp_available_congestion_control
bbr cubic reno
[[email protected] ~]# lsmod | grep -i bbr
tcp_bbr                20480  5

View the full question and any other answers on Server Fault.

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.