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>
---
net/mptcp/mib.c | 1 +
net/mptcp/mib.h | 1 +
net/mptcp/protocol.c | 1 +
3 files changed, 3 insertions(+)
diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c
index 6003e47c770a7c..eb4645a9c5ac07 100644
--- a/net/mptcp/mib.c
+++ b/net/mptcp/mib.c
@@ -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("MPTcpWinProbe", MPTCP_MIB_MPTCPWINPROBE),
};
/* mptcp_mib_alloc - allocate percpu mib counters
diff --git a/net/mptcp/mib.h b/net/mptcp/mib.h
index 309bac6fea3252..f83a113700522e 100644
--- a/net/mptcp/mib.h
+++ b/net/mptcp/mib.h
@@ -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_MPTCPWINPROBE, /* MPTCP-level zero window probe */
__MPTCP_MIB_MAX
};
diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c
index a7fa69cf79f106..7f2690f8d92756 100644
--- a/net/mptcp/protocol.c
+++ b/net/mptcp/protocol.c
@@ -1395,6 +1395,7 @@ static int mptcp_sendmsg_frag(struct sock *sk, struct sock *ssk,
mpext->dsn64);
if (zero_window_probe) {
+ MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_MPTCPWINPROBE);
mptcp_subflow_ctx(ssk)->rel_write_seq += copy;
mpext->frozen = 1;
if (READ_ONCE(msk->csum_enabled))
--
2.51.0
Hi Paolo,
On 22/10/2025 09:39, Paolo Abeni wrote:
> 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>
> ---
> net/mptcp/mib.c | 1 +
> net/mptcp/mib.h | 1 +
> net/mptcp/protocol.c | 1 +
> 3 files changed, 3 insertions(+)
>
> diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c
> index 6003e47c770a7c..eb4645a9c5ac07 100644
> --- a/net/mptcp/mib.c
> +++ b/net/mptcp/mib.c
> @@ -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("MPTcpWinProbe", MPTCP_MIB_MPTCPWINPROBE),
Detail: I just noticed that after having applied the patch: Do we need
to double the 'MPTCP' keyword here? The full MIB counter name is:
MPTcpExtMPTcpWinProbe
Maybe just WinProbe is enough? → MPTcpExtWinProbe
Or the second MPTCP using capital letters, similar to "MPTCPRetrans"?
(I can fix that directly in the tree.)
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
On 10/23/25 6:26 PM, Matthieu Baerts wrote:
> On 22/10/2025 09:39, Paolo Abeni wrote:
>> 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>
>> ---
>> net/mptcp/mib.c | 1 +
>> net/mptcp/mib.h | 1 +
>> net/mptcp/protocol.c | 1 +
>> 3 files changed, 3 insertions(+)
>>
>> diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c
>> index 6003e47c770a7c..eb4645a9c5ac07 100644
>> --- a/net/mptcp/mib.c
>> +++ b/net/mptcp/mib.c
>> @@ -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("MPTcpWinProbe", MPTCP_MIB_MPTCPWINPROBE),
>
> Detail: I just noticed that after having applied the patch: Do we need
> to double the 'MPTCP' keyword here? The full MIB counter name is:
>
> MPTcpExtMPTcpWinProbe
>
> Maybe just WinProbe is enough? → MPTcpExtWinProbe
I'm sorry for the late reply. Yes WinProbe -> MPTcpExtWinProbe is the
correct/intended name, if you could fix that in the tree would be great,
thanks!
Paolo
Hi Paolo,
On 24/10/2025 09:30, Paolo Abeni wrote:
> On 10/23/25 6:26 PM, Matthieu Baerts wrote:
>> On 22/10/2025 09:39, Paolo Abeni wrote:
>>> 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>
>>> ---
>>> net/mptcp/mib.c | 1 +
>>> net/mptcp/mib.h | 1 +
>>> net/mptcp/protocol.c | 1 +
>>> 3 files changed, 3 insertions(+)
>>>
>>> diff --git a/net/mptcp/mib.c b/net/mptcp/mib.c
>>> index 6003e47c770a7c..eb4645a9c5ac07 100644
>>> --- a/net/mptcp/mib.c
>>> +++ b/net/mptcp/mib.c
>>> @@ -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("MPTcpWinProbe", MPTCP_MIB_MPTCPWINPROBE),
>>
>> Detail: I just noticed that after having applied the patch: Do we need
>> to double the 'MPTCP' keyword here? The full MIB counter name is:
>>
>> MPTcpExtMPTcpWinProbe
>>
>> Maybe just WinProbe is enough? → MPTcpExtWinProbe
>
> I'm sorry for the late reply. Yes WinProbe -> MPTcpExtWinProbe is the
> correct/intended name, if you could fix that in the tree would be great,
> thanks!
Thanks! Just did! I also renamed the enum
MPTCP_MIB_MPTCPWINPROBE → MPTCP_MIB_WINPROBE:
New patches for t/upstream-net and t/upstream:
- 9525948cb5cc: Squash to "mptcp: zero window probe mib"
- Results: f6c0967d41d1..628a66ff3d17 (export-net)
- Results: 8416614a1e27..6354d0b32825 (export)
Tests are now in progress:
- export-net:
https://github.com/multipath-tcp/mptcp_net-next/commit/60ce52cf453b5182b993d2420d01422355ebbd67/checks
- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/a76c4725014b6c51385d301f1027a7891714a6bb/checks
Cheers,
Matt
--
Sponsored by the NGI0 Core fund.
© 2016 - 2026 Red Hat, Inc.