]> git.baikalelectronics.ru Git - kernel.git/commit
[TCP]: Reordered ACK's (old) SACKs not included to discarded MIB
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Wed, 26 Sep 2007 05:46:50 +0000 (22:46 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:52:38 +0000 (16:52 -0700)
commit09a7a3d53b625fbc2163dbd9d1bc6efd2a87ac36
treee1d94c916f4f8da5ba86dd2f855efc9b546839ef
parent7c61e57807611f045951c20dd6117615fe4f508f
[TCP]: Reordered ACK's (old) SACKs not included to discarded MIB

In case of ACK reordering, the SACK block might be valid in it's
time but is already obsoleted since we've received another kind
of confirmation about arrival of the segments through snd_una
advancement of an earlier packet.

I didn't bother to build distinguishing of valid and invalid
SACK blocks but simply made reordered SACK blocks that are too
old always not counted regardless of their "real" validity which
could be determined by using the ack field of the reordered
packet (won't be significant IMHO).

DSACKs can very well be considered useful even in this situation,
so won't do any of this for them.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c