Commit ba240016 authored by Gang Yan's avatar Gang Yan Committed by Jakub Kicinski
Browse files

selftests: mptcp: add a test for mptcp_diag_dump_one

This patch introduces a new 'chk_diag' test in diag.sh. It retrieves
the token for a specified MPTCP socket (msk) using the 'ss' command and
then accesses the 'mptcp_diag_dump_one' in kernel via ./mptcp_diag
to verify if the correct token is returned.

Link: https://github.com/multipath-tcp/mptcp_net-next/issues/524


Signed-off-by: default avatarGang Yan <yangang@kylinos.cn>
Reviewed-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20250228-net-next-mptcp-coverage-small-opti-v1-2-f933c4275676@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 00f5e338
Loading
Loading
Loading
Loading
+27 −0
Original line number Diff line number Diff line
@@ -200,6 +200,32 @@ chk_msk_cestab()
		 "${expected}" "${msg}" ""
}

chk_dump_one()
{
	local ss_token
	local token
	local msg

	ss_token="$(ss -inmHMN $ns | grep 'token:' |\
		    head -n 1 |\
		    sed 's/.*token:\([0-9a-f]*\).*/\1/')"

	token="$(ip netns exec $ns ./mptcp_diag -t $ss_token |\
		 awk -F':[ \t]+' '/^token/ {print $2}')"

	msg="....chk dump_one"

	mptcp_lib_print_title "$msg"
	if [ -n "$ss_token" ] && [ "$ss_token" = "$token" ]; then
		mptcp_lib_pr_ok
		mptcp_lib_result_pass "${msg}"
	else
		mptcp_lib_pr_fail "expected $ss_token found $token"
		mptcp_lib_result_fail "${msg}"
		ret=${KSFT_FAIL}
	fi
}

msk_info_get_value()
{
	local port="${1}"
@@ -290,6 +316,7 @@ chk_msk_remote_key_nr 2 "....chk remote_key"
chk_msk_fallback_nr 0 "....chk no fallback"
chk_msk_inuse 2
chk_msk_cestab 2
chk_dump_one
flush_pids

chk_msk_inuse 0 "2->0"