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 192.168.1.1 dev eth0 proto static initcwnd 10
Is there a way to set the same in /etc/sysctl.conf?
Thanks
Not quite answering the question but in December 2017 support for changing these values was added to systemd-networkd so you can now put this in
/etc/systemd/network/*.network
to make it persistent:The
Gateway=_dhcp4
line is needed if you want the[Route]
section to apply to the gateway supplied via DHCP. Otherwise add theInitial*
lines to your existing[Route]
section where you manually specify your gateway address.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. Theifup
script calls this with the interface name as a parameter.So your
/sbin/ifup-local
could contain:At least this works on RHEL/CentOS. I have not tried Deb/Ubu/others.
In case of CentOS 7 the script called in ifup is /sbin/ifup-pre-local . So i just made the script /sbin/ifup-pre-local :
And the initcwnd is set in all reboots and network restart.
On RHEL/CentOS/Oracle/Scientific Linux and other EL-based distro's:
Easy, just don't specify GATEWAY= in your /etc/sysconfig/network-scripts/ifcfg-eth0 file. Then create a 2nd file called route-eth0 in the same place and write your gateway there:
This method: