Subject: Re: TCP/IP stack interpretation of acceptable packet

From: Andi Kleen <[email-masked]>
Date: Sat, 28 Feb 2009 16:50:46 +0100

Oliver Zheng <[email-masked]> writes:

> I was investigating behaviour of the TCP/IP stacks and noticed that
> Linux has a peculiarity. When a packet is received with the correct
> sequence number but incorrect acknowledgement number (in my tests, it
> was higher than the correct acknowledgement number), the stack accepts
> the packet as a valid packet and passes the data up to the application
> (I do not know whether the ack information is accepted). According to
> the list of tests described here in the TCP RFC 793 [1], accepting a
> packet requires the packet to satisfy both sequence and
> acknowledgement number tests; otherwise, the entirety of the packet
> (its data and its acknowledgement information confirming reception of
> previous data) should be dropped. Is this intentional, a bug, or am I
> misinterpreting something? A nice flow chart that explains this
> procedure is here [2].

Sounds like a bug to me, when the ack is outside the window.

-Andi
-- 
[email-masked] -- Speaking for myself only.