diff options
Diffstat (limited to 'net/ipv4/tcp_input.c')
-rw-r--r-- | net/ipv4/tcp_input.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 25a89eaa669d..a16b01b537ba 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1284,7 +1284,10 @@ static bool tcp_shifted_skb(struct sock *sk, struct sk_buff *skb, | |||
1284 | tp->lost_cnt_hint -= tcp_skb_pcount(prev); | 1284 | tp->lost_cnt_hint -= tcp_skb_pcount(prev); |
1285 | } | 1285 | } |
1286 | 1286 | ||
1287 | TCP_SKB_CB(skb)->tcp_flags |= TCP_SKB_CB(prev)->tcp_flags; | 1287 | TCP_SKB_CB(prev)->tcp_flags |= TCP_SKB_CB(skb)->tcp_flags; |
1288 | if (TCP_SKB_CB(skb)->tcp_flags & TCPHDR_FIN) | ||
1289 | TCP_SKB_CB(prev)->end_seq++; | ||
1290 | |||
1288 | if (skb == tcp_highest_sack(sk)) | 1291 | if (skb == tcp_highest_sack(sk)) |
1289 | tcp_advance_highest_sack(sk, skb); | 1292 | tcp_advance_highest_sack(sk, skb); |
1290 | 1293 | ||
@@ -3288,7 +3291,7 @@ static void tcp_process_tlp_ack(struct sock *sk, u32 ack, int flag) | |||
3288 | tcp_init_cwnd_reduction(sk, true); | 3291 | tcp_init_cwnd_reduction(sk, true); |
3289 | tcp_set_ca_state(sk, TCP_CA_CWR); | 3292 | tcp_set_ca_state(sk, TCP_CA_CWR); |
3290 | tcp_end_cwnd_reduction(sk); | 3293 | tcp_end_cwnd_reduction(sk); |
3291 | tcp_set_ca_state(sk, TCP_CA_Open); | 3294 | tcp_try_keep_open(sk); |
3292 | NET_INC_STATS_BH(sock_net(sk), | 3295 | NET_INC_STATS_BH(sock_net(sk), |
3293 | LINUX_MIB_TCPLOSSPROBERECOVERY); | 3296 | LINUX_MIB_TCPLOSSPROBERECOVERY); |
3294 | } | 3297 | } |
@@ -5709,6 +5712,8 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb, | |||
5709 | } else | 5712 | } else |
5710 | tcp_init_metrics(sk); | 5713 | tcp_init_metrics(sk); |
5711 | 5714 | ||
5715 | tcp_update_pacing_rate(sk); | ||
5716 | |||
5712 | /* Prevent spurious tcp_cwnd_restart() on first data packet */ | 5717 | /* Prevent spurious tcp_cwnd_restart() on first data packet */ |
5713 | tp->lsndtime = tcp_time_stamp; | 5718 | tp->lsndtime = tcp_time_stamp; |
5714 | 5719 | ||