diff options
| author | Ilpo Järvinen <[email protected]> | 2007-02-22 06:59:58 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2007-04-26 05:23:02 +0000 |
| commit | bdaae17da81db79b9aa4dfbf43305cfeef64f6a8 (patch) | |
| tree | 5dce126ae84073646c15417c30bd1b6b13660784 /net/ipv4/tcp_input.c | |
| parent | [TCP] FRTO: Separated response from FRTO detection algorithm (diff) | |
| download | kernel-bdaae17da81db79b9aa4dfbf43305cfeef64f6a8.tar.gz kernel-bdaae17da81db79b9aa4dfbf43305cfeef64f6a8.zip | |
[TCP] FRTO: Moved tcp_use_frto from tcp.h to tcp_input.c
In addition, removed inline.
Signed-off-by: Ilpo Järvinen <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_input.c')
| -rw-r--r-- | net/ipv4/tcp_input.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index c5be3d0465f5..fe96e176d85a 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c @@ -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. |
