BicTCP Implementation Bug

From: Yee-Ting Li
Date: Mon Feb 21 2005 - 08:48:51 EST


Hi,

We have discovered a serious implementation bug in BicTCP on the Linux kernels. Note that because BicTCP is ON by default, this affects all users of kernel versions 2.6.8 and above.

For further details please see: http://www.hamilton.ie/net/bic-fix/Linux%20BicTCP.pdf

and the patch is:

Index: linux-2.6.10/include/net/tcp.h
===================================================================
--- linux-2.6.10.orig/include/net/tcp.h Fri Dec 24 21:34:00 2004
+++ linux-2.6.10/include/net/tcp.h Thu Feb 17 14:13:14 2005
@@ -1280,8 +1280,7 @@
if (sysctl_tcp_bic_fast_convergence &&
tp->snd_cwnd < tp->bictcp.last_max_cwnd)
tp->bictcp.last_max_cwnd
- = (tp->snd_cwnd * (2*BICTCP_1_OVER_BETA-1))
- / (BICTCP_1_OVER_BETA/2);
+ = tp->snd_cwnd - ( tp->snd_cwnd / (BICTCP_1_OVER_BETA*2) );
else
tp->bictcp.last_max_cwnd = tp->snd_cwnd;

-
To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html