[TCP]: Correct reordering detection change (no FRTO case)
authorIlpo Järvinen <ilpo.jarvinen@helsinki.fi>
Sat, 24 Feb 2007 00:22:06 +0000 (16:22 -0800)
committerDavid S. Miller <davem@sunset.davemloft.net>
Thu, 26 Apr 2007 05:23:22 +0000 (22:23 -0700)
The reordering detection must work also when FRTO has not been
used at all which was the original intention of mine, just the
expression of the idea was flawed.

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

index bb3f234668b3f9cce17c8e00ed5a45269e73b07c..f6ba07f0d81688ed81ed962bd1425f5548d962fe 100644 (file)
@@ -1240,7 +1240,7 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_
        tp->left_out = tp->sacked_out + tp->lost_out;
 
        if ((reord < tp->fackets_out) && icsk->icsk_ca_state != TCP_CA_Loss &&
-           (tp->frto_highmark && after(tp->snd_una, tp->frto_highmark)))
+           (!tp->frto_highmark || after(tp->snd_una, tp->frto_highmark)))
                tcp_update_reordering(sk, ((tp->fackets_out + 1) - reord), 0);
 
 #if FASTRETRANS_DEBUG > 0