Linux BBRplus Kernel 6.x Stable (non-LTS) ported from BBRplus 4.14
(note that it does NOT based on 6.x version of BBR, instead just simple ported the 4.14 version of BBRplus)
based on original version
https://github.com/cx9208/bbrplus
net.ipv4.tcp_congestion_control = bbrplus
net.core.default_qdisc = fq
or
net.ipv4.tcp_congestion_control = bbr
net.core.default_qdisc = fq
in the /etc/sysctl.conf
file. ( fq
is the only recommended packet scheduler, do not use fq_codel
fq_pie
cake
etc )
(or you can use releases compiled by me in "Releases" section)
(build requirement to GCC is >= 4.9, so GCC upgrade is needed if use CentOS 7.x as builder)
(e.g., convert_official_linux-6.4.x_src_to_bbrplus.patch)
say 6.4.12
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.4.12.tar.xz
tar xvf linux-6.4.12.tar.xz && cd linux-6.4.12
something like
cp ../convert_official_linux-6.4.x_src_to_bbrplus.patch .
patch -p1 < convert_official_linux-6.4.x_src_to_bbrplus.patch
(if no error or failed on previous step)
CentOS
sudo yum groupinstall Development tools
sudo yum install ncurses-devel bc gcc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel
press "y" key when asked
Debian/Ubuntu
sudo apt install build-essential libncurses5-dev
sudo apt build-dep linux
press "y" key when asked
make oldconfig
(Note: If using CentOS 7.x with Xen Virtualization, ya have to set CONFIG_XEN_BLKDEV_FRONTEND=y, otherwise VMs won't boot.)
press Enter key when asked (if dont know what is what)
scripts/config --disable SECURITY_LOCKDOWN_LSM
scripts/config --disable DEBUG_INFO
scripts/config --disable MODULE_SIG
CentOS
make rpm-pkg LOCALVERSION=-bbrplus 2>&1 | tee build.log
Debian/Ubuntu
make deb-pkg LOCALVERSION=-bbrplus 2>&1 | tee build.log
if anything goes wrong check the "build.log" file
(if not failed on previous step)
CentOS files
located in
/"user home dir"/rpmbuild/RPMS/x86_64/
Debian/Ubuntu files
located in
parent directory