Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Folks, As we know, the 3.x kernels have higher TCP default connection values, such as initcwnd and initrwnd. For 2.x friends, is there a way to set these in /etc/sysctl.conf instead of the ip route way?

Instead of the following:

sudo ip route change default via dev eth0  proto static initcwnd 10

Is there a way to set the same in /etc/sysctl.conf?


share|improve this question
perfect, however, any way to set this setting in /etc/sysctl.conf ? – CMag Oct 24 '13 at 22:34
Nope. The default value is a constant in #define. However, you may be able to persuade your init scripts to install the default route with the parameters you want. For example, on Gentoo, this can be easily achieved. – Laszlo Valko Oct 24 '13 at 22:50

By "via sysctl.conf" do you actually mean you want the settings to apply every boot?

If so, you can write /sbin/ifup-local to run any commands as the last part of the interface start. The ifup script calls this with the interface name as a parameter.

So your /sbin/ifup-local could contain:

if [[ "$1" == "eth0" ]]
  ip route change default via dev eth0 proto static initcwnd 10

At least this works on RHEL/CentOS. I have not tried Deb/Ubu/others.

share|improve this answer
What if its a different interface that you want to change the setting of, other than the default one? – UpTheCreek Nov 4 '14 at 7:54
There is no "default interface". The script is called with the device name as a parameter, so you just add/change the if condition to match what interface(s) you want to change settings for. – suprjami Nov 5 '14 at 9:04

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.