User Tools

Site Tools



BBR is the optimization for the tcp, and it can increase the network speed significant. So it's the same as kcptun.

BBR on Raspberry Pi

Check the kernel version, the kernel is already 4.9+, so it already support bbr

pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.9.35-v7+ #1014 SMP Fri Jun 30 14:47:43 BST 2017 armv7l GNU/Linux

Enable bbr

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

pi@raspberrypi:~ $  sudo sysctl net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_congestion_control = bbr
pi@raspberrypi:~ $  lsmod |grep bbr
tcp_bbr                 6366  18
pi@raspberrypi:~ $  sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
pi@raspberrypi:~ $  sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = bbr

DigitalOcean enable BBR


Install the grub loader in the console panel, first you need power off, then after install the grub loader, then power on.

Install the new kernel, you can find the kernel what you want

apt-cache search --names-only linux-image
 sudo apt-get install linux-image-4.11.0-13-generic linux-headers-4.11.0-13-generic


sudo apt-get install linux-image-4.10.0-42-generic linux-headers-4.10.0-42-generic

Actuall after install the above kernel, it doesn't support BBR, and the working kernel is following one, you need manual download and install it

cd kernel4.9/
sudo dpkg -i linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

Update the grub

sudo vim /etc/default/grub

Add the line:


export GRUB_CONFIG=`sudo find /boot -name "grub.cfg"`
sudo update-grub

Now you find all the kernel

grep 'menuentry ' $GRUB_CONFIG | cut -f 2 -d "'" | nl -v 0

And you need update /etc/default/grub, and set update the index to the one your want


Now you can reoot the VPS

Some tips

uname -r
sysctl net.ipv4.tcp_available_congestion_control
#net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.ipv4.tcp_congestion_control
#net.ipv4.tcp_congestion_control = bbr
sysctl net.core.default_qdisc
#net.core.default_qdisc = fq
lsmod | grep bbr


/var/www/dokuwiki/wiki/data/pages/linux/bbr.txt · Last modified: 2018/01/08 14:40 by percy