PDA

View Full Version : BIC TCP Congestion Avoidance Algorithm



shawnguertin
27-Mar-2012, 22:16
Hi,
SLES 11 SP2 uses CUBIC TCP Congestion Avoidance Algorithm by default.
Do you know how to change it to BIC?
BIC is not available through sysctl, that might mean it has been removed from the latest versions.

This is mandatory for our systems because the servers will be used as speed-test over wireless (LTE) network. It must be immune to packet drop and be more aggressive, your help is very appreciated.
Thank you

malcolmlewis
27-Mar-2012, 22:29
Hi,
SLES 11 SP2 uses CUBIC TCP Congestion Avoidance Algorithm by default.
Do you know how to change it to BIC?
BIC is not available through sysctl, that might mean it has been
removed from the latest versions.

This is mandatory for our systems because the servers will be used as
speed-test over wireless (LTE) network. It must be immune to packet drop
and be more aggressive, your help is very appreciated.
Thank you



Hi
I replied to your post in the openSUSE forums about this. As indicated,
it's present in SLED11 SP2 x86_64 default kernel, but not present in
SLES11 SP2 pae kernel. I've asked my SUSE contacts if it's kernel
flavor related.

Can you post the output from uname -a and also how much system RAM do
you have?

--
Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 3.0.13-0.27-default
up 2 days 3:33, 2 users, load average: 0.01, 0.03, 0.05
CPU Intel i5 CPU M520@2.40GHz | Intel Arrandale GPU

okir
28-Mar-2012, 10:35
Both SLES and SLED provide tcp_bic in the kernel-extra package, which isn't officially supported. But certainly you can take it from there and experiment with it.

Do you intend to use tcp_bic for testing only, or do you plan to go to production eventually?

shawnguertin
28-Mar-2012, 18:03
Thank you, since it is a SLES topic, I will post here.
Here some basic info:
Linux external 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012 (d73692b) x86_64 x86_64 x86_64 GNU/Linux
It has 4GB of RAM but it will change in production.

It is actually for testing SLES, we actually use Red Hat servers and are looking to migrate to SLES. Our speedtest servers on Red Hat were able to let us use BIC. This server is an external test server running SLES, if all options are available in SUSE we will migrate.

shawnguertin
17-Apr-2012, 21:36
Hello everybody,

I am posting here how to use BIC TCP for everybody who finds it on Google.
Here are the command lines:


zypper install kernel-source kernel-syms
cd /usr/src/linux/net/ipv4
make -C /usr/src/linux-obj/x86_64/default M=$(pwd)
make -C /usr/src/linux-obj/x86_64/default M=$(pwd) modules_install
depmod
#Edit vi /etc/modprobe.d/unsupported-modules and change value 0 for 1
modprobe tcp_bic
sysctl net.ipv4.tcp_congestion_control=bic
#Edit file vi /etc/sysctl.conf to add entry: net.ipv4.tcp_congestion_control = bic
#Reboot and ensure that all is right and that congestion control is set to bic:
shutdown -r now
sysctl -a | grep congestion

I hope I will help someone!