tcp: keepalive cleanups
Subsystems (3)
PATCH 1/1 tcp: keepalive cleanups
Introduce keepalive_probes(tp) helper, and use it, like keepalive_time_when(tp) and keepalive_intvl_when(tp)
Signed-off-by Eric Dumazet <[email protected]>
--- include/net/tcp.h | 5 +++++ net/ipv4/tcp.c | 6 +++--- net/ipv4/tcp_timer.c | 3 +-- 3 files changed, 9 insertions(+), 5 deletions(-)
include/net/tcp.h +5 -0
@@ -1007,6 +1007,11 @@ static inline int keepalive_time_when(const struct tcp_sock *tp)return tp->keepalive_time ? : sysctl_tcp_keepalive_time; } +static inline int keepalive_probes (const struct tcp_sock *tp) +{ +return tp->keepalive_probes ? : sysctl_tcp_keepalive_probes; +} +static inline int tcp_fin_time (const struct sock *sk) {int fin_timeout =tcp_sk (sk)->linger2 ? : sysctl_tcp_fin_timeout;
net/ipv4/tcp.c +3 -3
@@ -2336,13 +2336,13 @@ static int do_tcp_getsockopt(struct sock *sk, int level, val = !!(tp->nonagle&TCP_NAGLE_CORK );break ;case TCP_KEEPIDLE : - val = (tp->keepalive_time ? : sysctl_tcp_keepalive_time) /HZ ; + val =keepalive_time_when (tp) /HZ ;break ;case TCP_KEEPINTVL : - val = (tp->keepalive_intvl ? : sysctl_tcp_keepalive_intvl) /HZ ; + val =keepalive_intvl_when (tp) /HZ ;break ;case TCP_KEEPCNT : - val = tp->keepalive_probes ? : sysctl_tcp_keepalive_probes; + val =keepalive_probes (tp);break ;case TCP_SYNCNT : val = icsk->icsk_syn_retries ? : sysctl_tcp_syn_retries;
net/ipv4/tcp_timer.c +1 -2
@@ -499,8 +499,7 @@ static void tcp_keepalive_timer (unsigned long data) elapsed = tcp_time_stamp - tp->rcv_tstamp;if (elapsed >=keepalive_time_when (tp)) { -if ((!tp->keepalive_probes && icsk->icsk_probes_out >= sysctl_tcp_keepalive_probes) || - (tp->keepalive_probes && icsk->icsk_probes_out >= tp->keepalive_probes)) { +if (icsk->icsk_probes_out >=keepalive_probes (tp)) {tcp_send_active_reset (sk,GFP_ATOMIC );tcp_write_err (sk); goto out;
From: Eric Dumazet <[email protected]>
Date: Thu, 27 Aug 2009 14:26:32 +0200
Quoted 4 lines
Introduce
keepalive_probes(tp)helper, and use it, likekeepalive_time_when(tp)andkeepalive_intvl_when(tp)Signed-off-by Eric Dumazet <[email protected]>
Applied.