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 validates them from mptcp_join.sh.
Patch 1 adds seven counters (MD5SigReset, MPJoinSynAckNoMPJoin,
MPJoinAckNoMPJoin, MPJoinAckNoCtx, MPJoinNoIdFound, DssReset,
MPJoinNotEstablished) and increments them in mib.c/mib.h, subflow.c and
protocol.c.
Patch 2 adds named env-var expectations for each counter: the
JOIN-related ones in chk_join_nr() and the two reset ones in
chk_rst_nr(), both on fixed namespaces. It also adds one test inside
signal_address_tests that triggers MPJoinSynAckNoMPJoin from the
existing ns1/ns2 setup.
v4 (this version):
patch 1: add MPJoinNoIdFound for an MP_JOIN that carries a valid token
but for which the path manager returns no local id; it
reaches the same MPTCP_RST_EMPTCP that MPJoinNoTokenFound
only counts the no-token half of (Matt).
patch 2: move the MPJoin* checks into chk_join_nr() with fixed
namespaces, leaving only MD5SigReset and DssReset in
chk_rst_nr() (Matt); rename the env vars (join_* / rst_md5sig
/ rst_dss); the new test uses mptcp_lib_wait_local_port_listen()
and asserts with chk_join_nr().
v3: https://lore.kernel.org/all/20260512103331.1934343-1-shardul.b@mpiricsoftware.com/
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: check per-event MPTCP_RST_EMPTCP counters
net/mptcp/mib.c | 7 ++
net/mptcp/mib.h | 7 ++
net/mptcp/protocol.c | 1 +
net/mptcp/subflow.c | 10 ++
.../testing/selftests/net/mptcp/mptcp_join.sh | 93 +++++++++++++++++++
5 files changed, 118 insertions(+)
--
2.34.1