Linux BBRplus Kernel 5.15 ported from BBRplus 4.14
(note that it does NOT based on 5.15 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-5.15.x_src_to_bbrplus.patch)
say 5.15.12
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.12.tar.xz
tar xvf linux-5.15.12.tar.xz && cd linux-5.15.12
something like
cp ../convert_official_linux-5.15.x_src_to_bbrplus.patch .
patch -p1 < convert_official_linux-5.15.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