TCP BBR on Azure Linux kernels

TCP BBR on Azure Linux kernels

============================================================================

Google has contributed a patch to networkign componnet of Linux kerner form 4.9 release which addresses a significat inprovement into the way how networking traffic behaves. While tere has been ways by which custom protocals have been written to increase data thoroughput at client and server. TCP BBR needs to be implemented only on Server side

The first public release or BBR was done in Sept 2016 for ensuring that he necessary updates are available in the Linux distros following need to be done.

# The Linux kernel needs to be updated or complies with following options

CONFIG_TCP_CONG_BBR
CONFIG_NET_SCH_FQ

# Run following commands.

$ grep ‘CONFIG_TCP_CONG_BBR’ /boot/config-$(uname -r)
$ grep ‘CONFIG_NET_SCH_FQ’ /boot/config-$(uname -r)
$ egrep ‘CONFIG_TCP_CONG_BBR|CONFIG_NET_SCH_FQ’ /boot/config-$(uname -r)

# How to enable TCP BBR congestion control on Linux
Edit the /etc/sysctl.conf file or create a new file in /etc/sysctl.d/ directory:
$ sudo vi /etc/sysctl.conf

OR
$ sudo vi /etc/sysctl.d/10-custom-kernel-bbr.conf

Append the following two lines:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr#

 

To verify if everything is working properly, run following commands

$ sysctl net.core.default_qdisc
net.core.default_qdisc = fq
$ sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

 

Ref – https://github.com/google/bbr