forked from Minki/linux
[TCP]: SACK fastpath did override adjusted fackets_out
Do same adjustment to SACK fastpath counters provided that they're valid. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
61cbc2fca6
commit
d041005116
@ -699,6 +699,14 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss
|
|||||||
tp->fackets_out -= diff;
|
tp->fackets_out -= diff;
|
||||||
if ((int)tp->fackets_out < 0)
|
if ((int)tp->fackets_out < 0)
|
||||||
tp->fackets_out = 0;
|
tp->fackets_out = 0;
|
||||||
|
/* SACK fastpath might overwrite it unless dealt with */
|
||||||
|
if (tp->fastpath_skb_hint != NULL &&
|
||||||
|
after(TCP_SKB_CB(tp->fastpath_skb_hint)->seq,
|
||||||
|
TCP_SKB_CB(skb)->seq)) {
|
||||||
|
tp->fastpath_cnt_hint -= diff;
|
||||||
|
if ((int)tp->fastpath_cnt_hint < 0)
|
||||||
|
tp->fastpath_cnt_hint = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user