[PATCH] tcp: set congestion default through Kconfig (v2)

2006-09-19 Thread Stephen Hemminger
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/Kconfig2006-09-19 13:11:09.0 -0700
+++ net-2.6.19/net/ipv4/Kconfig 2006-09-19 13:20:45.0 -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.0 
-0700
+++ net-2.6.19/net/ipv4/sysctl_net_ipv4.c   2006-09-19 13:37:04.0 
-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.0 -0700
+++ net-2.6.19/net/ipv4/tcp_cong.c  2006-09-19 13:20:45.0 -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


Re: [PATCH] tcp: set congestion default through Kconfig (v2)

2006-09-19 Thread David Miller
From: Stephen Hemminger [EMAIL PROTECTED]
Date: Tue, 19 Sep 2006 13:41:32 -0700

 Bert's attempt was noble
 It showed your desire for the truth
 A simple path existed
 
 Signed-off-by: Stephen Hemminger [EMAIL PROTECTED]

Applied, but...

net/ipv4/Kconfig:607:warning: defaults for choice values not supported

Hmmm...
-
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


Re: [PATCH] tcp: set congestion default through Kconfig (v2)

2006-09-19 Thread bert hubert
On Tue, Sep 19, 2006 at 02:20:07PM -0700, David Miller wrote:

  Bert's attempt was noble
  It showed your desire for the truth

It was also crap :-)

 Applied, but...
 net/ipv4/Kconfig:607:warning: defaults for choice values not supported

It does appear to do the right thing in all cases I throw against it, but
this warning is sure to generate noise.

It probably means CONFIG_BIC is both available in the menu, and set as a
separate option, and that this does not set the menu to CONFIG_BIC. This is
not a big deal however as the menu is not shown at all whenever line 607
applies.


-- 
http://www.PowerDNS.com  Open source, database driven DNS Software 
http://netherlabs.nl  Open and Closed source services
-
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