]> git.ipfire.org Git - thirdparty/ipxe.git/commit
[tcp] Update received sequence number before delivering received data
authorMichael Brown <mcb30@ipxe.org>
Fri, 21 May 2010 23:45:49 +0000 (00:45 +0100)
committerMichael Brown <mcb30@ipxe.org>
Fri, 21 May 2010 23:45:49 +0000 (00:45 +0100)
commit9ff822969300a086ad13036c019aa981336017ed
tree8867fbe73897ebc79944810434d2926d78314932
parent13dfe2cf51508601ddd605733dfd56ed15a10e60
[tcp] Update received sequence number before delivering received data

iPXE currently updates the TCP sequence number after delivering the
data to the application via xfer_deliver_iob().  If the application
responds to the received data by transmitting more data, this would
result in a stale ACK number appearing in the transmitted packet,
which potentially causes retransmissions and also gives the
undesirable appearance of violating causality (by sending a response
to a message that we claim not to have yet received).

Reported-by: Guo-Fu Tseng <cooldavid@cooldavid.org>
Signed-off-by: Michael Brown <mcb30@ipxe.org>
src/net/tcp.c