]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
mptcp: zero window probe mib
authorPaolo Abeni <pabeni@redhat.com>
Tue, 28 Oct 2025 08:16:55 +0000 (09:16 +0100)
committerJakub Kicinski <kuba@kernel.org>
Thu, 30 Oct 2025 00:44:28 +0000 (17:44 -0700)
Explicitly account for MPTCP-level zero windows probe, to catch
hopefully earlier issues alike the one addressed by the previous
patch.

Reviewed-by: Mat Martineau <martineau@kernel.org>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Tested-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20251028-net-mptcp-send-timeout-v1-4-38ffff5a9ec8@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/mib.c
net/mptcp/mib.h
net/mptcp/protocol.c

index 6003e47c770a7c58a8c20e1709cf1ef19d2636d8..171643815076512fd4cdd1cfc5310d56e7544e7c 100644 (file)
@@ -85,6 +85,7 @@ static const struct snmp_mib mptcp_snmp_list[] = {
        SNMP_MIB_ITEM("DssFallback", MPTCP_MIB_DSSFALLBACK),
        SNMP_MIB_ITEM("SimultConnectFallback", MPTCP_MIB_SIMULTCONNFALLBACK),
        SNMP_MIB_ITEM("FallbackFailed", MPTCP_MIB_FALLBACKFAILED),
+       SNMP_MIB_ITEM("WinProbe", MPTCP_MIB_WINPROBE),
 };
 
 /* mptcp_mib_alloc - allocate percpu mib counters
index 309bac6fea3252ae395bcfb159917cdccc35277a..a1d3e9369fbb5941577d1a91ff55725270df5ba8 100644 (file)
@@ -88,6 +88,7 @@ enum linux_mptcp_mib_field {
        MPTCP_MIB_DSSFALLBACK,          /* Bad or missing DSS */
        MPTCP_MIB_SIMULTCONNFALLBACK,   /* Simultaneous connect */
        MPTCP_MIB_FALLBACKFAILED,       /* Can't fallback due to msk status */
+       MPTCP_MIB_WINPROBE,             /* MPTCP-level zero window probe */
        __MPTCP_MIB_MAX
 };
 
index 5d8714adae6c374abd73d8ba3aae4470ad7706ac..2d6b8de35c449374fec6dc935a459af0ef55b59a 100644 (file)
@@ -1355,6 +1355,7 @@ alloc_skb:
                 mpext->dsn64);
 
        if (zero_window_probe) {
+               MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_WINPROBE);
                mptcp_subflow_ctx(ssk)->rel_write_seq += copy;
                mpext->frozen = 1;
                if (READ_ONCE(msk->csum_enabled))