Skip to content

Commit

Permalink
[TCP]: Prevent reordering adjustments during FRTO
Browse files Browse the repository at this point in the history
To be honest, I'm not too sure how the reord stuff works in the
first place but this seems necessary.

When FRTO has been active, the one and only retransmission could
be unnecessary but the state and sending order might not be what
the sacktag code expects it to be (to work correctly).

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Ilpo Järvinen authored and David S. Miller committed Apr 26, 2007
1 parent 66e93e4 commit 288035f
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion net/ipv4/tcp_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -1224,7 +1224,8 @@ 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)
if ((reord < tp->fackets_out) && icsk->icsk_ca_state != TCP_CA_Loss &&
(tp->frto_highmark && after(tp->snd_una, tp->frto_highmark)))
tcp_update_reordering(sk, ((tp->fackets_out + 1) - reord), 0);

#if FASTRETRANS_DEBUG > 0
Expand Down

0 comments on commit 288035f

Please sign in to comment.