tcp_cubic: limit delayed_ack ratio to prevent divide error
authorstephen hemminger <shemminger@vyatta.com>
Wed, 4 May 2011 10:04:56 +0000 (10:04 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 8 May 2011 22:51:57 +0000 (15:51 -0700)
commitb9f47a3aaeabdce3b42829bbb27765fa340f76ba
tree93e4f34b502b8ab2f345d1357ab4ed3dfa5c5911
parent9c412942a0bb19ba18f7bd939d42eff1e132a901
tcp_cubic: limit delayed_ack ratio to prevent divide error

TCP Cubic keeps a metric that estimates the amount of delayed
acknowledgements to use in adjusting the window. If an abnormally
large number of packets are acknowledged at once, then the update
could wrap and reach zero. This kind of ACK could only
happen when there was a large window and huge number of
ACK's were lost.

This patch limits the value of delayed ack ratio. The choice of 32
is just a conservative value since normally it should be range of
1 to 4 packets.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_cubic.c