diff options
author | Octavian Purdila <opurdila@ixiacom.com> | 2010-01-17 19:09:39 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-01-17 19:09:39 -0800 |
commit | 72659ecce68588b74f6c46862c2b4cec137d7a5a (patch) | |
tree | 791c5900e2a2b219774904cef7fab90fa462b81c /net/ipv4/tcp_timer.c | |
parent | 0ec00f0392b807d57a2281576a96552d7694b6bb (diff) | |
download | op-kernel-dev-72659ecce68588b74f6c46862c2b4cec137d7a5a.zip op-kernel-dev-72659ecce68588b74f6c46862c2b4cec137d7a5a.tar.gz |
tcp: account SYN-ACK timeouts & retransmissions
Currently we don't increment SYN-ACK timeouts & retransmissions
although we do increment the same stats for SYN. We seem to have lost
the SYN-ACK accounting with the introduction of tcp_syn_recv_timer
(commit 2248761e in the netdev-vger-cvs tree).
This patch fixes this issue. In the process we also rename the v4/v6
syn/ack retransmit functions for clarity. We also add a new
request_socket operations (syn_ack_timeout) so we can keep code in
inet_connection_sock.c protocol agnostic.
Signed-off-by: Octavian Purdila <opurdila@ixiacom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
-rw-r--r-- | net/ipv4/tcp_timer.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index 8816a20..de7d1bf 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -474,6 +474,12 @@ static void tcp_synack_timer(struct sock *sk) TCP_TIMEOUT_INIT, TCP_RTO_MAX); } +void tcp_syn_ack_timeout(struct sock *sk, struct request_sock *req) +{ + NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPTIMEOUTS); +} +EXPORT_SYMBOL(tcp_syn_ack_timeout); + void tcp_set_keepalive(struct sock *sk, int val) { if ((1 << sk->sk_state) & (TCPF_CLOSE | TCPF_LISTEN)) |