diff options
| author | Yuchung Cheng <[email protected]> | 2016-09-21 23:16:15 +0000 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2016-09-22 07:33:01 +0000 |
| commit | 7e32b44361abc77fbc01f2b97b045c405b2583e5 (patch) | |
| tree | db26faa9681668af9678e478ec9aaed6a1b58c01 /net/ipv4/tcp_timer.c | |
| parent | tcp: fix under-accounting retransmit SNMP counters (diff) | |
| download | kernel-7e32b44361abc77fbc01f2b97b045c405b2583e5.tar.gz kernel-7e32b44361abc77fbc01f2b97b045c405b2583e5.zip | |
tcp: properly account Fast Open SYN-ACK retrans
Since the TFO socket is accepted right off SYN-data, the socket
owner can call getsockopt(TCP_INFO) to collect ongoing SYN-ACK
retransmission or timeout stats (i.e., tcpi_total_retrans,
tcpi_retransmits). Currently those stats are only updated
upon handshake completes. This patch fixes it.
Signed-off-by: Yuchung Cheng <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: Neal Cardwell <[email protected]>
Signed-off-by: Soheil Hassas Yeganeh <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'net/ipv4/tcp_timer.c')
| -rw-r--r-- | net/ipv4/tcp_timer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/tcp_timer.c b/net/ipv4/tcp_timer.c index d84930b2dd95..f712b411f6ed 100644 --- a/net/ipv4/tcp_timer.c +++ b/net/ipv4/tcp_timer.c @@ -384,6 +384,7 @@ static void tcp_fastopen_synack_timer(struct sock *sk) */ inet_rtx_syn_ack(sk, req); req->num_timeout++; + icsk->icsk_retransmits++; inet_csk_reset_xmit_timer(sk, ICSK_TIME_RETRANS, TCP_TIMEOUT_INIT << req->num_timeout, TCP_RTO_MAX); } |
