diff options
| author | Matthieu Baerts (NGI0) <matttbe@kernel.org> | 2026-02-11 20:06:23 +0100 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2026-02-19 16:25:19 +0100 |
| commit | 21e9d434cf823a2c60a67021732918df78613df5 (patch) | |
| tree | dc3d142ef2180b9596a4a9df149da8421ef9b776 /tools | |
| parent | 498ab7b590859be81df303af80f449dc8a59c3ec (diff) | |
| download | linux-21e9d434cf823a2c60a67021732918df78613df5.tar.gz linux-21e9d434cf823a2c60a67021732918df78613df5.tar.bz2 linux-21e9d434cf823a2c60a67021732918df78613df5.zip | |
selftests: mptcp: check subflow errors in close events
commit 2ef9e3a3845d0a20b62b01f5b731debd0364688d upstream.
This validates the previous commit: subflow closed events should contain
an error field when a subflow got closed with an error, e.g. reset or
timeout.
For this test, the chk_evt_nr helper has been extended to check
attributes in the matched events.
In this test, the 2 subflow closed events should have an error.
The 'Fixes' tag here below is the same as the one from the previous
commit: this patch here is not fixing anything wrong in the selftests,
but it validates the previous fix for an issue introduced by this commit
ID.
Fixes: 15cc10453398 ("mptcp: deliver ssk errors to msk")
Cc: stable@vger.kernel.org
Reviewed-by: Geliang Tang <geliang@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://patch.msgid.link/20260127-net-mptcp-dup-nl-events-v1-4-7f71e1bc4feb@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Conflicts in mptcp_join.sh, because in this version, commit
20ccc7c5f7a3 ("selftests: mptcp: join: validate event numbers") has
been backported with adaptations to display results correctly, see
commit 5dc9170eee96 ("selftests: mptcp: join: validate event numbers")
for more details. The same type of adaptations had to be made here as
well. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools')
| -rwxr-xr-x | tools/testing/selftests/net/mptcp/mptcp_join.sh | 25 |
1 files changed, 22 insertions, 3 deletions
diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index f5ae51dcf811..7d4df90d6281 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -3212,21 +3212,28 @@ userspace_pm_add_sf() sleep 1 } -# $1: ns ; $2: event type ; $3: count +# $1: ns ; $2: event type ; $3: count ; [ $4: attr ; $5: attr count ] chk_evt_nr() { local ns=${1} local evt_name="${2}" local exp="${3}" + local attr="${4}" + local attr_exp="${5}" local evts="${evts_ns1}" local evt="${!evt_name}" + local attr_name local count + if [ -n "${attr}" ]; then + attr_name=", ${attr}: ${attr_exp}" + fi + evt_name="${evt_name:16}" # without MPTCP_LIB_EVENT_ [ "${ns}" == "ns2" ] && evts="${evts_ns2}" - printf "%-${nr_blank}s %s" " " "event ${ns} ${evt_name} (${exp})" + printf "%-${nr_blank}s %s" " " "event ${ns} ${evt_name} (${exp}${attr_name})" count=$(grep -cw "type:${evt}" "${evts}") if [ "${count}" != "${exp}" ]; then @@ -3234,6 +3241,18 @@ chk_evt_nr() fail_test dump_stats cat "${evts}" + return + elif [ -z "${attr}" ]; then + echo "[ ok ]" + return + fi + + count=$(grep -w "type:${evt}" "${evts}" | grep -c ",${attr}:") + if [ "${count}" != "${attr_exp}" ]; then + echo "[fail] got ${count} event attributes, expected ${attr_exp}" + fail_test + dump_stats + grep -w "type:${evt}" "${evts}" else echo "[ ok ]" fi @@ -3375,7 +3394,7 @@ userspace_tests() chk_subflow_nr "" "after reject" 1 userspace_pm_add_sf $ns2 10.0.1.2 0 wait_event ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 - chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 + chk_evt_nr ns2 MPTCP_LIB_EVENT_SUB_CLOSED 2 error 2 fi kill_wait "${tests_pid}" kill_events_pids |
