[TCP]: Add TCP BIC congestion control module.
authorStephen Hemminger <shemminger@osdl.org>
Thu, 23 Jun 2005 19:23:25 +0000 (12:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 23 Jun 2005 19:23:25 +0000 (12:23 -0700)
TCP BIC congestion control reworked to use the new congestion control
infrastructure. This version is more up to date than the BIC
code in 2.6.12; it incorporates enhancements from BICTCP 1.1,
to handle low latency links.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/Kconfig
net/ipv4/Makefile
net/ipv4/tcp_bic.c [new file with mode: 0644]

index 567b03b..712ebac 100644 (file)
@@ -433,5 +433,26 @@ config IP_TCPDIAG
 config IP_TCPDIAG_IPV6
        def_bool (IP_TCPDIAG=y && IPV6=y) || (IP_TCPDIAG=m && IPV6)
 
+# TCP Reno is builtin (required as fallback)
+menu "TCP congestion control"
+       depends on INET
+
+config TCP_CONG_BIC
+       tristate "Binary Increase Congestion (BIC) control"
+       depends on INET
+       default y
+       ---help---
+       BIC-TCP is a sender-side only change that ensures a linear RTT
+       fairness under large windows while offering both scalability and
+       bounded TCP-friendliness. The protocol combines two schemes
+       called additive increase and binary search increase. When the
+       congestion window is large, additive increase with a large
+       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/
+
+endmenu
+
 source "net/ipv4/ipvs/Kconfig"
 
index 89c0b4c..1d1cac5 100644 (file)
@@ -31,6 +31,7 @@ obj-$(CONFIG_NETFILTER)       += netfilter/
 obj-$(CONFIG_IP_VS) += ipvs/
 obj-$(CONFIG_IP_TCPDIAG) += tcp_diag.o 
 obj-$(CONFIG_IP_ROUTE_MULTIPATH_CACHED) += multipath.o
+obj-$(CONFIG_TCP_CONG_BIC) += tcp_bic.o
 
 obj-$(CONFIG_XFRM) += xfrm4_policy.o xfrm4_state.o xfrm4_input.o \
                      xfrm4_output.o
Simple merge