Bert's attempt was noble It showed your desire for the truth A simple path existed
Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]> --- net/ipv4/Kconfig | 39 +++++++++++++++++++++++++++++++++++++-- net/ipv4/sysctl_net_ipv4.c | 6 ++++++ net/ipv4/tcp_cong.c | 2 +- 3 files changed, 44 insertions(+), 3 deletions(-) --- net-2.6.19.orig/net/ipv4/Kconfig 2006-09-19 13:11:09.000000000 -0700 +++ net-2.6.19/net/ipv4/Kconfig 2006-09-19 13:20:45.000000000 -0700 @@ -573,12 +573,47 @@ loss packets. See http://www.ntu.edu.sg/home5/ZHOU0022/papers/CPFu03a.pdf +choice + prompt "Default TCP congestion control" + default DEFAULT_BIC + help + Select the TCP congestion control that will be used by default + for all connections. + + config DEFAULT_BIC + bool "Bic" if TCP_CONG_BIC=y + + config DEFAULT_CUBIC + bool "Cubic" if TCP_CONG_CUBIC=y + + config DEFAULT_HTCP + bool "Htcp" if TCP_CONG_HTCP=y + + config DEFAULT_VEGAS + bool "Vegas" if TCP_CONG_VEGAS=y + + config DEFAULT_WESTWOOD + bool "Westwood" if TCP_CONG_WESTWOOD=y + + config DEFAULT_RENO + bool "Reno" + +endchoice + endmenu -config TCP_CONG_BIC - tristate +config DEFAULT_BIC depends on !TCP_CONG_ADVANCED default y +config DEFAULT_TCP_CONG + string + default "bic" if DEFAULT_BIC + default "cubic" if DEFAULT_CUBIC + default "htcp" if DEFAULT_HTCP + default "vegas" if DEFAULT_VEGAS + default "westwood" if DEFAULT_WESTWOOD + default "reno" if DEFAULT_RENO + source "net/ipv4/ipvs/Kconfig" --- net-2.6.19.orig/net/ipv4/sysctl_net_ipv4.c 2006-09-19 13:11:09.000000000 -0700 +++ net-2.6.19/net/ipv4/sysctl_net_ipv4.c 2006-09-19 13:37:04.000000000 -0700 @@ -129,6 +129,12 @@ return ret; } +static int __init tcp_congestion_default(void) +{ + return tcp_set_default_congestion_control(CONFIG_DEFAULT_TCP_CONG); +} + +late_initcall(tcp_congestion_default); ctl_table ipv4_table[] = { { --- net-2.6.19.orig/net/ipv4/tcp_cong.c 2006-09-19 13:11:09.000000000 -0700 +++ net-2.6.19/net/ipv4/tcp_cong.c 2006-09-19 13:20:45.000000000 -0700 @@ -48,7 +48,7 @@ printk(KERN_NOTICE "TCP %s already registered\n", ca->name); ret = -EEXIST; } else { - list_add_rcu(&ca->list, &tcp_cong_list); + list_add_tail_rcu(&ca->list, &tcp_cong_list); printk(KERN_INFO "TCP %s registered\n", ca->name); } spin_unlock(&tcp_cong_list_lock); - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html