[TCP] vegas: Fix a bug in disabling slow start by gamma parameter.
authorXiaoliang (David) Wei <davidwei79@gmail.com>
Tue, 30 Oct 2007 03:24:36 +0000 (20:24 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Tue, 30 Oct 2007 05:37:25 +0000 (22:37 -0700)
commitc940587bf603b4295a7f5e9ff8fed123368a1ef7
treeeb442c1632039667cdad235cdcc29cb5ca2976fc
parent5c81833c2f74304142be6dde5688bf444316da21
[TCP] vegas: Fix a bug in disabling slow start by gamma parameter.

TCP Vegas implementation has a bug in the process of disabling
slow-start with gamma parameter. The bug may lead to extreme
unfairness in the presence of early packet loss. See details in:
http://www.cs.caltech.edu/~weixl/technical/ns2linux/known_linux/index.html#vegas

Switch the order of "if (tp->snd_cwnd <= tp->snd_ssthresh)" statement
and "if (diff > gamma)" statement to eliminate the problem.

Signed-off-by: Xiaoliang (David) Wei <davidwei79@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_vegas.c