diff options
| -rw-r--r-- | net/ipv4/tcp_input.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index b7d02c5dd6da..311c30f73ee4 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
| @@ -2836,7 +2836,7 @@ static void tcp_mtup_probe_failed(struct sock *sk) | |||
| 2836 | icsk->icsk_mtup.probe_size = 0; | 2836 | icsk->icsk_mtup.probe_size = 0; |
| 2837 | } | 2837 | } |
| 2838 | 2838 | ||
| 2839 | static void tcp_mtup_probe_success(struct sock *sk, struct sk_buff *skb) | 2839 | static void tcp_mtup_probe_success(struct sock *sk) |
| 2840 | { | 2840 | { |
| 2841 | struct tcp_sock *tp = tcp_sk(sk); | 2841 | struct tcp_sock *tp = tcp_sk(sk); |
| 2842 | struct inet_connection_sock *icsk = inet_csk(sk); | 2842 | struct inet_connection_sock *icsk = inet_csk(sk); |
| @@ -3219,12 +3219,6 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets, | |||
| 3219 | acked_pcount = tcp_skb_pcount(skb); | 3219 | acked_pcount = tcp_skb_pcount(skb); |
| 3220 | } | 3220 | } |
| 3221 | 3221 | ||
| 3222 | /* MTU probing checks */ | ||
| 3223 | if (fully_acked && icsk->icsk_mtup.probe_size && | ||
| 3224 | !after(tp->mtu_probe.probe_seq_end, scb->end_seq)) { | ||
| 3225 | tcp_mtup_probe_success(sk, skb); | ||
| 3226 | } | ||
| 3227 | |||
| 3228 | if (sacked & TCPCB_RETRANS) { | 3222 | if (sacked & TCPCB_RETRANS) { |
| 3229 | if (sacked & TCPCB_SACKED_RETRANS) | 3223 | if (sacked & TCPCB_SACKED_RETRANS) |
| 3230 | tp->retrans_out -= acked_pcount; | 3224 | tp->retrans_out -= acked_pcount; |
| @@ -3287,6 +3281,11 @@ static int tcp_clean_rtx_queue(struct sock *sk, int prior_fackets, | |||
| 3287 | const struct tcp_congestion_ops *ca_ops | 3281 | const struct tcp_congestion_ops *ca_ops |
| 3288 | = inet_csk(sk)->icsk_ca_ops; | 3282 | = inet_csk(sk)->icsk_ca_ops; |
| 3289 | 3283 | ||
| 3284 | if (unlikely(icsk->icsk_mtup.probe_size && | ||
| 3285 | !after(tp->mtu_probe.probe_seq_end, tp->snd_una))) { | ||
| 3286 | tcp_mtup_probe_success(sk); | ||
| 3287 | } | ||
| 3288 | |||
| 3290 | tcp_ack_update_rtt(sk, flag, seq_rtt); | 3289 | tcp_ack_update_rtt(sk, flag, seq_rtt); |
| 3291 | tcp_rearm_rto(sk); | 3290 | tcp_rearm_rto(sk); |
| 3292 | 3291 | ||
