[tcp] Do not shrink window when discarding received packets
authorMichael Brown <mcb30@ipxe.org>
Thu, 25 Jun 2015 09:07:21 +0000 (10:07 +0100)
committerMichael Brown <mcb30@ipxe.org>
Thu, 25 Jun 2015 09:20:48 +0000 (10:20 +0100)
commitc117b25e0b7de2fd116f86dd6f105447dcc3d125
treedf54358efd522ab81ffef7dc29e0cf808cfbc529
parente46154fbb4cbbf8ec5d93b0d81915b220fd4c7a3
[tcp] Do not shrink window when discarding received packets

We currently shrink the TCP window permanently if we are ever forced
(by a low-memory condition) to discard a previously received TCP
packet.  This behaviour was intended to reduce the number of
retransmissions in a lossy network, since lost packets might
potentially result in the entire window contents being retransmitted.

Since commit e0fc8fe ("[tcp] Implement support for TCP Selective
Acknowledgements (SACK)") the cost of lost packets has been reduced by
around one order of magnitude, and the reduction in the window size
(which affects the maximum throughput) is now the more significant
cost.

Remove the code which reduces the TCP maximum window size when a
received packet is discarded.

Reported-by: Wissam Shoukair <wissams@mellanox.com>
Tested-by: Wissam Shoukair <wissams@mellanox.com>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/net/tcp.c