mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 22:21:21 +00:00
tcp: new helper tcp_rack_skb_timeout
Create and export a new helper tcp_rack_skb_timeout and move tcp_is_rack to prepare the final RTO change. Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Soheil Hassas Yeganeh <soheil@google.com> Reviewed-by: Priyaranjan Jha <priyarjha@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c77d62ffae
commit
b8fef65a8a
3 changed files with 14 additions and 7 deletions
|
@ -47,6 +47,12 @@ u32 tcp_rack_reo_wnd(const struct sock *sk)
|
|||
tp->srtt_us >> 3);
|
||||
}
|
||||
|
||||
s32 tcp_rack_skb_timeout(struct tcp_sock *tp, struct sk_buff *skb, u32 reo_wnd)
|
||||
{
|
||||
return tp->rack.rtt_us + reo_wnd -
|
||||
tcp_stamp_us_delta(tp->tcp_mstamp, skb->skb_mstamp);
|
||||
}
|
||||
|
||||
/* RACK loss detection (IETF draft draft-ietf-tcpm-rack-01):
|
||||
*
|
||||
* Marks a packet lost, if some packet sent later has been (s)acked.
|
||||
|
@ -92,8 +98,7 @@ static void tcp_rack_detect_loss(struct sock *sk, u32 *reo_timeout)
|
|||
/* A packet is lost if it has not been s/acked beyond
|
||||
* the recent RTT plus the reordering window.
|
||||
*/
|
||||
remaining = tp->rack.rtt_us + reo_wnd -
|
||||
tcp_stamp_us_delta(tp->tcp_mstamp, skb->skb_mstamp);
|
||||
remaining = tcp_rack_skb_timeout(tp, skb, reo_wnd);
|
||||
if (remaining <= 0) {
|
||||
tcp_mark_skb_lost(sk, skb);
|
||||
list_del_init(&skb->tcp_tsorted_anchor);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue