aboutsummaryrefslogtreecommitdiffstats
path: root/net/dccp/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/timer.c')
-rw-r--r--net/dccp/timer.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/net/dccp/timer.c b/net/dccp/timer.c
index bda0af639ae4..7b3f16e29a97 100644
--- a/net/dccp/timer.c
+++ b/net/dccp/timer.c
@@ -15,6 +15,11 @@
15 15
16#include "dccp.h" 16#include "dccp.h"
17 17
18/* sysctl variables governing numbers of retransmission attempts */
19int sysctl_dccp_request_retries __read_mostly = TCP_SYN_RETRIES;
20int sysctl_dccp_retries1 __read_mostly = TCP_RETR1;
21int sysctl_dccp_retries2 __read_mostly = TCP_RETR2;
22
18static void dccp_write_timer(unsigned long data); 23static void dccp_write_timer(unsigned long data);
19static void dccp_keepalive_timer(unsigned long data); 24static void dccp_keepalive_timer(unsigned long data);
20static void dccp_delack_timer(unsigned long data); 25static void dccp_delack_timer(unsigned long data);
@@ -44,11 +49,10 @@ static int dccp_write_timeout(struct sock *sk)
44 if (sk->sk_state == DCCP_REQUESTING || sk->sk_state == DCCP_PARTOPEN) { 49 if (sk->sk_state == DCCP_REQUESTING || sk->sk_state == DCCP_PARTOPEN) {
45 if (icsk->icsk_retransmits != 0) 50 if (icsk->icsk_retransmits != 0)
46 dst_negative_advice(&sk->sk_dst_cache); 51 dst_negative_advice(&sk->sk_dst_cache);
47 retry_until = icsk->icsk_syn_retries ? : 52 retry_until = icsk->icsk_syn_retries ?
48 /* FIXME! */ 3 /* FIXME! sysctl_tcp_syn_retries */; 53 : sysctl_dccp_request_retries;
49 } else { 54 } else {
50 if (icsk->icsk_retransmits >= 55 if (icsk->icsk_retransmits >= sysctl_dccp_retries1) {
51 /* FIXME! sysctl_tcp_retries1 */ 5 /* FIXME! */) {
52 /* NOTE. draft-ietf-tcpimpl-pmtud-01.txt requires pmtu 56 /* NOTE. draft-ietf-tcpimpl-pmtud-01.txt requires pmtu
53 black hole detection. :-( 57 black hole detection. :-(
54 58
@@ -72,7 +76,7 @@ static int dccp_write_timeout(struct sock *sk)
72 dst_negative_advice(&sk->sk_dst_cache); 76 dst_negative_advice(&sk->sk_dst_cache);
73 } 77 }
74 78
75 retry_until = /* FIXME! */ 15 /* FIXME! sysctl_tcp_retries2 */; 79 retry_until = sysctl_dccp_retries2;
76 /* 80 /*
77 * FIXME: see tcp_write_timout and tcp_out_of_resources 81 * FIXME: see tcp_write_timout and tcp_out_of_resources
78 */ 82 */
@@ -196,7 +200,7 @@ backoff:
196 icsk->icsk_rto = min(icsk->icsk_rto << 1, DCCP_RTO_MAX); 200 icsk->icsk_rto = min(icsk->icsk_rto << 1, DCCP_RTO_MAX);
197 inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, icsk->icsk_rto, 201 inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, icsk->icsk_rto,
198 DCCP_RTO_MAX); 202 DCCP_RTO_MAX);
199 if (icsk->icsk_retransmits > 3 /* FIXME: sysctl_dccp_retries1 */) 203 if (icsk->icsk_retransmits > sysctl_dccp_retries1)
200 __sk_dst_reset(sk); 204 __sk_dst_reset(sk);
201out:; 205out:;
202} 206}