opengnsys_ipxe/src/net
Michael Brown 68613047f0 [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>
2010-07-21 00:00:38 +01:00
..
80211 [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
infiniband [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00
tcp [http] Pass through unknown interface method calls 2010-06-22 19:33:39 +01:00
udp [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00
aoe.c [retry] Add timer_init() wrapper function 2010-06-22 14:30:20 +01:00
arp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
cachedhcp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
dhcpopts.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
dhcppkt.c [refcnt] Add ref_init() wrapper function 2010-06-22 14:26:40 +01:00
eapol.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
eth_slow.c [lacp] Add simple LACP implementation 2010-05-10 16:34:17 +01:00
ethernet.c [lacp] Add simple LACP implementation 2010-05-10 16:34:17 +01:00
fakedhcp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
icmp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
icmpv6.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
infiniband.c [libc] Enable automated extraction of error usage reports 2010-05-31 03:11:57 +01:00
iobpad.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
ipv4.c [retry] Use start_timer_fixed() instead of direct timeout manipulation 2010-06-22 14:32:49 +01:00
ipv6.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
mii.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
ndp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
netdev_settings.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
netdevice.c [netdevice] Provide a test mechanism for discarding packets at random 2010-07-20 20:58:10 +01:00
nullnet.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
rarp.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
retry.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
tcp.c [tcp] Handle out-of-order received packets 2010-07-21 00:00:38 +01:00
tcpip.c [build] Rename gPXE to iPXE 2010-04-19 23:43:39 +01:00
tls.c [tls] Handle multiple handshake records 2010-06-23 01:01:32 +01:00
udp.c [interface] Convert all data-xfer interfaces to generic interfaces 2010-06-22 15:50:31 +01:00