ahiliation:~$cat /proc/sys/net/ipv4/tcp_congestion_control cubic ahiliation:~$echo reno > /proc/sys/net/ipv4/tcp_congestion_control bash: /proc/sys/net/ipv4/tcp_congestion_control: Permission denied ahiliation:~$su - Password: debianlabs:~# echo reno > /proc/sys/net/ipv4/tcp_congestion_control debianlabs:~# cat /proc/sys/net/ipv4/tcp_congestion_control reno debianlabs:~# echo dreno > /proc/sys/net/ipv4/tcp_congestion_control -su: echo: write error: No such file or directory
Set the congestion control algorithm to be used for new connections. The algorithm "reno" is always available, but additional choices may be available based on kernel configuration. Default is set as part of kernel configuration.
[ linux kernel source tcp_yeah.c ]
else if (!yeah->doing_reno_now) {
/* Scalable */
tp->snd_cwnd_cnt += yeah->pkts_acked;
grepping through linux kernel source 2.6.32 sysctl_net_ipv4.c: .procname = "tcp_congestion_control", sysctl_net_ipv4.c: .proc_handler = proc_tcp_congestion_control, sysctl_net_ipv4.c: .strategy = sysctl_tcp_congestion_control,
Problem : Find exactly where the default algorithm is done in code