mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-02 08:34:20 +08:00
[TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c
In addition, removed inline. 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
9ead9a1d38
commit
bdaae17da8
@ -341,6 +341,7 @@ extern struct sock * tcp_check_req(struct sock *sk,struct sk_buff *skb,
|
||||
extern int tcp_child_process(struct sock *parent,
|
||||
struct sock *child,
|
||||
struct sk_buff *skb);
|
||||
extern int tcp_use_frto(const struct sock *sk);
|
||||
extern void tcp_enter_frto(struct sock *sk);
|
||||
extern void tcp_enter_loss(struct sock *sk, int how);
|
||||
extern void tcp_clear_retrans(struct tcp_sock *tp);
|
||||
@ -1033,19 +1034,6 @@ static inline int tcp_paws_check(const struct tcp_options_received *rx_opt, int
|
||||
|
||||
#define TCP_CHECK_TIMER(sk) do { } while (0)
|
||||
|
||||
static inline int tcp_use_frto(const struct sock *sk)
|
||||
{
|
||||
const struct tcp_sock *tp = tcp_sk(sk);
|
||||
|
||||
/* F-RTO must be activated in sysctl and there must be some
|
||||
* unsent new data, and the advertised window should allow
|
||||
* sending it.
|
||||
*/
|
||||
return (sysctl_tcp_frto && sk->sk_send_head &&
|
||||
!after(TCP_SKB_CB(sk->sk_send_head)->end_seq,
|
||||
tp->snd_una + tp->snd_wnd));
|
||||
}
|
||||
|
||||
static inline void tcp_mib_init(void)
|
||||
{
|
||||
/* See RFC 2012 */
|
||||
|
@ -1236,6 +1236,19 @@ tcp_sacktag_write_queue(struct sock *sk, struct sk_buff *ack_skb, u32 prior_snd_
|
||||
return flag;
|
||||
}
|
||||
|
||||
int tcp_use_frto(const struct sock *sk)
|
||||
{
|
||||
const struct tcp_sock *tp = tcp_sk(sk);
|
||||
|
||||
/* F-RTO must be activated in sysctl and there must be some
|
||||
* unsent new data, and the advertised window should allow
|
||||
* sending it.
|
||||
*/
|
||||
return (sysctl_tcp_frto && sk->sk_send_head &&
|
||||
!after(TCP_SKB_CB(sk->sk_send_head)->end_seq,
|
||||
tp->snd_una + tp->snd_wnd));
|
||||
}
|
||||
|
||||
/* RTO occurred, but do not yet enter loss state. Instead, transmit two new
|
||||
* segments to see from the next ACKs whether any data was really missing.
|
||||
* If the RTO was spurious, new ACKs should arrive.
|
||||
|
Loading…
Reference in New Issue
Block a user