[TCP]: Maintain highest_sack accurately to the highest skb
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Thu, 20 Sep 2007 18:28:05 +0000 (11:28 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 10 Oct 2007 23:52:08 +0000 (16:52 -0700)
commit0dde7b5404a3d52dcd9ce66d46197f6c3ca97dda
treee2f6baf2552d5b844763d09d7430010183be80d6
parent1a09404a2338163f181d170c7abdc2242b6c6f03
[TCP]: Maintain highest_sack accurately to the highest skb

In general, it should not be necessary to call tcp_fragment for
already SACKed skbs, but it's better to be safe than sorry. And
indeed, it can be called from sacktag when a DSACK arrives or
some ACK (with SACK) reordering occurs (sacktag could be made
to avoid the call in the latter case though I'm not sure if it's
worth of the trouble and added complexity to cover such marginal
case).

The collapse case has return for SACKED_ACKED case earlier, so
just WARN_ON if internal inconsistency is detected for some
reason.

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