tcp: Discard segments that ack data not yet sent
authorJohn Dykstra <john.dykstra1@gmail.com>
Mon, 23 Mar 2009 04:49:57 +0000 (21:49 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 23 Mar 2009 04:49:57 +0000 (21:49 -0700)
commit96e0bf4b5193d0d97d139f99e2dd128763d55521
tree5e5a69c68072e605759a9cf9152caf0d0c6d1b7e
parent763dccdc8e9775b247c3ea86ae8f5f592c12024e
tcp: Discard segments that ack data not yet sent

Discard incoming packets whose ack field iincludes data not yet sent.
This is consistent with RFC 793 Section 3.9.

Change tcp_ack() to distinguish between too-small and too-large ack
field values.  Keep segments with too-large ack fields out of the fast
path, and change slow path to discard them.

Reported-by: Oliver Zheng <mailinglists+netdev@oliverzheng.com>
Signed-off-by: John Dykstra <john.dykstra1@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c