]> err.no Git - linux-2.6/commit
[TCP]: Fix reord detection due to snd_una covered holes
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sun, 11 Nov 2007 05:22:18 +0000 (21:22 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sun, 11 Nov 2007 05:22:18 +0000 (21:22 -0800)
commitc7caf8d3ed7a6617aa0a3083815c439bd952c45c
tree54651b17cea03bbae8f7ea89f0e884ad369d9003
parent8dd71c5d28cd88d4400e7f474986e799e39aff37
[TCP]: Fix reord detection due to snd_una covered holes

Fixes subtle bug like the one with fastpath_cnt_hint happening
due to the way the GSO and hints interact. Because hints are not
reset when just a GSOed skb is partially ACKed, there's no
guarantee that the relevant part of the write queue is going to
be processed in sacktag at all (skbs below snd_una) because
fastpath hint can fast forward the entrypoint.

This was also on the way of future reductions in sacktag's skb
processing. Also future cleanups in sacktag can be made after
this (in 2.6.25).

This may make reordering update in tcp_try_undo_partial
redundant but I'm not too sure so I left it there.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/tcp_input.c