iPXE - Open Source Boot Firmware

[tcp] Handle out-of-order received packets
authorMichael Brown <mcb30@ipxe.org>
Tue, 20 Jul 2010 22:17:30 +0000 (23:17 +0100)
committerMichael Brown <mcb30@ipxe.org>
Tue, 20 Jul 2010 23:00:38 +0000 (00:00 +0100)
commit68613047f0f33f7afff1a3373f0ef40a2ba67acf
treebe90c3b8d4819fe1a7b7fb95f81d6d95844c6b14
parent9f2e76ea614a77e8fd314065f2019bb4d5c8fe60
[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>
src/include/ipxe/tcp.h
src/net/tcp.c