diff options
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/tcp_input.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index 4c10d9cad20f..4866e75e98e0 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
@@ -1247,8 +1247,13 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_ | |||
1247 | NET_INC_STATS_BH(LINUX_MIB_TCPDSACKIGNOREDNOUNDO); | 1247 | NET_INC_STATS_BH(LINUX_MIB_TCPDSACKIGNOREDNOUNDO); |
1248 | else | 1248 | else |
1249 | NET_INC_STATS_BH(LINUX_MIB_TCPDSACKIGNOREDOLD); | 1249 | NET_INC_STATS_BH(LINUX_MIB_TCPDSACKIGNOREDOLD); |
1250 | } else | 1250 | } else { |
1251 | /* Don't count olds caused by ACK reordering */ | ||
1252 | if ((TCP_SKB_CB(ack_skb)->ack_seq != tp->snd_una) && | ||
1253 | !after(end_seq, tp->snd_una)) | ||
1254 | continue; | ||
1251 | NET_INC_STATS_BH(LINUX_MIB_TCPSACKDISCARD); | 1255 | NET_INC_STATS_BH(LINUX_MIB_TCPSACKDISCARD); |
1256 | } | ||
1252 | continue; | 1257 | continue; |
1253 | } | 1258 | } |
1254 | 1259 | ||