tcp: make congestion control more robust against reordering
This change enables congestion control to update cwnd based on not only packet cumulatively acked but also packets delivered out-of-order. This makes congestion control robust against packet reordering because it may raise cwnd as long as packets are being delivered once reordering has been detected (i.e., it only cares the amount of packets delivered, not the ordering among them). Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Signed-off-by: Eric Dumazet <ncardwell@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
3ebd887105
commit
2d14a4def4
|
@ -3660,7 +3660,7 @@ static int tcp_ack(struct sock *sk, const struct sk_buff *skb, int flag)
|
|||
tcp_cwnd_reduction(sk, acked_sacked, flag);
|
||||
} else if (tcp_may_raise_cwnd(sk, flag)) {
|
||||
/* Advance cwnd if state allows */
|
||||
tcp_cong_avoid(sk, ack, acked);
|
||||
tcp_cong_avoid(sk, ack, acked_sacked);
|
||||
}
|
||||
|
||||
if ((flag & FLAG_FORWARD_PROGRESS) || !(flag & FLAG_NOT_DUP)) {
|
||||
|
|
Loading…
Reference in New Issue