[tcp] Handle out-of-order received packets
authorMichael Brown <mcb30@ipxe.org>
Tue, 20 Jul 2010 22:17:30 +0000 (23:17 +0100)
committerMarty Connor <mdc@etherboot.org>
Sun, 1 Aug 2010 20:13:35 +0000 (16:13 -0400)
commit62b461e43ee39b976a6a4d6b21861b624394e241
tree54a7e812fd0c2e8b786fee65b1530803faacd993
parent7c274bab1b4e753419646b3dcd5867a4baede85d
[tcp] Handle out-of-order received packets

Maintain a queue of received packets, so that lost packets need not
result in retransmission of the entire TCP window.

Increase the TCP window to 8kB, in order that we can potentially
transmit enough duplicate ACKs to trigger Fast Retransmission at the
sender.

Using a 10MB HTTP download in qemu-kvm with an artificial drop rate of
1 in 64 packets, this reduces the download time from around 26s to
around 4s.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
Signed-off-by: Marty Connor <mdc@etherboot.org>
src/include/gpxe/tcp.h
src/net/tcp.c