]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit4a9c41a250fb369804726f5f2783b5d9cb7357d4
tree93e4f34b502b8ab2f345d1357ab4ed3dfa5c5911
parent21c8bb53bff618d031a0aa36901c1a35ecb3bffa
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