[PATCH v3 0/2] mptcp: per-event MIB counters for MPTCP_RST_EMPTCP

Shardul Bankar posted 2 patches 1 week, 6 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/multipath-tcp/mptcp_net-next tags/patchew/20260512103331.1934343-1-shardul.b@mpiricsoftware.com
net/mptcp/mib.c                               |  6 ++
net/mptcp/mib.h                               |  6 ++
net/mptcp/protocol.c                          |  1 +
net/mptcp/subflow.c                           |  9 +++
.../testing/selftests/net/mptcp/mptcp_join.sh | 72 +++++++++++++++++++
5 files changed, 94 insertions(+)
[PATCH v3 0/2] mptcp: per-event MIB counters for MPTCP_RST_EMPTCP
Posted by Shardul Bankar 1 week, 6 days ago
MPTCP_RST_EMPTCP (reset reason 1) is currently used as a catch-all for
several distinct conditions across subflow setup, authentication, and
data-path validation.  This series adds per-event MIB counters at each
of those use sites and extends mptcp_join.sh's chk_rst_nr() to validate
them.

Patch 1 adds six new counters (MD5SigReset, MPJoinSynAckNoMPJoin,
MPJoinAckNoMPJoin, MPJoinAckNoCtx, DssReset, MPJoinNotEstablished) and
increments them in mib.c/mib.h, subflow.c and protocol.c.

Patch 2 extends chk_rst_nr() with named env-var expectations for each
new counter (silent on success, gated on availability) and adds one
test inside signal_address_tests that triggers MPJoinSynAckNoMPJoin
from within the existing ns1/ns2 setup.

v3 (this version):
  patch 1: move new SNMP_MIB_ITEM entries and enum values next to
           their semantic neighbors instead of appending them in a
           single block after MPRst*.  No functional change.
  patch 2: drop the third-netns approach for triggering
           MPJoinSynAckNoMPJoin.  ns1 now signals an address that
           is already bound on ns2 (10.0.2.2) with a TCP-only
           mptcp_connect listener on ns2; the client's MP_JOIN
           routes locally to that listener and the SYN/ACK arrives
           without MP_JOIN.  The test moves into
           signal_address_tests.  speed=slow dropped (not needed
           here), and the local-and-assign that tripped shellcheck
           SC2155 is gone with the old test.
v2: https://lore.kernel.org/all/20260509183335.969018-1-shardul.b@mpiricsoftware.com/
v1: https://lore.kernel.org/all/20260421095646.3741956-1-shardul.b@mpiricsoftware.com/

Shardul Bankar (2):
  mptcp: add per-event MIB counters for MPTCP_RST_EMPTCP resets
  selftests: mptcp: extend chk_rst_nr to validate per-event RST counters

 net/mptcp/mib.c                               |  6 ++
 net/mptcp/mib.h                               |  6 ++
 net/mptcp/protocol.c                          |  1 +
 net/mptcp/subflow.c                           |  9 +++
 .../testing/selftests/net/mptcp/mptcp_join.sh | 72 +++++++++++++++++++
 5 files changed, 94 insertions(+)


base-commit: 52f68f13d42a1c3752de7a776b6f873988f48401
-- 
2.34.1
Re: [PATCH v3 0/2] mptcp: per-event MIB counters for MPTCP_RST_EMPTCP
Posted by MPTCP CI 1 week, 6 days ago
Hi Shardul,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal (except selftest_mptcp_join): Success! ✅
- KVM Validation: normal (only selftest_mptcp_join): Success! ✅
- KVM Validation: debug (except selftest_mptcp_join): Success! ✅
- KVM Validation: debug (only selftest_mptcp_join): Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Unstable: 1 failed test(s): bpftest_test_progs_mptcp ⚠️ 
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/25729977608

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/4634f0a9b732
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=1093458


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)