Skip to content

Commit

Permalink
selftests: mptcp: add a test for mptcp_diag_dump_one
Browse files Browse the repository at this point in the history
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: #524
Signed-off-by: Gang Yan <[email protected]>
Reviewed-by: Matthieu Baerts (NGI0) <[email protected]>
  • Loading branch information
Gang Yan authored and matttbe committed Feb 24, 2025
1 parent bbb963f commit 01e692a
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tools/testing/selftests/net/mptcp/diag.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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}"
Expand Down Expand Up @@ -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"
Expand Down

0 comments on commit 01e692a

Please sign in to comment.