diff options
author | Michael Brown | 2008-06-05 01:28:17 +0200 |
---|---|---|
committer | Michael Brown | 2008-06-05 01:28:17 +0200 |
commit | 1a68d3fef3e48b67448404df11a6dacbb34e6053 (patch) | |
tree | 0f134db916aaa7fb6959c2a0d4290f59ea54b687 /src/core/vsprintf.c | |
parent | [embed] Add missing register_image() to image/embedded.c (diff) | |
download | ipxe-1a68d3fef3e48b67448404df11a6dacbb34e6053.tar.gz ipxe-1a68d3fef3e48b67448404df11a6dacbb34e6053.tar.xz ipxe-1a68d3fef3e48b67448404df11a6dacbb34e6053.zip |
[TCP] Avoid shrinking TCP window
Maintain state for the advertised window length, and only ever increase
it (instead of calculating it afresh on each transmit). This avoids
triggering "treason uncloaked" messages on Linux peers.
Respond to zero-length TCP keepalives (i.e. empty data packets
transmitted outside the window). Even if the peer wouldn't otherwise
expect an ACK (because its packet consumed no sequence space), force an
ACK if it was outside the window.
We don't yet generate TCP keepalives. It could be done, but it's unclear
what benefit this would have. (Linux, for example, doesn't start sending
keepalives until the connection has been idle for two hours.)
Diffstat (limited to 'src/core/vsprintf.c')
0 files changed, 0 insertions, 0 deletions