aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/net/ipv4/tcp_plb.c
diff options
context:
space:
mode:
authorMubashir Adnan Qureshi <mubashirq@google.com>2022-10-26 13:51:14 +0000
committerDavid S. Miller <davem@davemloft.net>2022-10-28 10:47:42 +0100
commit29c1c44646aec5d5134f2365259a84becc1ee7d3 (patch)
treeeb2cc7ced4d5711d1a6c36441585198172ea8957 /net/ipv4/tcp_plb.c
parenttcp: add support for PLB in DCTCP (diff)
downloadwireguard-linux-29c1c44646aec5d5134f2365259a84becc1ee7d3.tar.xz
wireguard-linux-29c1c44646aec5d5134f2365259a84becc1ee7d3.zip
tcp: add u32 counter in tcp_sock and an SNMP counter for PLB
A u32 counter is added to tcp_sock for counting the number of PLB triggered rehashes for a TCP connection. An SNMP counter is also added to count overall PLB triggered rehash events for a host. These counters are hooked up to PLB implementation for DCTCP. TCP_NLA_REHASH is added to SCM_TIMESTAMPING_OPT_STATS that reports the rehash attempts triggered due to PLB or timeouts. This gives a historical view of sustained congestion or timeouts experienced by the TCP connection. Signed-off-by: Mubashir Adnan Qureshi <mubashirq@google.com> Signed-off-by: Yuchung Cheng <ycheng@google.com> Signed-off-by: Neal Cardwell <ncardwell@google.com> Reviewed-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--net/ipv4/tcp_plb.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/ipv4/tcp_plb.c b/net/ipv4/tcp_plb.c
index f4ced370acad..bb1a08fda113 100644
--- a/net/ipv4/tcp_plb.c
+++ b/net/ipv4/tcp_plb.c
@@ -79,6 +79,8 @@ void tcp_plb_check_rehash(struct sock *sk, struct tcp_plb_state *plb)
sk_rethink_txhash(sk);
plb->consec_cong_rounds = 0;
+ tcp_sk(sk)->plb_rehash++;
+ NET_INC_STATS(sock_net(sk), LINUX_MIB_TCPPLBREHASH);
}
EXPORT_SYMBOL_GPL(tcp_plb_check_rehash);