Subject: [PATCH] tcp: mark BIC as experimental

From: Stephen Hemminger <[email-masked]>
Date: Thu, 30 Oct 2008 08:36:41 -0700

Change the configuration defaults to mark BIC as experimental.
BIC is too aggressive and was replaced by CUBIC. Debian was picking
BIC in their default config (should be fixed by now), but the configuration
documentation did not make it explicit that this was a bad idea.

Also update the URLs in the configuration documentation to current
locations.

Signed-off-by: Stephen Hemminger <[email-masked]>

--- a/net/ipv4/Kconfig	2008-10-29 14:58:40.000000000 -0700
+++ b/net/ipv4/Kconfig	2008-10-30 08:18:08.000000000 -0700
@@ -437,7 +437,8 @@ if TCP_CONG_ADVANCED
 
 config TCP_CONG_BIC
 	tristate "Binary Increase Congestion (BIC) control"
-	default m
+	depends on EXPERIMENTAL
+	default n
 	---help---
 	BIC-TCP is a sender-side only change that ensures a linear RTT
 	fairness under large windows while offering both scalability and
@@ -447,15 +448,24 @@ config TCP_CONG_BIC
 	increment ensures linear RTT fairness as well as good
 	scalability. Under small congestion windows, binary search
 	increase provides TCP friendliness.
-	See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/
+
+	BIC growth function is too aggressive and should not be used
+	except for testing and comparision, use CUBIC instead.
+
+	For further details see:
+           http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC
 
 config TCP_CONG_CUBIC
 	tristate "CUBIC TCP"
 	default y
 	---help---
-	This is version 2.0 of BIC-TCP which uses a cubic growth function
-	among other techniques.
-	See http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf
+	CUBIC TCP is an sender-side only modification to the congestion control
+	algothrim improved versions on the growth function of BIC and has an
+	improved slow start algoritm, called HyStart.
+
+	For further details see:
+           http://netsrv.csc.ncsu.edu/twiki/bin/view/Main/BIC
+
 
 config TCP_CONG_WESTWOOD
 	tristate "TCP Westwood+"
@@ -581,9 +591,6 @@ choice
 	  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
 
@@ -610,7 +617,6 @@ config TCP_CONG_CUBIC
 
 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