0

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?

milosgajdos
  • 1,828
  • 2
  • 21
  • 30

1 Answers1

0

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

[root@localhost ~]# echo bbr > /proc/sys/net/ipv4/tcp_congestion_control 
[root@localhost ~]# 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:

[root@localhost ~]# cat /proc/sys/net/ipv4/tcp_available_congestion_control
bbr cubic reno
[root@localhost ~]# lsmod | grep -i bbr
tcp_bbr                20480  5
Michael Hampton
  • 244,070
  • 43
  • 506
  • 972