]> git.karo-electronics.de Git - karo-tx-linux.git/commit
tcp: Prevent overzealous packetization by SWS logic.
authorAlexey Kuznetsov <kuznet@ms2.inr.ac.ru>
Wed, 15 Sep 2010 17:27:52 +0000 (10:27 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 27 Sep 2010 00:21:20 +0000 (17:21 -0700)
commit36f2140e8f572790a71899e9db7ff6f2986987cd
tree0e7d612cecf9b2a01a9966f708742e66e3c5845f
parentf99150007ae1ff46aefbd5c96cf22af0cdc34563
tcp: Prevent overzealous packetization by SWS logic.

[ Upstream commit 01f83d69844d307be2aa6fea88b0e8fe5cbdb2f4 ]

If peer uses tiny MSS (say, 75 bytes) and similarly tiny advertised
window, the SWS logic will packetize to half the MSS unnecessarily.

This causes problems with some embedded devices.

However for large MSS devices we do want to half-MSS packetize
otherwise we never get enough packets into the pipe for things
like fast retransmit and recovery to work.

Be careful also to handle the case where MSS > window, otherwise
we'll never send until the probe timer.

Reported-by: ツ Leandro Melo de Sales <leandroal@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
include/net/tcp.h