From nobody Sun Feb 8 11:27:35 2026 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8A1D714F90 for ; Tue, 5 Dec 2023 07:03:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="vqdzGXZz" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759795; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=qDuh/kD9ZVLJ4fs2iSO2L6o7AhmT+uaeGHcFWCtkQoU=; b=vqdzGXZzjoQHQDPsBGnUflVX9wIB8qUMZVlh5rdk0Lp+bS38OeBd23MYaHWKvL4nGLRgC8 yMsw/hTjamqYTR6liuGMMGdZvoo8LnMJmlnPT2SbFpnapvCrZvhkKCpfC3O7iXV+66Jjwu wqCGABuqig0EUal7sVhlfYJHWoDSq+I= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 01/33] selftests: mptcp: add mptcp_lib_evts_* helpers Date: Tue, 5 Dec 2023 15:00:48 +0800 Message-Id: <0fa2a8e5db28ba25ca60f672649cbf91ad7cc603.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. This patch unifies "pm_nl_ctl events" related code in userspace_pm.sh and mptcp_join.sh into four helpers: mptcp_lib_evts_init(), _start(), _kill() and _remove(). Define them in mptcp_lib.sh and use these new helpers in both scripts. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 58 +++++++---------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 63 +++++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 31 ++------- 3 files changed, 90 insertions(+), 62 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 6d81e6e1de52..b586bc404668 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -34,10 +34,6 @@ ip_mptcp=3D0 check_invert=3D0 validate_checksum=3D0 init=3D0 -evts_ns1=3D"" -evts_ns2=3D"" -evts_ns1_pid=3D0 -evts_ns2_pid=3D0 last_test_failed=3D0 last_test_skipped=3D0 last_test_ignored=3D1 @@ -183,8 +179,7 @@ init() { cin=3D$(mktemp) cinsent=3D$(mktemp) cout=3D$(mktemp) - evts_ns1=3D$(mktemp) - evts_ns2=3D$(mktemp) + mptcp_lib_evts_init =20 trap cleanup EXIT =20 @@ -197,7 +192,7 @@ cleanup() rm -f "$cin" "$cout" "$sinfail" rm -f "$sin" "$sout" "$cinsent" "$cinfail" rm -f "$tmpfile" - rm -rf $evts_ns1 $evts_ns2 + mptcp_lib_evts_remove cleanup_partial mptcp_lib_cleanup } @@ -462,12 +457,7 @@ reset_with_events() { reset "${1}" || return 1 =20 - :> "$evts_ns1" - :> "$evts_ns2" - ip netns exec $ns1 ./pm_nl_ctl events >> "$evts_ns1" 2>&1 & - evts_ns1_pid=3D$! - ip netns exec $ns2 ./pm_nl_ctl events >> "$evts_ns2" 2>&1 & - evts_ns2_pid=3D$! + mptcp_lib_evts_start "${ns1}" "${ns2}" } =20 reset_with_tcp_filter() @@ -637,12 +627,6 @@ wait_mpj() done } =20 -kill_events_pids() -{ - mptcp_lib_kill_wait $evts_ns1_pid - mptcp_lib_kill_wait $evts_ns2_pid -} - kill_tests_wait() { #shellcheck disable=3DSC2046 @@ -2918,9 +2902,9 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - verify_listener_events $evts_ns1 $LISTENER_CREATED $AF_INET 10.0.2.1 101= 00 - verify_listener_events $evts_ns1 $LISTENER_CLOSED $AF_INET 10.0.2.1 10100 - kill_events_pids + verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 = 10100 + verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 1= 0100 + mptcp_lib_evts_kill fi =20 # subflow and signal with port, remove @@ -3293,10 +3277,10 @@ fail_tests() # $1: ns ; $2: addr ; $3: id userspace_pm_add_addr() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") =20 ip netns exec $1 ./pm_nl_ctl ann $2 token $tk id $3 @@ -3306,11 +3290,11 @@ userspace_pm_add_addr() # $1: ns ; $2: id userspace_pm_rm_addr() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk local cnt =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") =20 cnt=3D$(rm_addr_count ${1}) @@ -3321,10 +3305,10 @@ userspace_pm_rm_addr() # $1: ns ; $2: addr ; $3: id userspace_pm_add_sf() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local tk da dp =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts tk=3D$(mptcp_lib_evts_get_info token "$evts") da=3D$(mptcp_lib_evts_get_info daddr4 "$evts") dp=3D$(mptcp_lib_evts_get_info dport "$evts") @@ -3337,13 +3321,13 @@ userspace_pm_add_sf() # $1: ns ; $2: addr $3: event type userspace_pm_rm_sf() { - local evts=3D$evts_ns1 + local evts=3D$server_evts local t=3D${3:-1} local ip local tk da dp sp local cnt =20 - [ "$1" =3D=3D "$ns2" ] && evts=3D$evts_ns2 + [ "$1" =3D=3D "$ns2" ] && evts=3D$client_evts [ -n "$(mptcp_lib_evts_get_info "saddr4" "$evts" $t)" ] && ip=3D4 [ -n "$(mptcp_lib_evts_get_info "saddr6" "$evts" $t)" ] && ip=3D6 tk=3D$(mptcp_lib_evts_get_info token "$evts") @@ -3457,7 +3441,7 @@ userspace_tests() chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3479,7 +3463,7 @@ userspace_tests() chk_rm_nr 1 1 chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3500,7 +3484,7 @@ userspace_tests() chk_join_nr 1 1 1 chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3524,7 +3508,7 @@ userspace_tests() chk_rst_nr 0 0 invert chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3550,7 +3534,7 @@ userspace_tests() chk_rst_nr 0 0 invert chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3579,7 +3563,7 @@ userspace_tests() chk_rm_nr 1 1 invert chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi =20 @@ -3608,7 +3592,7 @@ userspace_tests() chk_rm_nr 1 1 chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 - kill_events_pids + mptcp_lib_evts_kill wait $tests_pid fi } diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index a28b480e164b..a41da009962f 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -329,6 +329,69 @@ mptcp_lib_check_output() { fi } =20 +server_evts=3D"" +client_evts=3D"" +server_evts_pid=3D0 +client_evts_pid=3D0 + +# server_evts(_pid) and client_evts(_pid) are needed +# by mptcp_lib_evts_init, _start, _kill and _remove. +mptcp_lib_evts_init() { + : "${server_evts?}" + : "${client_evts?}" + + if [ -z "${server_evts}" ]; then + server_evts=3D$(mktemp) + fi + if [ -z "${client_evts}" ]; then + client_evts=3D$(mktemp) + fi +} + +# $1 ns1, $2 ns2 +mptcp_lib_evts_start() { + : "${server_evts:?}" + : "${client_evts:?}" + : "${server_evts_pid:?}" + : "${client_evts_pid:?}" + + local ns_1=3D"${1}" + local ns_2=3D"${2}" + + :>"$server_evts" + :>"$client_evts" + + if [ "${server_evts_pid}" -ne 0 ]; then + mptcp_lib_kill_wait "${server_evts_pid}" + fi + ip netns exec "${ns_1}" ./pm_nl_ctl events >> "${server_evts}" 2>&1 & + server_evts_pid=3D$! + + if [ "${client_evts_pid}" -ne 0 ]; then + mptcp_lib_kill_wait "${client_evts_pid}" + fi + ip netns exec "${ns_2}" ./pm_nl_ctl events >> "${client_evts}" 2>&1 & + client_evts_pid=3D$! +} + +mptcp_lib_evts_kill() { + : "${server_evts_pid:?}" + : "${client_evts_pid:?}" + + mptcp_lib_kill_wait "${server_evts_pid}" + mptcp_lib_kill_wait "${client_evts_pid}" + + server_evts_pid=3D0 + client_evts_pid=3D0 +} + +mptcp_lib_evts_remove() { + : "${server_evts:?}" + : "${client_evts:?}" + + rm -rf "${server_evts}" "${client_evts}" +} + mptcp_lib_cleanup() { : "${check_output_err:?}" =20 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index b2b132f61f1f..e78fcd3bff16 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -34,10 +34,6 @@ AF_INET=3D2 AF_INET6=3D10 =20 file=3D"" -server_evts=3D"" -client_evts=3D"" -server_evts_pid=3D0 -client_evts_pid=3D0 client4_pid=3D0 server4_pid=3D0 client6_pid=3D0 @@ -115,18 +111,19 @@ cleanup() =20 # Terminate the MPTCP connection and related processes local pid - for pid in $client4_pid $server4_pid $client6_pid $server6_pid\ - $server_evts_pid $client_evts_pid + for pid in $client4_pid $server4_pid $client6_pid $server6_pid do mptcp_lib_kill_wait $pid done + mptcp_lib_evts_kill =20 local netns for netns in "$ns1" "$ns2" ;do ip netns del "$netns" done =20 - rm -rf $file $client_evts $server_evts + rm -rf $file + mptcp_lib_evts_remove =20 mptcp_lib_cleanup _printf "Done\n" @@ -186,24 +183,8 @@ make_connection() =20 # Capture netlink events over the two network namespaces running # the MPTCP client and server - if [ -z "$client_evts" ]; then - client_evts=3D$(mktemp) - fi - :>"$client_evts" - if [ $client_evts_pid -ne 0 ]; then - mptcp_lib_kill_wait $client_evts_pid - fi - ip netns exec "$ns2" ./pm_nl_ctl events >> "$client_evts" 2>&1 & - client_evts_pid=3D$! - if [ -z "$server_evts" ]; then - server_evts=3D$(mktemp) - fi - :>"$server_evts" - if [ $server_evts_pid -ne 0 ]; then - mptcp_lib_kill_wait $server_evts_pid - fi - ip netns exec "$ns1" ./pm_nl_ctl events >> "$server_evts" 2>&1 & - server_evts_pid=3D$! + mptcp_lib_evts_init + mptcp_lib_evts_start "${ns1}" "${ns2}" sleep 0.5 =20 # Run the server --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-182.mta1.migadu.com (out-182.mta1.migadu.com [95.215.58.182]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1004E15481 for ; Tue, 5 Dec 2023 07:03:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Z5FlSQcP" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759796; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=s22ZMHsfzK3pgcJLxroE1V2rC5Ktlt048+vSmvOKulw=; b=Z5FlSQcPZyAK6YQ9E5JG01REE3wP+UJTUman3K1p8RzLqvXjhqUrlpqOrwUGZRjCC+aZ8N Q8TantOeguCbV0SHHQXUU8cD89EdLhczc3fLqY4ewjn521fOsKJMPOgDY54xbahQ08qhTL hXpqocIZrApgFAda+nO/S+kRTicvPuE= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 02/33] selftests: mptcp: userspace: capitalize test_name Date: Tue, 5 Dec 2023 15:00:49 +0800 Message-Id: <279f67e9ee4f4e1cd1adb46bf78143fb3ba0ddaf.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Most scripts use uppercase variable TEST_NAME, but lowercase one are used in userspace_pm.sh. To maintain consistency with other scripts, this patch renames variable test_name to TEST_NAME: test_name -> TEST_NAME in userspace_pm.sh Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index e78fcd3bff16..c9da970e5d24 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -54,7 +54,7 @@ sec=3D$(date +%s) rndh=3D$(printf %x "$sec")-$(mktemp -u XXXXXX) ns1=3D"ns1-$rndh" ns2=3D"ns2-$rndh" -test_name=3D"" +TEST_NAME=3D"" =20 _printf() { stdbuf -o0 -e0 printf "${@}" @@ -68,9 +68,9 @@ print_title() # $1: test name print_test() { - test_name=3D"${1}" + TEST_NAME=3D"${1}" =20 - _printf "%-63s" "${test_name}" + _printf "%-63s" "${TEST_NAME}" } =20 print_results() @@ -81,13 +81,13 @@ print_results() test_pass() { print_results " OK " - mptcp_lib_result_pass "${test_name}" + mptcp_lib_result_pass "${TEST_NAME}" } =20 test_skip() { print_results "SKIP" - mptcp_lib_result_skip "${test_name}" + mptcp_lib_result_skip "${TEST_NAME}" } =20 # $1: msg @@ -100,7 +100,7 @@ test_fail() _printf "\t%s\n" "${1}" fi =20 - mptcp_lib_result_fail "${test_name}" + mptcp_lib_result_fail "${TEST_NAME}" } =20 # This function is used in the cleanup trap --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-185.mta1.migadu.com (out-185.mta1.migadu.com [95.215.58.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 865BF15481 for ; Tue, 5 Dec 2023 07:03:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="BROSMlFS" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759797; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=FR8SBMQPI17VNeTR9EbA1rLtJvK2Ww+TefxFyxLRQ6g=; b=BROSMlFSj6dasulyZYRHeM0PmtGLdpIAjBDYpHi2bugwm/F5n3KqIy+OiJB6Tn/wPa4TP9 rVbNlWXT1hR1pfHqni8ABaS+vBbe5MDPNMw/58vK2loFQRGdoPkHRS031TNnRhp8Y6fvek gd8nMum65LX1Yr0r9pXjCsLghASAnXk= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang , Matthieu Baerts Subject: [PATCH mptcp-next v5 03/33] selftests: mptcp: userspace: print colored output Date: Tue, 5 Dec 2023 15:00:50 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" The helper mptcp_lib_verify_listener_events() will be added latter in mptcp_lib.sh, and be used by mptcp_join.sh and userspace_pm.sh. The former prints colored output while the latter is not. It makes sense to unify them. Use mptcp_lib_print_ok(), _warn() and _err() to instead print_results() in test_pass(), _skip() and _fail(), and use mptcp_lib_print_info() to instead _printf() in print_title() to print test results with colors in userspace_pm.sh. Reviewed-by: Matthieu Baerts Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index c9da970e5d24..108a7548a1ed 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -62,7 +62,7 @@ _printf() { =20 print_title() { - _printf "INFO: %s\n" "${1}" + mptcp_lib_print_info "INFO: ${1}" } =20 # $1: test name @@ -73,27 +73,22 @@ print_test() _printf "%-63s" "${TEST_NAME}" } =20 -print_results() -{ - _printf "[%s]\n" "${1}" -} - test_pass() { - print_results " OK " + mptcp_lib_print_ok "[ OK ]${1:+ ${*}}" mptcp_lib_result_pass "${TEST_NAME}" } =20 test_skip() { - print_results "SKIP" + mptcp_lib_print_warn "[ SKIP ]${1:+ ${*}}" mptcp_lib_result_skip "${TEST_NAME}" } =20 # $1: msg test_fail() { - print_results "FAIL" + mptcp_lib_print_err "[ FAIL ]${1:+ ${*}}" ret=3D1 =20 if [ -n "${1}" ]; then --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com [95.215.58.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 7F73912B76 for ; Tue, 5 Dec 2023 07:03:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="xEFRNuas" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759798; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N8X476J8WNxqaq0KhlrpCKgWIqXhGrZtLPI0BP2SBGU=; b=xEFRNuasRrhL9HWPu9ZwyApY5W+EANPqvcitv6s29F1WFCxeTfhm/C/bOsMlsL/OXFTmi/ MpwbgEq04pQA/4FQp8oLkgwwSrgCi7RZW3RJPXB9jRPy32q9Dlqlp1J0HZOOZG1NrVd/q+ NcSsG8Zg26jk/n8td1j/X/afDHL0hKs= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 04/33] selftests: mptcp: capitalize ok/fail/skip Date: Tue, 5 Dec 2023 15:00:51 +0800 Message-Id: <2ab60060aed5da13f87d3359981e23635ffa93d4.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Most scripts print uppercase [ OK ], [ FAIL ] and [ SKIP ] as test results, but lowercase ones are used in diag.sh, mptcp_join.sh and simult_flows.sh. To maintain consistency with other scripts, this patch capitalizes these lowercase [ ok ], [ fail ] and [ skip ]: [ ok ] -> [ OK ] in diag.sh, mptcp_join.sh [ fail ] -> [ FAIL ] in diag.sh, mptcp_join.sh, simult_flows.sh [ skip ] -> [ SKIP ] in diag.sh, mptcp_join.sh Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 12 ++++++------ tools/testing/selftests/net/mptcp/mptcp_join.sh | 6 +++--- tools/testing/selftests/net/mptcp/simult_flows.sh | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 0734bd9b54b8..300aec419dd6 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -64,15 +64,15 @@ __chk_nr() printf "%-50s" "$msg" if [ $nr !=3D $expected ]; then if [ $nr =3D "$skip" ] && ! mptcp_lib_expect_all_features; then - echo "[ skip ] Feature probably not supported" + echo "[ SKIP ] Feature probably not supported" mptcp_lib_result_skip "${msg}" else - echo "[ fail ] expected $expected found $nr" + echo "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg}" ret=3D$test_cnt fi else - echo "[ ok ]" + echo "[ OK ]" mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) @@ -113,15 +113,15 @@ wait_msk_nr() =20 printf "%-50s" "$msg" if [ $i -ge $timeout ]; then - echo "[ fail ] timeout while expecting $expected max $max last $nr" + echo "[ FAIL ] timeout while expecting $expected max $max last $nr" mptcp_lib_result_fail "${msg} # timeout" ret=3D$test_cnt elif [ $nr !=3D $expected ]; then - echo "[ fail ] expected $expected found $nr" + echo "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg} # unexpected result" ret=3D$test_cnt else - echo "[ ok ]" + echo "[ OK ]" mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b586bc404668..54af4e4737bd 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -217,17 +217,17 @@ print_info() =20 print_ok() { - mptcp_lib_print_ok "[ ok ]${1:+ ${*}}" + mptcp_lib_print_ok "[ OK ]${1:+ ${*}}" } =20 print_fail() { - mptcp_lib_print_err "[fail]${1:+ ${*}}" + mptcp_lib_print_err "[ FAIL ]${1:+ ${*}}" } =20 print_skip() { - mptcp_lib_print_warn "[skip]${1:+ ${*}}" + mptcp_lib_print_warn "[ SKIP ]${1:+ ${*}}" } =20 # [ $1: fail msg ] diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 0c211496e611..3536c7160ce5 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -194,7 +194,7 @@ do_transfer() return 0 fi =20 - echo " [ fail ]" + echo " [ FAIL ]" echo "client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2 ip netns exec ${ns3} ss -nita 1>&2 -o "sport =3D :$port" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 02D8E15AE0 for ; Tue, 5 Dec 2023 07:03:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="q4VZGqFf" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759800; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WK0XvAD0vNzn69q3dh3w2zhl0sMIfDr1Ba8sdGChS2k=; b=q4VZGqFfv9bC4+PfJvxbJb7O+EVywqS8i/Cpdki9zsiPW5IrWkX0dHkJ9hYHvjbKhPN8hT Wpp4kf+SjuMF5Xhz2dHmgKA/eGYeLYCYLdzk9EYh+MOCgpns4rBGrJSLnmHS1Aau8W0GE5 08azEI6lVj8xGnk4UTppVqKXLjoR1IE= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 05/33] selftests: mptcp: extract mptcp_lib_check_expected Date: Tue, 5 Dec 2023 15:00:52 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Extract the main part of check_expected() in userspace_pm.sh to a new function mptcp_lib_check_expected() in mptcp_lib.sh. It will be used in both mptcp_john.sh and userspace_pm.sh. check_expected_one() is moved into mptcp_lib.sh too as a sub function of mptcp_lib_check_expected(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_lib.sh | 43 +++++++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 41 +++--------------- 2 files changed, 48 insertions(+), 36 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index a41da009962f..8463bcbd9428 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -392,6 +392,49 @@ mptcp_lib_evts_remove() { rm -rf "${server_evts}" "${client_evts}" } =20 +# $@: all var names to check +mptcp_lib_check_expected() { + : "${ret:?}" + + # $1: var name ; $2: prev ret + check_expected_one() { + local var=3D"${1}" + local exp=3D"e_${var}" + local prev_ret=3D"${2}" + + if [ "${!var}" =3D "${!exp}" ] + then + return 0 + fi + + if [ "${prev_ret}" =3D "0" ] + then + ret=3D${KSFT_FAIL} + fi + + printf "\tExpected value for '%s': '%s', got '%s'.\n" \ + "${var}" "${!exp}" "${!var}" + return 1 + } + + local rc=3D0 + local var + + for var in "${@}" + do + check_expected_one "${var}" "${rc}" || rc=3D1 + done + unset -f check_expected_one + + if [ ${rc} -eq 0 ] + then + mptcp_lib_print_ok "[ OK ]" + return 0 + fi + + return 1 +} + mptcp_lib_cleanup() { : "${check_output_err:?}" =20 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 108a7548a1ed..85712f097597 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -237,46 +237,15 @@ make_connection() fi } =20 -# $1: var name ; $2: prev ret -check_expected_one() -{ - local var=3D"${1}" - local exp=3D"e_${var}" - local prev_ret=3D"${2}" - - if [ "${!var}" =3D "${!exp}" ] - then - return 0 - fi - - if [ "${prev_ret}" =3D "0" ] - then - test_fail - fi - - _printf "\tExpected value for '%s': '%s', got '%s'.\n" \ - "${var}" "${!exp}" "${!var}" - return 1 -} - # $@: all var names to check check_expected() { - local rc=3D0 - local var - - for var in "${@}" - do - check_expected_one "${var}" "${rc}" || rc=3D1 - done - - if [ ${rc} -eq 0 ] - then - test_pass - return 0 + mptcp_lib_check_expected ${*} + if [ $? -eq 0 ]; then + mptcp_lib_result_pass "${TEST_NAME}" + else + test_fail fi - - return 1 } =20 verify_announce_event() --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-179.mta1.migadu.com (out-179.mta1.migadu.com [95.215.58.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 192AA15E93 for ; Tue, 5 Dec 2023 07:03:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Njh2dQ6w" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759801; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=9qXYyB3z69yTZ/zJVvOV2sml0QRysr1aaCEqJDDoMFY=; b=Njh2dQ6wyQqDQ9B9mM0QNyRlp9B7Yplb9w6IlATZ+LnP4SOrEKQtG3AvIBY/sOWtzNMsEF 4NRqmgkWfdo4MF7l33o7atqdxVw5fj2NLnXrYxdzvW5kqs4lpYKYl4I4IC3WUiAulbV1F8 d2ymGheQGqpilQFg3xpfcqS5SMLKwZE= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 06/33] selftests: mptcp: export event macros in mptcp_lib Date: Tue, 5 Dec 2023 15:00:53 +0800 Message-Id: <2a7262d4c6d0944d10281a428e7e3c0a5aef1193.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" SUB_ESTABLISHED, LISTENER_CREATED, LISTENER_CLOSED, AF_INET and AF_INET6 are defined in both mptcp_join.sh and userspace_pm.sh, export all event macros into mptcp_lib.sh. Add MPTCP_LIB_ prefix for the first three and add readonly for the last two. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 23 ++-- .../testing/selftests/net/mptcp/mptcp_lib.sh | 10 ++ .../selftests/net/mptcp/userspace_pm.sh | 121 +++++++++--------- 3 files changed, 79 insertions(+), 75 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 54af4e4737bd..93074a76038f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2813,13 +2813,6 @@ backup_tests() fi } =20 -SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED -LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED -LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED - -AF_INET=3D2 -AF_INET6=3D10 - verify_listener_events() { local evt=3D$1 @@ -2833,9 +2826,9 @@ verify_listener_events() local sport local name =20 - if [ $e_type =3D $LISTENER_CREATED ]; then + if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then name=3D"LISTENER_CREATED" - elif [ $e_type =3D $LISTENER_CLOSED ]; then + elif [ $e_type =3D $MPTCP_LIB_LISTENER_CLOSED ]; then name=3D"LISTENER_CLOSED " else name=3D"$e_type" @@ -2902,8 +2895,10 @@ add_addr_ports_tests() chk_add_nr 1 1 1 chk_rm_nr 1 1 invert =20 - verify_listener_events $server_evts $LISTENER_CREATED $AF_INET 10.0.2.1 = 10100 - verify_listener_events $server_evts $LISTENER_CLOSED $AF_INET 10.0.2.1 1= 0100 + verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CREATED \ + $AF_INET 10.0.2.1 10100 + verify_listener_events $server_evts $MPTCP_LIB_LISTENER_CLOSED \ + $AF_INET 10.0.2.1 10100 mptcp_lib_evts_kill fi =20 @@ -3433,9 +3428,9 @@ userspace_tests() chk_mptcp_info add_addr_signal 1 add_addr_accepted 1 if [ $((RANDOM%2)) -eq 0 ]; then userspace_pm_rm_addr $ns1 10 - userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $SUB_ESTABLISHED + userspace_pm_rm_sf $ns1 ::ffff:10.0.2.1 $MPTCP_LIB_SUB_ESTABLISHED else - userspace_pm_rm_sf $ns1 10.0.2.1 $SUB_ESTABLISHED + userspace_pm_rm_sf $ns1 10.0.2.1 $MPTCP_LIB_SUB_ESTABLISHED userspace_pm_rm_addr $ns1 10 fi chk_rm_nr 1 1 invert @@ -3459,7 +3454,7 @@ userspace_tests() chk_mptcp_info subflows 1 subflows 1 chk_subflows_total 2 2 userspace_pm_rm_addr $ns2 20 - userspace_pm_rm_sf $ns2 10.0.3.2 $SUB_ESTABLISHED + userspace_pm_rm_sf $ns2 10.0.3.2 $MPTCP_LIB_SUB_ESTABLISHED chk_rm_nr 1 1 chk_mptcp_info subflows 0 subflows 0 chk_subflows_total 1 1 diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 8463bcbd9428..b381730e832a 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -10,6 +10,16 @@ readonly KSFT_TEST=3D$(basename "${0}" | sed 's/\.sh$//g= ') =20 ret=3D0 =20 +MPTCP_LIB_ANNOUNCED=3D6 # MPTCP_EVENT_ANNOUNCED +MPTCP_LIB_REMOVED=3D7 # MPTCP_EVENT_REMOVED +MPTCP_LIB_SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED +MPTCP_LIB_SUB_CLOSED=3D11 # MPTCP_EVENT_SUB_CLOSED +MPTCP_LIB_LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED +MPTCP_LIB_LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED + +readonly AF_INET=3D2 +readonly AF_INET6=3D10 + MPTCP_LIB_SUBTESTS=3D() =20 # only if supported (or forced) and not disabled, see no-color.org diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 85712f097597..9b1d8b56d8d6 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -23,16 +23,6 @@ if ! ip -Version &> /dev/null; then exit ${KSFT_SKIP} fi =20 -ANNOUNCED=3D6 # MPTCP_EVENT_ANNOUNCED -REMOVED=3D7 # MPTCP_EVENT_REMOVED -SUB_ESTABLISHED=3D10 # MPTCP_EVENT_SUB_ESTABLISHED -SUB_CLOSED=3D11 # MPTCP_EVENT_SUB_CLOSED -LISTENER_CREATED=3D15 #MPTCP_EVENT_LISTENER_CREATED -LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLOSED - -AF_INET=3D2 -AF_INET6=3D10 - file=3D"" client4_pid=3D0 server4_pid=3D0 @@ -306,8 +296,8 @@ test_announce() ns2eth1 print_test "ADD_ADDR id:${client_addr_id} 10.0.2.2 (ns2) =3D> ns1, reuse = port" sleep 0.5 - verify_announce_event $server_evts $ANNOUNCED $server4_token "10.0.2.2" $= client_addr_id \ - "$client4_port" + verify_announce_event $server_evts $MPTCP_LIB_ANNOUNCED $server4_token \ + "10.0.2.2" $client_addr_id "$client4_port" =20 # ADD_ADDR6 from the client to server machine reusing the subflow port :>"$server_evts" @@ -315,8 +305,8 @@ test_announce() dead:beef:2::2 token "$client6_token" id $client_addr_id dev ns2eth1 print_test "ADD_ADDR6 id:${client_addr_id} dead:beef:2::2 (ns2) =3D> ns1,= reuse port" sleep 0.5 - verify_announce_event "$server_evts" "$ANNOUNCED" "$server6_token" "dead:= beef:2::2"\ - "$client_addr_id" "$client6_port" "v6" + verify_announce_event "$server_evts" "$MPTCP_LIB_ANNOUNCED" "$server6_tok= en" \ + "dead:beef:2::2" "$client_addr_id" "$client6_port" "v6" =20 # ADD_ADDR from the client to server machine using a new port :>"$server_evts" @@ -325,7 +315,7 @@ test_announce() $client_addr_id dev ns2eth1 port $new4_port print_test "ADD_ADDR id:${client_addr_id} 10.0.2.2 (ns2) =3D> ns1, new po= rt" sleep 0.5 - verify_announce_event "$server_evts" "$ANNOUNCED" "$server4_token" "10.0.= 2.2"\ + verify_announce_event "$server_evts" "$MPTCP_LIB_ANNOUNCED" "$server4_tok= en" "10.0.2.2"\ "$client_addr_id" "$new4_port" =20 # Capture events on the network namespace running the client @@ -336,7 +326,7 @@ test_announce() $server_addr_id dev ns1eth2 print_test "ADD_ADDR id:${server_addr_id} 10.0.2.1 (ns1) =3D> ns2, reuse = port" sleep 0.5 - verify_announce_event "$client_evts" "$ANNOUNCED" "$client4_token" "10.0.= 2.1"\ + verify_announce_event "$client_evts" "$MPTCP_LIB_ANNOUNCED" "$client4_tok= en" "10.0.2.1"\ "$server_addr_id" "$app4_port" =20 # ADD_ADDR6 from the server to client machine reusing the subflow port @@ -345,8 +335,8 @@ test_announce() $server_addr_id dev ns1eth2 print_test "ADD_ADDR6 id:${server_addr_id} dead:beef:2::1 (ns1) =3D> ns2,= reuse port" sleep 0.5 - verify_announce_event "$client_evts" "$ANNOUNCED" "$client6_token" "dead:= beef:2::1"\ - "$server_addr_id" "$app6_port" "v6" + verify_announce_event "$client_evts" "$MPTCP_LIB_ANNOUNCED" "$client6_tok= en" \ + "dead:beef:2::1" "$server_addr_id" "$app6_port" "v6" =20 # ADD_ADDR from the server to client machine using a new port :>"$client_evts" @@ -355,7 +345,7 @@ test_announce() $server_addr_id dev ns1eth2 port $new4_port print_test "ADD_ADDR id:${server_addr_id} 10.0.2.1 (ns1) =3D> ns2, new po= rt" sleep 0.5 - verify_announce_event "$client_evts" "$ANNOUNCED" "$client4_token" "10.0.= 2.1"\ + verify_announce_event "$client_evts" "$MPTCP_LIB_ANNOUNCED" "$client4_tok= en" "10.0.2.1"\ "$server_addr_id" "$new4_port" } =20 @@ -416,7 +406,7 @@ test_remove() $client_addr_id print_test "RM_ADDR id:${client_addr_id} ns2 =3D> ns1" sleep 0.5 - verify_remove_event "$server_evts" "$REMOVED" "$server4_token" "$client_a= ddr_id" + verify_remove_event "$server_evts" "$MPTCP_LIB_REMOVED" "$server4_token" = "$client_addr_id" =20 # RM_ADDR from the client to server machine :>"$server_evts" @@ -425,7 +415,7 @@ test_remove() $client_addr_id print_test "RM_ADDR id:${client_addr_id} ns2 =3D> ns1" sleep 0.5 - verify_remove_event "$server_evts" "$REMOVED" "$server4_token" "$client_a= ddr_id" + verify_remove_event "$server_evts" "$MPTCP_LIB_REMOVED" "$server4_token" = "$client_addr_id" =20 # RM_ADDR6 from the client to server machine :>"$server_evts" @@ -433,7 +423,7 @@ test_remove() $client_addr_id print_test "RM_ADDR6 id:${client_addr_id} ns2 =3D> ns1" sleep 0.5 - verify_remove_event "$server_evts" "$REMOVED" "$server6_token" "$client_a= ddr_id" + verify_remove_event "$server_evts" "$MPTCP_LIB_REMOVED" "$server6_token" = "$client_addr_id" =20 # Capture events on the network namespace running the client :>"$client_evts" @@ -443,7 +433,7 @@ test_remove() $server_addr_id print_test "RM_ADDR id:${server_addr_id} ns1 =3D> ns2" sleep 0.5 - verify_remove_event "$client_evts" "$REMOVED" "$client4_token" "$server_a= ddr_id" + verify_remove_event "$client_evts" "$MPTCP_LIB_REMOVED" "$client4_token" = "$server_addr_id" =20 # RM_ADDR from the server to client machine :>"$client_evts" @@ -452,7 +442,7 @@ test_remove() $server_addr_id print_test "RM_ADDR id:${server_addr_id} ns1 =3D> ns2" sleep 0.5 - verify_remove_event "$client_evts" "$REMOVED" "$client4_token" "$server_a= ddr_id" + verify_remove_event "$client_evts" "$MPTCP_LIB_REMOVED" "$client4_token" = "$server_addr_id" =20 # RM_ADDR6 from the server to client machine :>"$client_evts" @@ -460,7 +450,7 @@ test_remove() $server_addr_id print_test "RM_ADDR6 id:${server_addr_id} ns1 =3D> ns2" sleep 0.5 - verify_remove_event "$client_evts" "$REMOVED" "$client6_token" "$server_a= ddr_id" + verify_remove_event "$client_evts" "$MPTCP_LIB_REMOVED" "$client6_token" = "$server_addr_id" } =20 verify_subflow_events() @@ -489,7 +479,7 @@ verify_subflow_events() =20 info=3D"${e_saddr} (${e_from}) =3D> ${e_daddr} (${e_to})" =20 - if [ "$e_type" =3D "$SUB_ESTABLISHED" ] + if [ "$e_type" =3D "$MPTCP_LIB_SUB_ESTABLISHED" ] then if [ "$e_family" =3D "$AF_INET6" ] then @@ -546,22 +536,24 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2\ rport "$client4_port" token "$server4_token" sleep 0.5 - verify_subflow_events $server_evts $SUB_ESTABLISHED $server4_token $AF_IN= ET "10.0.2.1" \ - "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2" + verify_subflow_events $server_evts $MPTCP_LIB_SUB_ESTABLISHED $server4_to= ken \ + $AF_INET "10.0.2.1" "10.0.2.2" "$client4_port" "23" \ + "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 local sport - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from server to client machine :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0= .2.2 rport\ "$client4_port" token "$server4_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_= INET" "10.0.2.1"\ - "10.0.2.2" "$client4_port" "23" "$client_addr_id" "ns1" "ns2" + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_CLOSED" "$server4_to= ken" \ + "$AF_INET" "10.0.2.1" "10.0.2.2" "$client4_port" "23" \ + "$client_addr_id" "ns1" "ns2" =20 # RM_ADDR from client to server machine ip netns exec "$ns2" ./pm_nl_ctl rem id $client_addr_id token\ @@ -584,21 +576,21 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip dead:beef:2::1 lid 23 rip\ dead:beef:2::2 rport "$client6_port" token "$server6_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server6_token" = "$AF_INET6"\ - "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ - "$client_addr_id" "ns1" "ns2" + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$serve= r6_token" \ + "$AF_INET6" "dead:beef:2::1" "dead:beef:2::2" "$client6_port" \ + "23" "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW6 from server to client machine :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip dead:beef:2::1 lport "$sport" ri= p\ dead:beef:2::2 rport "$client6_port" token "$server6_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server6_token" "$AF_= INET6"\ + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_CLOSED" "$server6_to= ken" "$AF_INET6"\ "dead:beef:2::1" "dead:beef:2::2" "$client6_port" "23"\ "$client_addr_id" "ns1" "ns2" =20 @@ -623,22 +615,23 @@ test_subflows() ip netns exec "$ns1" ./pm_nl_ctl csf lip 10.0.2.1 lid 23 rip 10.0.2.2 rpo= rt\ $new4_port token "$server4_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_ESTABLISHED" "$server4_token" = "$AF_INET"\ - "10.0.2.1" "10.0.2.2" "$new4_port" "23"\ + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$serve= r4_token" \ + "$AF_INET" "10.0.2.1" "10.0.2.2" "$new4_port" "23" \ "$client_addr_id" "ns1" "ns2" =20 # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$server_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from server to client machine :>"$server_evts" ip netns exec "$ns1" ./pm_nl_ctl dsf lip 10.0.2.1 lport "$sport" rip 10.0= .2.2 rport\ $new4_port token "$server4_token" sleep 0.5 - verify_subflow_events "$server_evts" "$SUB_CLOSED" "$server4_token" "$AF_= INET" "10.0.2.1"\ - "10.0.2.2" "$new4_port" "23" "$client_addr_id" "ns1" "ns2" + verify_subflow_events "$server_evts" "$MPTCP_LIB_SUB_CLOSED" "$server4_to= ken" \ + "$AF_INET" "10.0.2.1" "10.0.2.2" "$new4_port" "23" \ + "$client_addr_id" "ns1" "ns2" =20 # RM_ADDR from client to server machine ip netns exec "$ns2" ./pm_nl_ctl rem id $client_addr_id token\ @@ -662,21 +655,22 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $app4_port token "$client4_token" sleep 0.5 - verify_subflow_events $client_evts $SUB_ESTABLISHED $client4_token $AF_IN= ET "10.0.2.2"\ - "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1" + verify_subflow_events $client_evts $MPTCP_LIB_SUB_ESTABLISHED $client4_to= ken $AF_INET \ + "10.0.2.2" "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "= ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip 10.0.2.2 lport "$sport" rip 10.0= .2.1 rport\ $app4_port token "$client4_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_CLOSED" "$client4_token" "$AF_= INET" "10.0.2.2"\ - "10.0.2.1" "$app4_port" "23" "$server_addr_id" "ns2" "ns1" + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_CLOSED" "$client4_to= ken" \ + "$AF_INET" "10.0.2.2" "10.0.2.1" "$app4_port" "23" \ + "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR from server to client machine ip netns exec "$ns1" ./pm_nl_ctl rem id $server_addr_id token\ @@ -699,7 +693,7 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip dead:beef:2::2 lid 23 rip\ dead:beef:2::1 rport $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\ + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t6_token"\ "$AF_INET6" "dead:beef:2::2"\ "dead:beef:2::1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" @@ -707,15 +701,16 @@ test_subflows() # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW6 from client to server machine :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip dead:beef:2::2 lport "$sport" ri= p\ dead:beef:2::1 rport $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events $client_evts $SUB_CLOSED $client6_token $AF_INET6 "= dead:beef:2::2"\ - "dead:beef:2::1" "$app6_port" "23" "$server_addr_id" "ns2" "ns1" + verify_subflow_events $client_evts $MPTCP_LIB_SUB_CLOSED $client6_token \ + $AF_INET6 "dead:beef:2::2" "dead:beef:2::1" "$app6_port" \ + "23" "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR6 from server to client machine ip netns exec "$ns1" ./pm_nl_ctl rem id $server_addr_id token\ @@ -738,21 +733,23 @@ test_subflows() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $new4_port token "$client4_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client4_token" = "$AF_INET"\ - "10.0.2.2" "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "= ns1" + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t4_token" \ + "$AF_INET" "10.0.2.2" "10.0.2.1" "$new4_port" "23" \ + "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip 10.0.2.2 lport "$sport" rip 10.0= .2.1 rport\ $new4_port token "$client4_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_CLOSED" "$client4_token" "$AF_= INET" "10.0.2.2"\ - "10.0.2.1" "$new4_port" "23" "$server_addr_id" "ns2" "ns1" + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_CLOSED" "$client4_to= ken" \ + "$AF_INET" "10.0.2.2" "10.0.2.1" "$new4_port" "23" \ + "$server_addr_id" "ns2" "ns1" =20 # RM_ADDR from server to client machine ip netns exec "$ns1" ./pm_nl_ctl rem id $server_addr_id token\ @@ -775,7 +772,7 @@ test_subflows_v4_v6_mix() $server_addr_id dev ns1eth2 print_test "ADD_ADDR4 id:${server_addr_id} 10.0.2.1 (ns1) =3D> ns2, reuse= port" sleep 0.5 - verify_announce_event "$client_evts" "$ANNOUNCED" "$client6_token" "10.0.= 2.1"\ + verify_announce_event "$client_evts" "$MPTCP_LIB_ANNOUNCED" "$client6_tok= en" "10.0.2.1"\ "$server_addr_id" "$app6_port" =20 # CREATE_SUBFLOW from client to server machine @@ -783,21 +780,21 @@ test_subflows_v4_v6_mix() ip netns exec "$ns2" ./pm_nl_ctl csf lip 10.0.2.2 lid 23 rip 10.0.2.1 rpo= rt\ $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_ESTABLISHED" "$client6_token"\ + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_ESTABLISHED" "$clien= t6_token"\ "$AF_INET" "10.0.2.2" "10.0.2.1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" =20 # Delete the listener from the server ns, if one was created mptcp_lib_kill_wait $listener_pid =20 - sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $SUB_ESTABLISHED) + sport=3D$(mptcp_lib_evts_get_info sport "$client_evts" $MPTCP_LIB_SUB_EST= ABLISHED) =20 # DESTROY_SUBFLOW from client to server machine :>"$client_evts" ip netns exec "$ns2" ./pm_nl_ctl dsf lip 10.0.2.2 lport "$sport" rip 10.0= .2.1 rport\ $app6_port token "$client6_token" sleep 0.5 - verify_subflow_events "$client_evts" "$SUB_CLOSED" "$client6_token" \ + verify_subflow_events "$client_evts" "$MPTCP_LIB_SUB_CLOSED" "$client6_to= ken" \ "$AF_INET" "10.0.2.2" "10.0.2.1" "$app6_port" "23"\ "$server_addr_id" "ns2" "ns1" =20 @@ -889,7 +886,8 @@ test_listener() local listener_pid=3D$! =20 sleep 0.5 - verify_listener_events $client_evts $LISTENER_CREATED $AF_INET 10.0.2.2 $= client4_port + verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CREATED \ + $AF_INET 10.0.2.2 $client4_port =20 # ADD_ADDR from client to server machine reusing the subflow port ip netns exec $ns2 ./pm_nl_ctl ann 10.0.2.2 token $client4_token id\ @@ -905,7 +903,8 @@ test_listener() mptcp_lib_kill_wait $listener_pid =20 sleep 0.5 - verify_listener_events $client_evts $LISTENER_CLOSED $AF_INET 10.0.2.2 $c= lient4_port + verify_listener_events $client_evts $MPTCP_LIB_LISTENER_CLOSED \ + $AF_INET 10.0.2.2 $client4_port } =20 print_title "Make connections" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com [95.215.58.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D65C15481 for ; Tue, 5 Dec 2023 07:03:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="N0OzBPml" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759802; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=yomCO9py+jI8OSAb7aNsohdTY8iN4583k70oBKHKcTo=; b=N0OzBPmlaOQoov/5tjTfE5GRJKVxfIBAFY2wGbBlBPm7WaKel5rxRBj2j/JfvY/YYBTB7v 2E4VEA4KeUpT2hbR+Om1tkzMSaYx88u4yCu+isxZabSFaC2i9l8Pnj4D7tQ2Y0QOLqV8Ye b3CPRMMiceVH/sTHrAHf1gGadHyro1I= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 07/33] selftests: mptcp: add mptcp_lib_verify_listener_events Date: Tue, 5 Dec 2023 15:00:54 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" To avoid duplicated code in different MPTCP selftests, we can add and use helpers defined in mptcp_lib.sh. The helper verify_listener_events() is defined both in mptcp_join.sh and userspace_pm.sh, export it into mptcp_lib.sh and rename it with mptcp_lib_ prefix. Use this new helper in both scripts. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 24 ++------------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 23 ++++++++++++++ .../selftests/net/mptcp/userspace_pm.sh | 30 ++++--------------- 3 files changed, 31 insertions(+), 46 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 93074a76038f..0fb76e963cfd 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -2815,15 +2815,10 @@ backup_tests() =20 verify_listener_events() { - local evt=3D$1 local e_type=3D$2 local e_family=3D$3 local e_saddr=3D$4 local e_sport=3D$5 - local type - local family - local saddr - local sport local name =20 if [ $e_type =3D $MPTCP_LIB_LISTENER_CREATED ]; then @@ -2841,23 +2836,8 @@ verify_listener_events() return fi =20 - type=3D$(mptcp_lib_evts_get_info type "$evt" "$e_type") - family=3D$(mptcp_lib_evts_get_info family "$evt" "$e_type") - sport=3D$(mptcp_lib_evts_get_info sport "$evt" "$e_type") - if [ $family ] && [ $family =3D $AF_INET6 ]; then - saddr=3D$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type") - else - saddr=3D$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type") - fi - - if [ $type ] && [ $type =3D $e_type ] && - [ $family ] && [ $family =3D $e_family ] && - [ $saddr ] && [ $saddr =3D $e_saddr ] && - [ $sport ] && [ $sport =3D $e_sport ]; then - print_ok - return 0 - fi - fail_test "$e_type:$type $e_family:$family $e_saddr:$saddr $e_sport:$spor= t" + mptcp_lib_verify_listener_events ${*} + [ $? -eq 1 ] && fail_test "$e_type $e_family $e_saddr $e_sport" } =20 add_addr_ports_tests() diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index b381730e832a..198e3b3a8439 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -445,6 +445,29 @@ mptcp_lib_check_expected() { return 1 } =20 +mptcp_lib_verify_listener_events() { + local evt=3D$1 + local e_type=3D$2 + local e_family=3D$3 + local e_saddr=3D$4 + local e_sport=3D$5 + local type + local family + local saddr + local sport + + type=3D$(mptcp_lib_evts_get_info type "$evt" "$e_type") + family=3D$(mptcp_lib_evts_get_info family "$evt" "$e_type") + if [ $family ] && [ $family =3D $AF_INET6 ]; then + saddr=3D$(mptcp_lib_evts_get_info saddr6 "$evt" "$e_type") + else + saddr=3D$(mptcp_lib_evts_get_info saddr4 "$evt" "$e_type") + fi + sport=3D$(mptcp_lib_evts_get_info sport "$evt" "$e_type") + + mptcp_lib_check_expected "type" "family" "saddr" "sport" +} + mptcp_lib_cleanup() { : "${check_output_err:?}" =20 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 9b1d8b56d8d6..e78a79da3960 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -839,32 +839,12 @@ test_prio() =20 verify_listener_events() { - local evt=3D$1 - local e_type=3D$2 - local e_family=3D$3 - local e_saddr=3D$4 - local e_sport=3D$5 - local type - local family - local saddr - local sport - - if [ $e_type =3D $LISTENER_CREATED ]; then - print_test "CREATE_LISTENER $e_saddr:$e_sport" - elif [ $e_type =3D $LISTENER_CLOSED ]; then - print_test "CLOSE_LISTENER $e_saddr:$e_sport" - fi - - type=3D$(mptcp_lib_evts_get_info type $evt $e_type) - family=3D$(mptcp_lib_evts_get_info family $evt $e_type) - sport=3D$(mptcp_lib_evts_get_info sport $evt $e_type) - if [ $family ] && [ $family =3D $AF_INET6 ]; then - saddr=3D$(mptcp_lib_evts_get_info saddr6 $evt $e_type) + mptcp_lib_verify_listener_events ${*} + if [ $? -eq 0 ]; then + mptcp_lib_result_pass "${TEST_NAME}" else - saddr=3D$(mptcp_lib_evts_get_info saddr4 $evt $e_type) + test_fail fi - - check_expected "type" "family" "saddr" "sport" } =20 test_listener() @@ -880,6 +860,7 @@ test_listener() # Capture events on the network namespace running the client :>$client_evts =20 + print_test "Listener event LISTENER_CREATED 10.0.2.2:$client4_port" # Attempt to add a listener at 10.0.2.2: ip netns exec $ns2 ./pm_nl_ctl listen 10.0.2.2\ $client4_port & @@ -899,6 +880,7 @@ test_listener() rport $client4_port token $server4_token sleep 0.5 =20 + print_test "Listener event LISTENER_CLOSED 10.0.2.2:$client4_port" # Delete the listener from the client ns, if one was created mptcp_lib_kill_wait $listener_pid =20 --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-170.mta1.migadu.com (out-170.mta1.migadu.com [95.215.58.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 11ABE15AE0 for ; Tue, 5 Dec 2023 07:03:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="VacR5rKy" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759804; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GLWlw9kCStkH55fdtncu2jMZAMEEfZIP3ZEj82wrtro=; b=VacR5rKyTMF0uDuUHKRJxLHOKG4vyuErt9TtuW/7d2gAWSfNcfs5o/ZCkr0dyHV+WCLdmg ABwOLC8rLQ1+y3CDfEcGiCPbqI504OKoq4mjcQl2I3f3YwgccB+dlbumSVBi6bwXNePC5z Q0q2YmTxiFJRIG1iZ13xK53I3STKvUU= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 08/33] selftests: mptcp: unify namespace names Date: Tue, 5 Dec 2023 15:00:55 +0800 Message-Id: <1fafc3ec9a3561270ee86e75cb0bb140d92890f8.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Most scripts use ns1, ns2, ns3 and ns4 as namespace names, but ns and ns_sbox are used in diag.sh and mptcp_sockopt.sh. To maintain consistency with other scripts, this patch renames these variables: ns -> ns1 in diag.sh ns_sbox -> ns3 in mptcp_sockopt.sh Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 46 +++++++++---------- .../selftests/net/mptcp/mptcp_sockopt.sh | 12 ++--- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 300aec419dd6..bc3f24c454be 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,7 +5,7 @@ =20 sec=3D$(date +%s) rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns=3D"ns1-$rndh" +ns1=3D"ns1-$rndh" ksft_skip=3D4 test_cnt=3D1 timeout_poll=3D100 @@ -17,19 +17,19 @@ flush_pids() # give it some time sleep 1.1 =20 - ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null + ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGUSR1 &>/dev/null =20 for _ in $(seq 10); do - [ -z "$(ip netns pids "${ns}")" ] && break + [ -z "$(ip netns pids "${ns1}")" ] && break sleep 0.1 done } =20 cleanup() { - ip netns pids "${ns}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null + ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null =20 - ip netns del $ns + ip netns del $ns1 mptcp_lib_cleanup } =20 @@ -48,7 +48,7 @@ fi =20 get_msk_inuse() { - ip netns exec $ns cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' + ip netns exec $ns1 cat /proc/net/protocols | awk '$1~/^MPTCP$/{print $3}' } =20 __chk_nr() @@ -83,7 +83,7 @@ __chk_msk_nr() local condition=3D$1 shift 1 =20 - __chk_nr "ss -inmHMN $ns | $condition" "$@" + __chk_nr "ss -inmHMN $ns1 | $condition" "$@" } =20 chk_msk_nr() @@ -104,7 +104,7 @@ wait_msk_nr() msg=3D$* =20 while [ $i -lt $timeout ]; do - nr=3D$(ss -inmHMN $ns | $condition) + nr=3D$(ss -inmHMN $ns1 | $condition) [ $nr =3D=3D $expected ] && break; [ $nr -gt $max ] && max=3D$nr i=3D$((i + 1)) @@ -143,7 +143,7 @@ __chk_listen() local expected=3D$2 local msg=3D"$3" =20 - __chk_nr "ss -N $ns -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 + __chk_nr "ss -N $ns1 -Ml '$filter' | grep -c LISTEN" "$expected" "$msg" 0 } =20 chk_msk_listen() @@ -169,7 +169,7 @@ chk_msk_inuse() local msg=3D"$2" local listen_nr =20 - listen_nr=3D$(ss -N "${ns}" -Ml | grep -c LISTEN) + listen_nr=3D$(ss -N "${ns1}" -Ml | grep -c LISTEN) expected=3D$((expected + listen_nr)) =20 for _ in $(seq 10); do @@ -197,24 +197,24 @@ wait_connected() } =20 trap cleanup EXIT -ip netns add $ns -ip -n $ns link set dev lo up +ip netns add $ns1 +ip -n $ns1 link set dev lo up =20 echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10000 -l -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -mptcp_lib_wait_local_port_listen $ns 10000 +mptcp_lib_wait_local_port_listen $ns1 10000 chk_msk_nr 0 "no msk on netns creation" chk_msk_listen 10000 =20 echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10000 -r 0 -t ${timeout_poll} -w 20 \ 127.0.0.1 >/dev/null & -wait_connected $ns 10000 +wait_connected $ns1 10000 chk_msk_nr 2 "after MPC handshake " chk_msk_remote_key_nr 2 "....chk remote_key" chk_msk_fallback_nr 0 "....chk no fallback" @@ -225,16 +225,16 @@ chk_msk_inuse 0 "....chk 0 msk in use after flush" =20 echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10001 -l -s TCP -t ${timeout_poll} -w 20 \ 0.0.0.0 >/dev/null & -mptcp_lib_wait_local_port_listen $ns 10001 +mptcp_lib_wait_local_port_listen $ns1 10001 echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p 10001 -r 0 -t ${timeout_poll} -w 20 \ 127.0.0.1 >/dev/null & -wait_connected $ns 10001 +wait_connected $ns1 10001 chk_msk_fallback_nr 1 "check fallback" chk_msk_inuse 1 "....chk 1 msk in use" flush_pids @@ -245,16 +245,16 @@ NR_CLIENTS=3D100 for I in `seq 1 $NR_CLIENTS`; do echo "a" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p $((I+10001)) -l -w 20 \ -t ${timeout_poll} 0.0.0.0 >/dev/null & done -mptcp_lib_wait_local_port_listen $ns $((NR_CLIENTS + 10001)) +mptcp_lib_wait_local_port_listen $ns1 $((NR_CLIENTS + 10001)) =20 for I in `seq 1 $NR_CLIENTS`; do echo "b" | \ timeout ${timeout_test} \ - ip netns exec $ns \ + ip netns exec $ns1 \ ./mptcp_connect -p $((I+10001)) -w 20 \ -t ${timeout_poll} 127.0.0.1 >/dev/null & done diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 45e5b5810a6a..b82f7b0b85bc 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -17,7 +17,7 @@ sec=3D$(date +%s) rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) ns1=3D"ns1-$rndh" ns2=3D"ns2-$rndh" -ns_sbox=3D"ns_sbox-$rndh" +ns3=3D"ns3-$rndh" =20 add_mark_rules() { @@ -40,7 +40,7 @@ add_mark_rules() init() { local netns - for netns in "$ns1" "$ns2" "$ns_sbox";do + for netns in "$ns1" "$ns2" "$ns3";do ip netns add $netns || exit $ksft_skip ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 @@ -79,7 +79,7 @@ init() cleanup() { local netns - for netns in "$ns1" "$ns2" "$ns_sbox"; do + for netns in "$ns1" "$ns2" "$ns3"; do ip netns del $netns done rm -f "$cin" "$cout" @@ -240,7 +240,7 @@ do_mptcp_sockopt_tests() return fi =20 - ip netns exec "$ns_sbox" ./mptcp_sockopt + ip netns exec "$ns3" ./mptcp_sockopt lret=3D$? =20 if [ $lret -ne 0 ]; then @@ -251,7 +251,7 @@ do_mptcp_sockopt_tests() fi mptcp_lib_result_pass "sockopt v4" =20 - ip netns exec "$ns_sbox" ./mptcp_sockopt -6 + ip netns exec "$ns3" ./mptcp_sockopt -6 lret=3D$? =20 if [ $lret -ne 0 ]; then @@ -282,7 +282,7 @@ run_tests() =20 do_tcpinq_test() { - ip netns exec "$ns_sbox" ./mptcp_inq "$@" + ip netns exec "$ns3" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-185.mta1.migadu.com (out-185.mta1.migadu.com [95.215.58.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2FE0E14F6F for ; Tue, 5 Dec 2023 07:03:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="sELZIWvt" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759805; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=MHE24xN2lZ7YrCQcxEDiBML+o4v8nVVt5oBnBke6S9k=; b=sELZIWvtLvhF4D4TBm3I2ajhm9dOy6CXnJr82vMKhFbBF7WIcaBgIjOCva1xuNMsZkgI97 hrdKO287gj++rk4CTeeCb5okw2EILSmV+Nh5TvbRq2Vp+cXXW7ncNER6Pl3vlKfUP65S4X Ura7FaNGx6SwTUjldTZn2vSKf4QrVzA= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 09/33] selftests: mptcp: add mptcp_lib_ns_* helpers Date: Tue, 5 Dec 2023 15:00:56 +0800 Message-Id: <1380a04f2c8b844f71827bd09bcaef3478d072f7.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Add helpers mptcp_lib_ns_init() and mptcp_lib_ns_exit() in mptcp_lib.sh to init all namespaces ns1, ns2, ns3 and ns4. Then every test script can invoke these helpers and use all namespaces. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 8 +--- .../selftests/net/mptcp/mptcp_connect.sh | 20 ++------ .../testing/selftests/net/mptcp/mptcp_join.sh | 19 +------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 46 +++++++++++++++++++ .../selftests/net/mptcp/mptcp_sockopt.sh | 15 +----- .../testing/selftests/net/mptcp/pm_netlink.sh | 8 +--- .../selftests/net/mptcp/simult_flows.sh | 18 +------- .../selftests/net/mptcp/userspace_pm.sh | 12 +---- 8 files changed, 62 insertions(+), 84 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index bc3f24c454be..3119811018fc 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -3,9 +3,7 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" +mptcp_lib_ns_init ksft_skip=3D4 test_cnt=3D1 timeout_poll=3D100 @@ -29,7 +27,7 @@ cleanup() { ip netns pids "${ns1}" | xargs --no-run-if-empty kill -SIGKILL &>/dev/null =20 - ip netns del $ns1 + mptcp_lib_ns_exit mptcp_lib_cleanup } =20 @@ -197,8 +195,6 @@ wait_connected() } =20 trap cleanup EXIT -ip netns add $ns1 -ip -n $ns1 link set dev lo up =20 echo "a" | \ timeout ${timeout_test} \ diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 5e28292e1889..e19b1fe67408 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -120,12 +120,7 @@ while getopts "$optstring" option;do esac done =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns3=3D"ns3-$rndh" -ns4=3D"ns4-$rndh" +mptcp_lib_ns_init =20 TEST_COUNT=3D0 TEST_GROUP=3D"" @@ -137,11 +132,7 @@ cleanup() rm -f "$sin" "$sout" rm -f "$capout" =20 - local netns - for netns in "$ns1" "$ns2" "$ns3" "$ns4";do - ip netns del $netns - rm -f /tmp/$netns.{nstat,out} - done + mptcp_lib_ns_exit mptcp_lib_cleanup } =20 @@ -163,11 +154,6 @@ cin_disconnect=3D"$cin".disconnect cout_disconnect=3D"$cout".disconnect trap cleanup EXIT =20 -for i in "$ns1" "$ns2" "$ns3" "$ns4";do - ip netns add $i || exit $ksft_skip - ip -net $i link set lo up -done - # "$ns1" ns2 ns3 ns4 # ns1eth2 ns2eth1 ns2eth3 ns3eth2 ns3eth4 ns4eth3 # - drop 1% -> reorder 25% @@ -256,6 +242,8 @@ fi =20 check_mptcp_disabled() { + : "${rndh:?}" + local disabled_ns=3D"ns_disabled-$rndh" ip netns add ${disabled_ns} || exit $ksft_skip =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 0fb76e963cfd..7dec65a5ed75 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -21,8 +21,6 @@ cinsent=3D"" tmpfile=3D"" cout=3D"" capout=3D"" -ns1=3D"" -ns2=3D"" ksft_skip=3D4 iptables=3D"iptables" ip6tables=3D"ip6tables" @@ -80,21 +78,12 @@ init_partial() { capout=3D$(mktemp) =20 - local sec rndh - sec=3D$(date +%s) - rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) - - ns1=3D"ns1-$rndh" - ns2=3D"ns2-$rndh" + mptcp_lib_ns_init =20 local netns for netns in "$ns1" "$ns2"; do - ip netns add $netns || exit $ksft_skip - ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 ip netns exec $netns sysctl -q net.mptcp.pm_type=3D0 2>/dev/null || true - ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=3D0 - ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=3D0 if [ $checksum -eq 1 ]; then ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=3D1 fi @@ -139,11 +128,7 @@ cleanup_partial() { rm -f "$capout" =20 - local netns - for netns in "$ns1" "$ns2"; do - ip netns del $netns - rm -f /tmp/$netns.{nstat,out} - done + mptcp_lib_ns_exit } =20 check_tools() diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 198e3b3a8439..e8e1250e5ea6 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -468,6 +468,52 @@ mptcp_lib_verify_listener_events() { mptcp_lib_check_expected "type" "family" "saddr" "sport" } =20 +rndh=3D"" +ns1=3D"" +ns2=3D"" +ns3=3D"" +ns4=3D"" + +mptcp_lib_ns_init() { + : "${rndh?}" + : "${ns1?}" + : "${ns2?}" + : "${ns3?}" + : "${ns4?}" + + local sec + + sec=3D$(date +%s) + rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) + + ns1=3D"ns1-$rndh" + ns2=3D"ns2-$rndh" + ns3=3D"ns3-$rndh" + ns4=3D"ns4-$rndh" + + local netns + for netns in "$ns1" "$ns2" "$ns3" "$ns4"; do + ip netns add $netns || exit ${ksft_skip} + ip -net $netns link set lo up + + ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=3D0 + ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=3D0 + done +} + +mptcp_lib_ns_exit() { + : "${ns1:?}" + : "${ns2:?}" + : "${ns3:?}" + : "${ns4:?}" + + local netns + for netns in "$ns1" "$ns2" "$ns3" "$ns4"; do + ip netns del $netns + rm -f /tmp/$netns.{nstat,out} + done +} + mptcp_lib_cleanup() { : "${check_output_err:?}" =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index b82f7b0b85bc..ff49ee9b9cc2 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -13,11 +13,7 @@ timeout_test=3D$((timeout_poll * 2 + 1)) iptables=3D"iptables" ip6tables=3D"ip6tables" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns3=3D"ns3-$rndh" +mptcp_lib_ns_init =20 add_mark_rules() { @@ -41,11 +37,7 @@ init() { local netns for netns in "$ns1" "$ns2" "$ns3";do - ip netns add $netns || exit $ksft_skip - ip -net $netns link set lo up ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 - ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=3D0 - ip netns exec $netns sysctl -q net.ipv4.conf.default.rp_filter=3D0 done =20 local i @@ -78,10 +70,7 @@ init() =20 cleanup() { - local netns - for netns in "$ns1" "$ns2" "$ns3"; do - ip netns del $netns - done + mptcp_lib_ns_exit rm -f "$cin" "$cout" rm -f "$sin" "$sout" mptcp_lib_cleanup diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index c0fc6f82a8c7..8f99b138a59f 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -23,13 +23,11 @@ while getopts "$optstring" option;do esac done =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" +mptcp_lib_ns_init =20 cleanup() { - ip netns del $ns1 + mptcp_lib_ns_exit mptcp_lib_cleanup } =20 @@ -43,8 +41,6 @@ fi =20 trap cleanup EXIT =20 -ip netns add $ns1 || exit $ksft_skip -ip -net $ns1 link set lo up ip netns exec $ns1 sysctl -q net.mptcp.enabled=3D1 =20 check() diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 3536c7160ce5..c1a21cd8c076 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -3,11 +3,7 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sec=3D$(date +%s) -rndh=3D$(printf %x $sec)-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" -ns3=3D"ns3-$rndh" +mptcp_lib_ns_init capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 @@ -29,10 +25,7 @@ cleanup() rm -f "$large" "$small" rm -f "$capout" =20 - local netns - for netns in "$ns1" "$ns2" "$ns3";do - ip netns del $netns - done + mptcp_lib_ns_exit mptcp_lib_cleanup } =20 @@ -64,13 +57,6 @@ setup() =20 trap cleanup EXIT =20 - for i in "$ns1" "$ns2" "$ns3";do - ip netns add $i || exit $ksft_skip - ip -net $i link set lo up - ip netns exec $i sysctl -q net.ipv4.conf.all.rp_filter=3D0 - ip netns exec $i sysctl -q net.ipv4.conf.default.rp_filter=3D0 - done - ip link add ns1eth1 netns "$ns1" type veth peer name ns2eth1 netns "$ns2" ip link add ns1eth2 netns "$ns1" type veth peer name ns2eth2 netns "$ns2" ip link add ns2eth3 netns "$ns2" type veth peer name ns3eth1 netns "$ns3" diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index e78a79da3960..93f8b200ce49 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -40,10 +40,7 @@ app6_port=3D50004 client_addr_id=3D${RANDOM:0:2} server_addr_id=3D${RANDOM:0:2} =20 -sec=3D$(date +%s) -rndh=3D$(printf %x "$sec")-$(mktemp -u XXXXXX) -ns1=3D"ns1-$rndh" -ns2=3D"ns2-$rndh" +mptcp_lib_ns_init TEST_NAME=3D"" =20 _printf() { @@ -102,10 +99,7 @@ cleanup() done mptcp_lib_evts_kill =20 - local netns - for netns in "$ns1" "$ns2" ;do - ip netns del "$netns" - done + mptcp_lib_ns_exit =20 rm -rf $file mptcp_lib_evts_remove @@ -118,8 +112,6 @@ trap cleanup EXIT =20 # Create and configure network namespaces for testing for i in "$ns1" "$ns2" ;do - ip netns add "$i" || exit 1 - ip -net "$i" link set lo up ip netns exec "$i" sysctl -q net.mptcp.enabled=3D1 ip netns exec "$i" sysctl -q net.mptcp.pm_type=3D1 done --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 772AB12B76 for ; Tue, 5 Dec 2023 07:03:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="kUclUfIU" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759806; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=4Gk1W+dPOV80/N51poqyCbbPZJTcpffkAQ97qEF4I/8=; b=kUclUfIURqvMhFL5syS+8mj4pv6NFXs1hxouVfjOCmM7BsOl2yj3YwkvUJW0/WRwTVcjRJ 3FJpi3S3ZCCfME9kuNioWPsVUe7zHvLAnT8e8QTkg5Wr0a94JLjLc3WJ/lqk1n4Qhm7wPh IfNBFNVuWV4/HXVXL5T9/9k2Oo0zQjo= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 10/33] selftests: mptcp: add ss mptcp support checks Date: Tue, 5 Dec 2023 15:00:57 +0800 Message-Id: <2afa3057efa52aee85c01acccca8b6a2341ec13f.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Commands 'ss -M' are used in scripts mptcp_connect.sh, mptcp_join.sh, and mptcp_sockopt.sh to display only MPTCP sockets. So it must be checked if ss tool supports MPTCP in these script. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 6 ++++++ tools/testing/selftests/net/mptcp/mptcp_join.sh | 6 ++++++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 6 ++++++ 3 files changed, 18 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index e19b1fe67408..b554c2e9750e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -145,6 +145,12 @@ if [ $? -ne 0 ];then exit $ksft_skip fi =20 +ss -h | grep -q MPTCP +if [ $? -ne 0 ];then + echo "SKIP: ss tool does not support MPTCP" + exit $ksft_skip +fi + sin=3D$(mktemp) sout=3D$(mktemp) cin=3D$(mktemp) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 7dec65a5ed75..57a9ea9db2ec 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -141,6 +141,12 @@ check_tools() exit $ksft_skip fi =20 + ss -h | grep -q MPTCP + if [ $? -ne 0 ];then + echo "SKIP: ss tool does not support MPTCP" + exit $ksft_skip + fi + # Use the legacy version if available to support old kernel versions if iptables-legacy -V &> /dev/null; then iptables=3D"iptables-legacy" diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index ff49ee9b9cc2..2c11cad6b607 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -85,6 +85,12 @@ if [ $? -ne 0 ];then exit $ksft_skip fi =20 +ss -h | grep -q MPTCP +if [ $? -ne 0 ];then + echo "SKIP: ss tool does not support MPTCP" + exit $ksft_skip +fi + # Use the legacy version if available to support old kernel versions if iptables-legacy -V &> /dev/null; then iptables=3D"iptables-legacy" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0106714F6F for ; Tue, 5 Dec 2023 07:03:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="BafdhKBl" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759808; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=GLz6wMbXNShpx8cjlm//yAvOCQUXfEeS5C0ZVGN+4Vg=; b=BafdhKBlvZSH1TnfEZk/dNKak8NOhe9U+ArpSgh52tb8B0bMm+eL4L8EGW1RNT1/zwsqNR dEml3H1VO6g9xOeXdRuMpNbEuWyDE5GXP3LvokKw8L6H4P5lHaTfyOXGnRSVNPRLV3ZlmT nw3Gs2BQ0AaVHUOZshm3cMhWg0XoLUs= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 11/33] selftests: mptcp: add mptcp_lib_check_tools helper Date: Tue, 5 Dec 2023 15:00:58 +0800 Message-Id: <9e9f67f2fabe76ac49feafb01011fc2bd1c0bf21.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch exports check_tools() helper from mptcp_join.sh into mptcp_lib.sh as a public one mptcp_lib_check_tools(). The arguments "ip", "ss", and "iptables" are passed into this helper to indicate whether to check ip tool, ss tool and iptables tools. This helper can be used in every scripts. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 13 +----- .../selftests/net/mptcp/mptcp_connect.sh | 15 +------ .../testing/selftests/net/mptcp/mptcp_join.sh | 33 +-------------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 40 +++++++++++++++++++ .../selftests/net/mptcp/mptcp_sockopt.sh | 29 +------------- .../testing/selftests/net/mptcp/pm_netlink.sh | 8 +--- .../selftests/net/mptcp/simult_flows.sh | 8 +--- .../selftests/net/mptcp/userspace_pm.sh | 8 +--- 8 files changed, 47 insertions(+), 107 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 3119811018fc..1c86183864d3 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -31,18 +31,7 @@ cleanup() mptcp_lib_cleanup } =20 -mptcp_lib_check_mptcp - -ip -Version > /dev/null 2>&1 -if [ $? -ne 0 ];then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip -fi -ss -h | grep -q MPTCP -if [ $? -ne 0 ];then - echo "SKIP: ss tool does not support MPTCP" - exit $ksft_skip -fi +mptcp_lib_check_tools "ip" "ss" =20 get_msk_inuse() { diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index b554c2e9750e..cf9548e190b1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -136,20 +136,7 @@ cleanup() mptcp_lib_cleanup } =20 -mptcp_lib_check_mptcp -mptcp_lib_check_kallsyms - -ip -Version > /dev/null 2>&1 -if [ $? -ne 0 ];then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip -fi - -ss -h | grep -q MPTCP -if [ $? -ne 0 ];then - echo "SKIP: ss tool does not support MPTCP" - exit $ksft_skip -fi +mptcp_lib_check_tools "ip" "ss" =20 sin=3D$(mktemp) sout=3D$(mktemp) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 57a9ea9db2ec..b5d149008d21 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -22,8 +22,6 @@ tmpfile=3D"" cout=3D"" capout=3D"" ksft_skip=3D4 -iptables=3D"iptables" -ip6tables=3D"ip6tables" timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) capture=3D0 @@ -131,39 +129,10 @@ cleanup_partial() mptcp_lib_ns_exit } =20 -check_tools() -{ - mptcp_lib_check_mptcp - mptcp_lib_check_kallsyms - - if ! ip -Version &> /dev/null; then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip - fi - - ss -h | grep -q MPTCP - if [ $? -ne 0 ];then - echo "SKIP: ss tool does not support MPTCP" - exit $ksft_skip - fi - - # Use the legacy version if available to support old kernel versions - if iptables-legacy -V &> /dev/null; then - iptables=3D"iptables-legacy" - ip6tables=3D"ip6tables-legacy" - elif ! iptables -V &> /dev/null; then - echo "SKIP: Could not run all tests without iptables tool" - exit $ksft_skip - elif ! ip6tables -V &> /dev/null; then - echo "SKIP: Could not run all tests without ip6tables tool" - exit $ksft_skip - fi -} - init() { init=3D1 =20 - check_tools + mptcp_lib_check_tools "ip" "ss" "iptables" =20 sin=3D$(mktemp) sout=3D$(mktemp) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index e8e1250e5ea6..491730cf24dc 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -514,6 +514,46 @@ mptcp_lib_ns_exit() { done } =20 +iptables=3D"iptables" +ip6tables=3D"ip6tables" + +mptcp_lib_check_tools() { + : "${iptables:?}" + : "${ip6tables:?}" + + mptcp_lib_check_mptcp + mptcp_lib_check_kallsyms + + if [ "${1:-""}" =3D=3D "ip" ]; then + if ! ip -Version &> /dev/null; then + mptcp_lib_print_warn "SKIP: Could not run test without ip tool" + exit $ksft_skip + fi + fi + + if [ "${2:-""}" =3D=3D "ss" ]; then + ss -h | grep -q MPTCP + if [ $? -ne 0 ];then + mptcp_lib_print_warn "SKIP: ss tool does not support MPTCP" + exit $ksft_skip + fi + fi + + if [ "${3:-""}" =3D=3D "iptables" ]; then + # Use the legacy version if available to support old kernel versions + if iptables-legacy -V &> /dev/null; then + iptables=3D"iptables-legacy" + ip6tables=3D"ip6tables-legacy" + elif ! iptables -V &> /dev/null; then + mptcp_lib_print_warn "SKIP: Could not run all tests without iptables to= ol" + exit $ksft_skip + elif ! ip6tables -V &> /dev/null; then + mptcp_lib_print_warn "SKIP: Could not run all tests without ip6tables t= ool" + exit $ksft_skip + fi + fi +} + mptcp_lib_cleanup() { : "${check_output_err:?}" =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 2c11cad6b607..2290b3290214 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -10,8 +10,6 @@ cout=3D"" ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -iptables=3D"iptables" -ip6tables=3D"ip6tables" =20 mptcp_lib_ns_init =20 @@ -76,32 +74,7 @@ cleanup() mptcp_lib_cleanup } =20 -mptcp_lib_check_mptcp -mptcp_lib_check_kallsyms - -ip -Version > /dev/null 2>&1 -if [ $? -ne 0 ];then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip -fi - -ss -h | grep -q MPTCP -if [ $? -ne 0 ];then - echo "SKIP: ss tool does not support MPTCP" - exit $ksft_skip -fi - -# Use the legacy version if available to support old kernel versions -if iptables-legacy -V &> /dev/null; then - iptables=3D"iptables-legacy" - ip6tables=3D"ip6tables-legacy" -elif ! iptables -V &> /dev/null; then - echo "SKIP: Could not run all tests without iptables tool" - exit $ksft_skip -elif ! ip6tables -V &> /dev/null; then - echo "SKIP: Could not run all tests without ip6tables tool" - exit $ksft_skip -fi +mptcp_lib_check_tools "ip" "ss" "iptables" =20 check_mark() { diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 8f99b138a59f..e8ecf292a38f 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -31,13 +31,7 @@ cleanup() mptcp_lib_cleanup } =20 -mptcp_lib_check_mptcp - -ip -Version > /dev/null 2>&1 -if [ $? -ne 0 ];then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip -fi +mptcp_lib_check_tools "ip" =20 trap cleanup EXIT =20 diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index c1a21cd8c076..57180c2da605 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -29,13 +29,7 @@ cleanup() mptcp_lib_cleanup } =20 -mptcp_lib_check_mptcp - -ip -Version > /dev/null 2>&1 -if [ $? -ne 0 ];then - echo "SKIP: Could not run test without ip tool" - exit $ksft_skip -fi +mptcp_lib_check_tools "ip" =20 # "$ns1" ns2 ns3 # ns1eth1 ns2eth1 ns2eth3 ns3eth1 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 93f8b200ce49..50eda314ec2e 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -10,19 +10,13 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -mptcp_lib_check_mptcp -mptcp_lib_check_kallsyms +mptcp_lib_check_tools "ip" =20 if ! mptcp_lib_has_file '/proc/sys/net/mptcp/pm_type'; then echo "userspace pm tests are not supported by the kernel: SKIP" exit ${KSFT_SKIP} fi =20 -if ! ip -Version &> /dev/null; then - echo "SKIP: Cannot not run test without ip tool" - exit ${KSFT_SKIP} -fi - file=3D"" client4_pid=3D0 server4_pid=3D0 --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-175.mta1.migadu.com (out-175.mta1.migadu.com [95.215.58.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5180B12B76 for ; Tue, 5 Dec 2023 07:03:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="hv8tcL4W" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759809; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=sUFy/OQpMFPAtwyejkgHsGYU2fSeEpLXVJ0YrAQ8kmg=; b=hv8tcL4W8GiSlFsVPyg1R8V4fmWJRtR+YVlUbbWO9Ds1BVHusUHI1iCYEsOykw5mtjE98F RXOyzgkVFNHAAJEaHNy6Aeexndf13m79MUHOsn9XTT5EsFraTm1Dk/y6Ec/7m5dc1QnnHV weA+FvyvvQMF4WhYKKLu677tfjAdfrM= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 12/33] selftests: mptcp: diag: print colored output Date: Tue, 5 Dec 2023 15:00:59 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use mptcp_lib_print_ok(), _warn(), and _err() helpers in script diag.sh to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 1c86183864d3..79f77998d7c4 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -51,15 +51,15 @@ __chk_nr() printf "%-50s" "$msg" if [ $nr !=3D $expected ]; then if [ $nr =3D "$skip" ] && ! mptcp_lib_expect_all_features; then - echo "[ SKIP ] Feature probably not supported" + mptcp_lib_print_warn "[ SKIP ] Feature probably not supported" mptcp_lib_result_skip "${msg}" else - echo "[ FAIL ] expected $expected found $nr" + mptcp_lib_print_err "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg}" ret=3D$test_cnt fi else - echo "[ OK ]" + mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) @@ -100,15 +100,15 @@ wait_msk_nr() =20 printf "%-50s" "$msg" if [ $i -ge $timeout ]; then - echo "[ FAIL ] timeout while expecting $expected max $max last $nr" + mptcp_lib_print_err "[ FAIL ] timeout while expecting $expected max $max= last $nr" mptcp_lib_result_fail "${msg} # timeout" ret=3D$test_cnt elif [ $nr !=3D $expected ]; then - echo "[ FAIL ] expected $expected found $nr" + mptcp_lib_print_err "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg} # unexpected result" ret=3D$test_cnt else - echo "[ OK ]" + mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "${msg}" fi test_cnt=3D$((test_cnt+1)) --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BBF0B14F6F for ; Tue, 5 Dec 2023 07:03:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="bnNYDc97" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759810; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=OtdihN2qTzJDHy87Xwj42b0HcvuCBrxUSrd4eh7uHgY=; b=bnNYDc97inTy8qw2v/qVWJr/r2Xbgp6/W6E1S/slgEblMjjc2oxihOlLlcAk4fLulL2pZ1 UZpAtzeeymFnLa3RLYX9vfhutZv2+GgbrOKWfl36hgPWw9zvDXGIG8YWP6GrrPTbRSJf9L +CGY2oI+j+Fab3Uqg+QkkgOy+hBqet4= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 13/33] selftests: mptcp: connect: print colored output Date: Tue, 5 Dec 2023 15:01:00 +0800 Message-Id: <9cc26a5f783587deaf7ab5982e8dc4a0f0b2f1dc.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use mptcp_lib_print_info() and _ok() helpers in script mptcp_connect.sh to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.sh | 24 ++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index cf9548e190b1..e566b57d5cc1 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -242,7 +242,8 @@ check_mptcp_disabled() =20 # net.mptcp.enabled should be enabled by default if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ pr= int $3 }')" -ne 1 ]; then - echo -e "net.mptcp.enabled sysctl is not 1 by default\t\t[ FAIL ]" + echo -n -e "net.mptcp.enabled sysctl is not 1 by default\t\t" + mptcp_lib_print_err "\t\t [ FAIL ]" mptcp_lib_result_fail "net.mptcp.enabled sysctl is not 1 by default" ret=3D1 return 1 @@ -255,13 +256,15 @@ check_mptcp_disabled() ip netns delete ${disabled_ns} =20 if [ ${err} -eq 0 ]; then - echo -e "New MPTCP socket cannot be blocked via sysctl\t\t[ FAIL ]" + echo -n -e "New MPTCP socket cannot be blocked via sysctl\t\t" + mptcp_lib_print_err "\t\t [ FAIL ]" mptcp_lib_result_fail "New MPTCP socket cannot be blocked via sysctl" ret=3D1 return 1 fi =20 - echo -e "New MPTCP socket can be blocked via sysctl\t\t[ OK ]" + echo -n -e "New MPTCP socket can be blocked via sysctl\t\t" + mptcp_lib_print_ok "\t\t [ OK ]" mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 } @@ -477,7 +480,7 @@ do_transfer() fi =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ]; then - printf "[ OK ]" + mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "${TEST_GROUP}: ${result_msg}" else mptcp_lib_result_fail "${TEST_GROUP}: ${result_msg}" @@ -508,7 +511,6 @@ do_transfer() "${expect_ackrx}" "${stat_ackrx_now_l}" fi =20 - echo cat "$capout" [ $retc -eq 0 ] && [ $rets -eq 0 ] } @@ -684,7 +686,7 @@ EOF return fi =20 - echo "INFO: test $msg" + mptcp_lib_print_info "INFO: test $msg" =20 TEST_COUNT=3D10000 local extra_args=3D"-o TRANSPARENT" @@ -711,7 +713,7 @@ run_tests_peekmode() local peekmode=3D"$1" =20 TEST_GROUP=3D"peek mode: ${peekmode}" - echo "INFO: with peek mode: ${peekmode}" + mptcp_lib_print_info "INFO: with peek mode: ${peekmode}" run_tests_lo "$ns1" "$ns1" 10.0.1.1 1 "-P ${peekmode}" run_tests_lo "$ns1" "$ns1" dead:beef:1::1 1 "-P ${peekmode}" } @@ -726,7 +728,7 @@ run_tests_mptfo() return fi =20 - echo "INFO: with MPTFO start" + mptcp_lib_print_info "INFO: with MPTFO start" ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=3D2 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=3D1 =20 @@ -738,7 +740,7 @@ run_tests_mptfo() =20 ip netns exec "$ns1" sysctl -q net.ipv4.tcp_fastopen=3D0 ip netns exec "$ns2" sysctl -q net.ipv4.tcp_fastopen=3D0 - echo "INFO: with MPTFO end" + mptcp_lib_print_info "INFO: with MPTFO end" } =20 run_tests_disconnect() @@ -762,7 +764,7 @@ run_tests_disconnect() cin_disconnect=3D"$old_cin" connect_per_transfer=3D3 =20 - echo "INFO: disconnect" + mptcp_lib_print_info "INFO: disconnect" run_tests_lo "$ns1" "$ns1" 10.0.1.1 1 "-I 3 -i $old_cin" run_tests_lo "$ns1" "$ns1" dead:beef:1::1 1 "-I 3 -i $old_cin" =20 @@ -811,7 +813,7 @@ check_mptcp_disabled =20 stop_if_error "The kernel configuration is not valid for MPTCP" =20 -echo "INFO: validating network environment with pings" +mptcp_lib_print_info "INFO: validating network environment with pings" for sender in "$ns1" "$ns2" "$ns3" "$ns4";do do_ping "$ns1" $sender 10.0.1.1 do_ping "$ns1" $sender dead:beef:1::1 --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8649415AE0 for ; Tue, 5 Dec 2023 07:03:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="W1ICkCep" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759812; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=twa+zf++T2p1ks/c8QavHDePfhiK0c35fL1o4rTAweI=; b=W1ICkCepTe4txuCIdH+fRcprmpeiaVhTVD64LuVTM60IpVu+xaBzvQleIsY/BE8/j20yGt iAuzu1DFE3OSHouv0O40Feaha28UCIIfieSMB/BIMPKgvkUqH8o9nD/TTybrZXsSszEA/F V2f1WiGuRQmVwIK1t1HcFUpOaBtJ8lQ= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 14/33] selftests: mptcp: sockopt: print every test result Date: Tue, 5 Dec 2023 15:01:01 +0800 Message-Id: <60b81e1e81a4f57d3e7429511bbf7fdcd05e8a6d.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Only total test results are printed out in mptcp_sockopt.sh: PASS: all packets had packet mark set PASS: SOL_MPTCP getsockopt has expected information PASS: TCP_INQ cmsg/ioctl -t tcp PASS: TCP_INQ cmsg/ioctl -6 -t tcp PASS: TCP_INQ cmsg/ioctl -r tcp PASS: TCP_INQ cmsg/ioctl -6 -r tcp This patch prints more info for every test result in each test group: transfer ipv4 [ OK ] mark ipv4 [ OK ] transfer ipv6 [ OK ] mark ipv6 [ OK ] PASS: all packets had packet mark set sockopt v4 [ OK ] sockopt v6 [ OK ] PASS: SOL_MPTCP getsockopt has expected information TCP_INQ: -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -t tcp TCP_INQ: -6 -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -6 -t tcp TCP_INQ: -r tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -r tcp TCP_INQ: -6 -r tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -6 -r tcp TCP_INQ: -r tcp -t tcp [ OK ] Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 2290b3290214..8cee8bc6d6e5 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -152,6 +152,7 @@ do_transfer() wait $spid local rets=3D$? =20 + printf "%-25s %35s" "transfer ${ip}" " " if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then echo " client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 @@ -160,12 +161,15 @@ do_transfer() echo -e "\nnetns ${connector_ns} socket stat for ${port}:" 1>&2 ip netns exec ${connector_ns} ss -Menita 1>&2 -o "dport =3D :$port" =20 + mptcp_lib_print_err "[ FAIL ]" mptcp_lib_result_fail "transfer ${ip}" =20 ret=3D1 return 1 fi + mptcp_lib_print_ok "[ OK ]" =20 + printf "%-25s %35s" "mark ${ip}" " " if [ $local_addr =3D "::" ];then check_mark $listener_ns 6 || retc=3D1 check_mark $connector_ns 6 || retc=3D1 @@ -181,8 +185,10 @@ do_transfer() mptcp_lib_result_code "${rets}" "transfer ${ip}" =20 if [ $retc -eq 0 ] && [ $rets -eq 0 ];then + mptcp_lib_print_ok "[ OK ]" return 0 fi + mptcp_lib_print_err "[ FAIL ]" =20 return 1 } @@ -211,23 +217,27 @@ do_mptcp_sockopt_tests() ip netns exec "$ns3" ./mptcp_sockopt lret=3D$? =20 + printf "%-25s %35s" "sockopt v4" " " if [ $lret -ne 0 ]; then echo "FAIL: SOL_MPTCP getsockopt" 1>&2 mptcp_lib_result_fail "sockopt v4" ret=3D$lret return fi + mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "sockopt v4" =20 ip netns exec "$ns3" ./mptcp_sockopt -6 lret=3D$? =20 + printf "%-25s %35s" "sockopt v6" " " if [ $lret -ne 0 ]; then echo "FAIL: SOL_MPTCP getsockopt (ipv6)" 1>&2 mptcp_lib_result_fail "sockopt v6" ret=3D$lret return fi + mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "sockopt v6" } =20 @@ -250,6 +260,7 @@ run_tests() =20 do_tcpinq_test() { + printf "%-25s %35s" "TCP_INQ: $*" " " ip netns exec "$ns3" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then @@ -258,6 +269,7 @@ do_tcpinq_test() mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi + mptcp_lib_print_ok "[ OK ]" =20 echo "PASS: TCP_INQ cmsg/ioctl $@" mptcp_lib_result_pass "TCP_INQ: $*" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 35D1214F6F for ; Tue, 5 Dec 2023 07:03:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="qRf5bCBb" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759813; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=UF+VA+ZcS+SqGL38NaBYnD2qC3xK3bpP/oFN6TX8Mkg=; b=qRf5bCBbpqiITw3ehC89zNaVactSQ9VmaPzW4bn1/1M8HDGqYoGegS3lsYGrroAUzIhTeD WsR8BNuyR+eiomsmhyB6rCEts2AC7MYMRc0WtqDAcbiKjiPriPJ+4Nvm0/b8UMpTgqSSUz xuYNXwdSOZ+IozhbevlFPYfj/rAURkg= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 15/33] selftests: mptcp: sockopt: print colored output Date: Tue, 5 Dec 2023 15:01:02 +0800 Message-Id: <2a9e85785954222d64cf9f30ff3e8d8f5db50ad1.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use mptcp_lib_print_info(), _warn() and _err() helpers in script mptcp_sockopt.sh to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_sockopt.sh | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 8cee8bc6d6e5..338d48c248c4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -209,7 +209,7 @@ do_mptcp_sockopt_tests() local lret=3D0 =20 if ! mptcp_lib_kallsyms_has "mptcp_diag_fill_info$"; then - echo "INFO: MPTCP sockopt not supported: SKIP" + mptcp_lib_print_warn "INFO: MPTCP sockopt not supported: SKIP" mptcp_lib_result_skip "sockopt" return fi @@ -219,7 +219,7 @@ do_mptcp_sockopt_tests() =20 printf "%-25s %35s" "sockopt v4" " " if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt" 1>&2 + mptcp_lib_print_err "[ FAIL ] SOL_MPTCP getsockopt" mptcp_lib_result_fail "sockopt v4" ret=3D$lret return @@ -232,7 +232,7 @@ do_mptcp_sockopt_tests() =20 printf "%-25s %35s" "sockopt v6" " " if [ $lret -ne 0 ]; then - echo "FAIL: SOL_MPTCP getsockopt (ipv6)" 1>&2 + mptcp_lib_print_err "[ FAIL] SOL_MPTCP getsockopt (ipv6)" mptcp_lib_result_fail "sockopt v6" ret=3D$lret return @@ -265,13 +265,13 @@ do_tcpinq_test() local lret=3D$? if [ $lret -ne 0 ];then ret=3D$lret - echo "FAIL: mptcp_inq $@" 1>&2 + mptcp_lib_print_err "[ FAIL ] mptcp_inq $@" mptcp_lib_result_fail "TCP_INQ: $*" return $lret fi mptcp_lib_print_ok "[ OK ]" =20 - echo "PASS: TCP_INQ cmsg/ioctl $@" + mptcp_lib_print_info "PASS: TCP_INQ cmsg/ioctl $@" mptcp_lib_result_pass "TCP_INQ: $*" return $lret } @@ -281,7 +281,7 @@ do_tcpinq_tests() local lret=3D0 =20 if ! mptcp_lib_kallsyms_has "mptcp_ioctl$"; then - echo "INFO: TCP_INQ not supported: SKIP" + mptcp_lib_print_warn "INFO: TCP_INQ not supported: SKIP" mptcp_lib_result_skip "TCP_INQ" return fi @@ -318,12 +318,12 @@ run_tests $ns1 $ns2 10.0.1.1 run_tests $ns1 $ns2 dead:beef:1::1 =20 if [ $ret -eq 0 ];then - echo "PASS: all packets had packet mark set" + mptcp_lib_print_info "PASS: all packets had packet mark set" fi =20 do_mptcp_sockopt_tests if [ $ret -eq 0 ];then - echo "PASS: SOL_MPTCP getsockopt has expected information" + mptcp_lib_print_info "PASS: SOL_MPTCP getsockopt has expected information" fi =20 do_tcpinq_tests --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-181.mta1.migadu.com (out-181.mta1.migadu.com [95.215.58.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8DC7915E96 for ; Tue, 5 Dec 2023 07:03:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="kOCdjeOZ" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759814; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=WWHXiQwfyIpeIyro7oM2LbAI6cPLPkugw4Vf6apdZis=; b=kOCdjeOZsioLKF4PeTFIq1TlfL8MUaF8YNK8KU8V2eCI3MBS4XBc/1N1JgGLYa3aSoCnbo 97Ab1w2ScsqueN/x8gpOaYWcrKbRQ7zupZ+6vxtcg+cZ/GJUJZ0139pYWjhmOqR13Pf6wD 9UBMWscgZ/bdYwH7TngaMCO+Zixlvws= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 16/33] selftests: mptcp: simult flows: print colored output Date: Tue, 5 Dec 2023 15:01:03 +0800 Message-Id: <89843ee11da68acaa5c715a9a79a7d43770c7fd5.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use mptcp_lib_print_ok() and _err() helpers in script simult_flows.sh to print test results with colors. Having colors helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/simult_flows.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 57180c2da605..c077e05e1319 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -169,12 +169,12 @@ do_transfer() printf "%-16s" " max $max_time " if [ $retc -eq 0 ] && [ $rets -eq 0 ] && \ [ $cmpc -eq 0 ] && [ $cmps -eq 0 ]; then - echo "[ OK ]" + mptcp_lib_print_ok "[ OK ]" cat "$capout" return 0 fi =20 - echo " [ FAIL ]" + mptcp_lib_print_err " [ FAIL ]" echo "client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${ns3} socket stat for $port:" 1>&2 ip netns exec ${ns3} ss -nita 1>&2 -o "sport =3D :$port" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CC55F14F6F for ; Tue, 5 Dec 2023 07:03:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="d4DxseCw" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759816; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Yhmzt2uJ/3/WEUlr/OF15tMloJsv0oiYV/qEInGAMLQ=; b=d4DxseCwLygEfemF3W8FsOrLAYwZl6swDl421JoFBklT09ITjwCfHvKJtcUeS8sryn4rc/ PclNmXv9qB4BhW+NkS0tswrpaesRFn/+GdaZ8+sOJCJMDP71gbTIH7CHpGxbs6h2DGuRcR 3o7tcP1h3svx2Xaah3a3tcFfCrroWes= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 17/33] selftests: mptcp: connect: add PORT instead of TEST_COUNT Date: Tue, 5 Dec 2023 15:01:04 +0800 Message-Id: <344a857e9bab13204de27b46797f1b3e1edc221c.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch adds a new counter 'PORT' instead of TEST_COUNT to increase port numbers in mptcp_connect.sh. This can avoid outputting discontinuous test counters. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index e566b57d5cc1..8e28e9859415 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -28,6 +28,7 @@ do_tcp=3D0 checksum=3Dfalse filesize=3D0 connect_per_transfer=3D1 +PORT=3D0 =20 if [ $tc_loss -eq 100 ];then tc_loss=3D1% @@ -305,8 +306,9 @@ do_transfer() local extra_args=3D"$7" =20 local port - port=3D$((10000+$TEST_COUNT)) + port=3D$((10000+$PORT)) TEST_COUNT=3D$((TEST_COUNT+1)) + PORT=3D$((PORT+1)) =20 if [ "$rcvbuf" -gt 0 ]; then extra_args=3D"$extra_args -R $rcvbuf" @@ -688,7 +690,7 @@ EOF =20 mptcp_lib_print_info "INFO: test $msg" =20 - TEST_COUNT=3D10000 + PORT=3D10000 local extra_args=3D"-o TRANSPARENT" do_transfer ${listener_ns} ${connector_ns} MPTCP MPTCP \ ${connect_addr} ${local_addr} "${extra_args}" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com [95.215.58.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1668D15E89 for ; Tue, 5 Dec 2023 07:03:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Rz8jO197" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759817; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=N0g3PLWAVYL817HRUbQFSci936+suGjRFRQPPgkxZ04=; b=Rz8jO197Q+8EunSv82FIKL2Gf3pCNiicsOq0qUY72NimnKPT488SrC8w2MYnqBqGL+Kjcq zsvRvK11Im5QfO4y9S5BaEXkT4WKzLdqzW7TQ1WwjATtMU86QkVC7nhwGIhOVOt3fkg8zh qOcv+sWzbygXIV3VQp0DBGQ+cRlUJxU= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 18/33] selftests: mptcp: connect: print out test counter Date: Tue, 5 Dec 2023 15:01:05 +0800 Message-Id: <4aef05b71603926f73624d2b2771c3a1fab2cf9f.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in mptcp_connect.sh. The output looks like: 01 New MPTCP socket can be blocked via sysctl [ OK ] INFO: validating network environment with pings 02 ping tests [ OK ] INFO: Using loss of 0.16% delay 25 ms reorder .. with delay 6ms on ns3eth4 03 ns1 MPTCP -> ns1 (10.0.1.1:10000 ) MPTCP (duration 116ms) [ OK ] 04 ns1 MPTCP -> ns1 (10.0.1.1:10001 ) TCP (duration 33ms) [ OK ] 05 ns1 TCP -> ns1 (10.0.1.1:10002 ) MPTCP (duration 25ms) [ OK ] 06 ns1 MPTCP -> ns1 (dead:beef:1::1:10003) MPTCP (duration 128ms) [ OK ] 07 ns1 MPTCP -> ns1 (dead:beef:1::1:10004) TCP (duration 31ms) [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.sh | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 8e28e9859415..011980ec6b6f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -264,7 +264,7 @@ check_mptcp_disabled() return 1 fi =20 - echo -n -e "New MPTCP socket can be blocked via sysctl\t\t" + echo -n -e "0${TEST_COUNT} New MPTCP socket can be blocked via sysctl\t\t" mptcp_lib_print_ok "\t\t [ OK ]" mptcp_lib_result_pass "New MPTCP socket can be blocked via sysctl" return 0 @@ -334,7 +334,8 @@ do_transfer() local addr_port addr_port=3D$(printf "%s:%d" ${connect_addr} ${port}) local result_msg - result_msg=3D"$(printf "%.3s %-5s -> %.3s (%-20s) %-5s" ${connector_ns} $= {cl_proto} ${listener_ns} ${addr_port} ${srv_proto})" + result_msg=3D"$(printf "%02u %.3s %-5s -> %.3s (%-20s) %-5s" \ + ${TEST_COUNT} ${connector_ns} ${cl_proto} ${listener_ns} ${addr_port} ${= srv_proto})" printf "%s\t" "${result_msg}" =20 if $capture; then @@ -638,7 +639,8 @@ run_test_transparent() # following function has been exported (T). Not great but better than # checking for a specific kernel version. if ! mptcp_lib_kallsyms_has "T __ip_sock_set_tos$"; then - echo "INFO: ${msg} not supported by the kernel: SKIP" + TEST_COUNT=3D$((TEST_COUNT+1)) + echo "${TEST_COUNT} INFO: ${msg} not supported by the kernel: SKIP" mptcp_lib_result_skip "${TEST_GROUP}" return fi @@ -655,7 +657,8 @@ table inet mangle { } EOF if [ $? -ne 0 ]; then - echo "SKIP: $msg, could not load nft ruleset" + TEST_COUNT=3D$((TEST_COUNT+1)) + echo "${TEST_COUNT} SKIP: $msg, could not load nft ruleset" mptcp_lib_fail_if_expected_feature "nft rules" mptcp_lib_result_skip "${TEST_GROUP}" return @@ -671,8 +674,9 @@ EOF =20 ip -net "$listener_ns" $r6flag rule add fwmark 1 lookup 100 if [ $? -ne 0 ]; then + TEST_COUNT=3D$((TEST_COUNT+1)) ip netns exec "$listener_ns" nft flush ruleset - echo "SKIP: $msg, ip $r6flag rule failed" + echo "${TEST_COUNT} SKIP: $msg, ip $r6flag rule failed" mptcp_lib_fail_if_expected_feature "ip rule" mptcp_lib_result_skip "${TEST_GROUP}" return @@ -680,9 +684,10 @@ EOF =20 ip -net "$listener_ns" route add local $local_addr/0 dev lo table 100 if [ $? -ne 0 ]; then + TEST_COUNT=3D$((TEST_COUNT+1)) ip netns exec "$listener_ns" nft flush ruleset ip -net "$listener_ns" $r6flag rule del fwmark 1 lookup 100 - echo "SKIP: $msg, ip route add local $local_addr failed" + echo "${TEST_COUNT} SKIP: $msg, ip route add local $local_addr failed" mptcp_lib_fail_if_expected_feature "ip route" mptcp_lib_result_skip "${TEST_GROUP}" return @@ -811,10 +816,12 @@ stop_if_error() make_file "$cin" "client" make_file "$sin" "server" =20 +TEST_COUNT=3D$((TEST_COUNT+1)) check_mptcp_disabled =20 stop_if_error "The kernel configuration is not valid for MPTCP" =20 +TEST_COUNT=3D$((TEST_COUNT+1)) mptcp_lib_print_info "INFO: validating network environment with pings" for sender in "$ns1" "$ns2" "$ns3" "$ns4";do do_ping "$ns1" $sender 10.0.1.1 @@ -838,6 +845,9 @@ mptcp_lib_result_code "${ret}" "ping tests" =20 stop_if_error "Could not even run ping tests" =20 +echo -n -e "0${TEST_COUNT} ping tests\t\t" +mptcp_lib_print_ok "\t\t\t\t\t\t [ OK ]" + [ -n "$tc_loss" ] && tc -net "$ns2" qdisc add dev ns2eth3 root netem loss = random $tc_loss delay ${tc_delay}ms echo -n "INFO: Using loss of $tc_loss " test "$tc_delay" -gt 0 && echo -n "delay $tc_delay ms " --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-171.mta1.migadu.com (out-171.mta1.migadu.com [95.215.58.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A428B14F6F for ; Tue, 5 Dec 2023 07:03:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="KV9oaU1w" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759818; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=NFtbUfSnlg269Iz4kNIf/xfQceiSvmLCcxrHqg3R1vQ=; b=KV9oaU1wJhanU7mpXJCRsOEQV0Lfr25T27U82N1NPke/y+mYaU60Dp7PxL9u9r5RHVen90 LGWcdLd+HD9KNZ/8B4hFa+27W7Onxbk0BPBS+Kw1QDWgXGtFgbAo8/Ij6vt1IHOWrbKUdR MuXcwN3JVkZpJU3l5vcSGwxbAVFUO6M= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 19/33] selftests: mptcp: rename test_cnt to TEST_COUNT Date: Tue, 5 Dec 2023 15:01:06 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Most scripts use variable TEST_COUNT, but test_cnt are used in diag.sh and simult_flows.sh. To maintain consistency with other scripts, this patch renames them as TEST_COUNT: test_cnt -> TEST_COUNT in diag.sh, simult_flows.sh Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 12 ++++++------ tools/testing/selftests/net/mptcp/simult_flows.sh | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 79f77998d7c4..47a37d379c9a 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,7 +5,7 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -test_cnt=3D1 +TEST_COUNT=3D1 timeout_poll=3D100 timeout_test=3D$((timeout_poll * 2 + 1)) =20 @@ -56,13 +56,13 @@ __chk_nr() else mptcp_lib_print_err "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg}" - ret=3D$test_cnt + ret=3D$TEST_COUNT fi else mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+1)) + TEST_COUNT=3D$((TEST_COUNT+1)) } =20 __chk_msk_nr() @@ -102,16 +102,16 @@ wait_msk_nr() if [ $i -ge $timeout ]; then mptcp_lib_print_err "[ FAIL ] timeout while expecting $expected max $max= last $nr" mptcp_lib_result_fail "${msg} # timeout" - ret=3D$test_cnt + ret=3D$TEST_COUNT elif [ $nr !=3D $expected ]; then mptcp_lib_print_err "[ FAIL ] expected $expected found $nr" mptcp_lib_result_fail "${msg} # unexpected result" - ret=3D$test_cnt + ret=3D$TEST_COUNT else mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "${msg}" fi - test_cnt=3D$((test_cnt+1)) + TEST_COUNT=3D$((TEST_COUNT+1)) } =20 chk_msk_fallback_nr() diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index c077e05e1319..b2b31bb49543 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -8,7 +8,7 @@ capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -test_cnt=3D1 +TEST_COUNT=3D1 bail=3D0 slack=3D50 =20 @@ -109,8 +109,8 @@ do_transfer() local sin=3D$2 local max_time=3D$3 local port - port=3D$((10000+$test_cnt)) - test_cnt=3D$((test_cnt+1)) + port=3D$((10000+$TEST_COUNT)) + TEST_COUNT=3D$((TEST_COUNT+1)) =20 :> "$cout" :> "$sout" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-176.mta1.migadu.com (out-176.mta1.migadu.com [95.215.58.176]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A8F3D15E89 for ; Tue, 5 Dec 2023 07:03:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Byn0DPAQ" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759820; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=Uh1sdNzB8uUsiBgFVI34ay42V88kJbcHIF4iFnXIz6c=; b=Byn0DPAQCRu13+DBD2UQjIOejDfCWOEIC256kKgSOkGvG7+RHyEQQ/q6gHqU4GPf2AhCfN Zd3qiBI2f317KhfiBdvACZssdt2kAXrXRSNPFFKK4oJsKMYRv4rfmKDP7ovTuOGoziAjij GpQ3Wa/mpS0YHn/ukLVpzxP7fIrKcHA= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 20/33] selftests: mptcp: diag: print out test counter Date: Tue, 5 Dec 2023 15:01:07 +0800 Message-Id: <0f13394f3c3d057d2a3bdede5c9dc91e633c5a2d.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in script diag.sh. The output looks like: 01 no msk on netns creation [ OK ] 02 listen match for dport 10000 [ OK ] 03 listen match for sport 10000 [ OK ] 04 listen match for saddr and sport [ OK ] 05 all listen sockets [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 47a37d379c9a..d1ea35e590f3 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,7 +5,7 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -TEST_COUNT=3D1 +TEST_COUNT=3D0 timeout_poll=3D100 timeout_test=3D$((timeout_poll * 2 + 1)) =20 @@ -48,7 +48,7 @@ __chk_nr() =20 nr=3D$(eval $command) =20 - printf "%-50s" "$msg" + printf "%02u %-50s" "$((TEST_COUNT+1))" "$msg" if [ $nr !=3D $expected ]; then if [ $nr =3D "$skip" ] && ! mptcp_lib_expect_all_features; then mptcp_lib_print_warn "[ SKIP ] Feature probably not supported" @@ -98,7 +98,7 @@ wait_msk_nr() sleep 1 done =20 - printf "%-50s" "$msg" + printf "%02u %-50s" "$((TEST_COUNT+1))" "$msg" if [ $i -ge $timeout ]; then mptcp_lib_print_err "[ FAIL ] timeout while expecting $expected max $max= last $nr" mptcp_lib_result_fail "${msg} # timeout" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-180.mta1.migadu.com (out-180.mta1.migadu.com [95.215.58.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF83315E8C for ; Tue, 5 Dec 2023 07:03:42 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="Jwtq0swb" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759821; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=QMJL1moSnJ4jOUJn5yId8/ZOtacTjP44syTTcbYybd0=; b=Jwtq0swbIVn0D2TpcG6uHFDz6EijKh3wCgHqLH9du/sjee5g+kqM+7Cmq0vI2ynAxfxNB6 5x5Fv2VnSKDP9YkFBIE5V144cr8D86zmKhryEFx9NWGvRKvVxObpc1KOO5IzBePiphT13X eXYIONOPx0jb9CLisCAZ93KDWtrRgiA= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 21/33] selftests: mptcp: simult flows: print out test counter Date: Tue, 5 Dec 2023 15:01:08 +0800 Message-Id: <5a86e0363db674b567f5b10278ab95f591d221e3.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in script simult_flows.sh. The output looks like: 01 balanced bwidth 7411 max 8456 [ OK ] 02 balanced bwidth - reverse direction 7380 max 8456 [ OK ] 03 balanced bwidth with unbalanced delay 7434 max 8456 [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/simult_flows.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index b2b31bb49543..8fa40bc0b37c 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -8,7 +8,7 @@ capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -TEST_COUNT=3D1 +TEST_COUNT=3D0 bail=3D0 slack=3D50 =20 @@ -221,7 +221,7 @@ run_test() # completion (see mptcp_connect): 200ms on each side, add some slack time=3D$((time + 400 + slack)) =20 - printf "%-60s" "$msg" + printf "%02u %-60s" "$((TEST_COUNT+1))" "$msg" do_transfer $small $large $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" @@ -230,7 +230,7 @@ run_test() [ $bail -eq 0 ] || exit $ret fi =20 - printf "%-60s" "$msg - reverse direction" + printf "%02u %-60s" "$((TEST_COUNT+1))" "$msg - reverse direction" do_transfer $large $small $time lret=3D$? mptcp_lib_result_code "${lret}" "${msg}" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-178.mta1.migadu.com (out-178.mta1.migadu.com [95.215.58.178]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2B6AE15481 for ; Tue, 5 Dec 2023 07:03:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="OJzZ0aM+" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759822; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3ncBiZcWz0LJRnYAO6Y+Y3cIGO4AvvosRVmbMoclVNA=; b=OJzZ0aM+Se5E7S/iru7zQ66/VaKOA1TGcLqDHEEkfxl3eLBO8SKlLvsXWCeO35v0swfv/0 dJ0wTlQ2C/l5k3l4kGxhakzR+ZYt6IhK/SLeqqMsSZzrlbbHmCQfv/VB4hcVP7542Xb54R czN5/eAxMYg5pyzLVHwBFWfqldTuqzM= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 22/33] selftests: mptcp: sockopt: print out test counter Date: Tue, 5 Dec 2023 15:01:09 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in script mptcp_sockopt.sh. The output looks like: 01 transfer ipv4 [ OK ] 02 mark ipv4 [ OK ] 03 transfer ipv6 [ OK ] 04 mark ipv6 [ OK ] PASS: all packets had packet mark set 05 sockopt v4 [ OK ] 06 sockopt v6 [ OK ] PASS: SOL_MPTCP getsockopt has expected information 07 TCP_INQ: -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -t tcp 08 TCP_INQ: -6 -t tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -6 -t tcp 09 TCP_INQ: -r tcp [ OK ] PASS: TCP_INQ cmsg/ioctl -r tcp 10 TCP_INQ: -6 -r tcp [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_sockopt.sh | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 338d48c248c4..de051a49745b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -152,7 +152,8 @@ do_transfer() wait $spid local rets=3D$? =20 - printf "%-25s %35s" "transfer ${ip}" " " + TEST_COUNT=3D$((TEST_COUNT+1)) + printf "%02u %-25s %35s" "$TEST_COUNT" "transfer ${ip}" " " if [ ${rets} -ne 0 ] || [ ${retc} -ne 0 ]; then echo " client exit code $retc, server $rets" 1>&2 echo -e "\nnetns ${listener_ns} socket stat for ${port}:" 1>&2 @@ -169,7 +170,8 @@ do_transfer() fi mptcp_lib_print_ok "[ OK ]" =20 - printf "%-25s %35s" "mark ${ip}" " " + TEST_COUNT=3D$((TEST_COUNT+1)) + printf "%02u %-25s %35s" "$TEST_COUNT" "mark ${ip}" " " if [ $local_addr =3D "::" ];then check_mark $listener_ns 6 || retc=3D1 check_mark $connector_ns 6 || retc=3D1 @@ -214,10 +216,11 @@ do_mptcp_sockopt_tests() return fi =20 + TEST_COUNT=3D$((TEST_COUNT+1)) ip netns exec "$ns3" ./mptcp_sockopt lret=3D$? =20 - printf "%-25s %35s" "sockopt v4" " " + printf "%02u %-25s %35s" "$TEST_COUNT" "sockopt v4" " " if [ $lret -ne 0 ]; then mptcp_lib_print_err "[ FAIL ] SOL_MPTCP getsockopt" mptcp_lib_result_fail "sockopt v4" @@ -227,10 +230,11 @@ do_mptcp_sockopt_tests() mptcp_lib_print_ok "[ OK ]" mptcp_lib_result_pass "sockopt v4" =20 + TEST_COUNT=3D$((TEST_COUNT+1)) ip netns exec "$ns3" ./mptcp_sockopt -6 lret=3D$? =20 - printf "%-25s %35s" "sockopt v6" " " + printf "%02u %-25s %35s" "$TEST_COUNT" "sockopt v6" " " if [ $lret -ne 0 ]; then mptcp_lib_print_err "[ FAIL] SOL_MPTCP getsockopt (ipv6)" mptcp_lib_result_fail "sockopt v6" @@ -260,7 +264,9 @@ run_tests() =20 do_tcpinq_test() { - printf "%-25s %35s" "TCP_INQ: $*" " " + TEST_COUNT=3D$((TEST_COUNT+1)) + + printf "%02u %-25s %35s" "$TEST_COUNT" "TCP_INQ: $*" " " ip netns exec "$ns3" ./mptcp_inq "$@" local lret=3D$? if [ $lret -ne 0 ];then --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-179.mta1.migadu.com (out-179.mta1.migadu.com [95.215.58.179]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1558F12B76 for ; Tue, 5 Dec 2023 07:03:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="VXaEbfXQ" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759824; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=nGDIE5pnsPUYFSINy2WkEAcSMKFp/aRXa+aHFkzl2JM=; b=VXaEbfXQGHZ3bVo7OEQ8KhoLoPV812SYzl6eIn2+Z0neTYBdg3CnZJ68gerN7rOtlMSrlt rv34vGQmhpXkwn4apSxsEOPVXFOZJknH5uWtL+oHQBEyvm8UjI8ugAOVju8ONqG3U56/+4 p9RDuVTBkN6aCa8IX2OFQrq8NfNGsoo= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 23/33] selftests: mptcp: netlink: print out test counter Date: Tue, 5 Dec 2023 15:01:10 +0800 Message-Id: <55846b46027216782f02ea50926863724fb40807.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in script pm_netlink.sh. The output looks like: 1 defaults addr list [ OK ] 2 simple add/get addr [ OK ] 3 dump addrs [ OK ] 4 simple del addr [ OK ] 5 dump addrs after del [ OK ] 6 duplicate addr [ OK ] 7 id addr increment [ OK ] 8 hard addr limit [ OK ] 9 above hard addr limit [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index e8ecf292a38f..714f69de6fda 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -39,6 +39,9 @@ ip netns exec $ns1 sysctl -q net.mptcp.enabled=3D1 =20 check() { + TEST_COUNT=3D$((TEST_COUNT+1)) + + printf "%2u " "$TEST_COUNT" # ${*} doesn't work here since there're spaces in some arguments. mptcp_lib_check_output "${1}" "${2}" "${3}" local rc=3D$? --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-185.mta1.migadu.com (out-185.mta1.migadu.com [95.215.58.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DF72915481 for ; Tue, 5 Dec 2023 07:03:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="X58KRIxG" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759826; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=abLVXG8yJrjwNnzaecmQYf68v6viwiXKcgX9jdZKWF8=; b=X58KRIxGlnMXlUcKQ8ojjwIWEfaRBdAvFQuPumIQIfXBgjoA2slNN1cY3IrxShPpomNUzY /MM9Ov2UHDFcUEikVFwz6KWNflSFaYkExLK7Ob+2OF29DFv8ZKqVl518pAggH8z7OjuOho /pj9gYXNwXo7VFrhvR5VqOf0PWRBzqk= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 24/33] selftests: mptcp: userspace: print out test counter Date: Tue, 5 Dec 2023 15:01:11 +0800 Message-Id: <8e948b229d5bff23e9936fa7dc86feab88218a80.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch prints out TEST_COUNT for every tests in script userspace_pm.sh. The output looks like: INFO: Init 01 Created network namespaces ns1, ns2 [ OK ] INFO: Make connections 02 Established IPv4 MPTCP Connection ns2 =3D> ns1 [ OK ] 03 Established IPv6 MPTCP Connection ns2 =3D> ns1 [ OK ] INFO: Announce tests 04 ADD_ADDR 10.0.2.2 (ns2) =3D> ns1, invalid token [ OK ] 05 ADD_ADDR id:14 10.0.2.2 (ns2) =3D> ns1, reuse port [ OK ] Having test counters helps to quickly identify issues when looking at a long list of output logs and results. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/userspace_pm.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 50eda314ec2e..66dbeaba1575 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -35,6 +35,7 @@ client_addr_id=3D${RANDOM:0:2} server_addr_id=3D${RANDOM:0:2} =20 mptcp_lib_ns_init +TEST_COUNT=3D0 TEST_NAME=3D"" =20 _printf() { @@ -50,8 +51,9 @@ print_title() print_test() { TEST_NAME=3D"${1}" + TEST_COUNT=3D$((TEST_COUNT+1)) =20 - _printf "%-63s" "${TEST_NAME}" + _printf "%02u %-63s" "${TEST_COUNT}" "${TEST_NAME}" } =20 test_pass() --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-185.mta1.migadu.com (out-185.mta1.migadu.com [95.215.58.185]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C58DC14F6F for ; Tue, 5 Dec 2023 07:03:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="e8ye2Z5H" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759828; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ctKgn71fSeckXK8wedBJ47KW77SRr2GTkJF9XFlyBBQ=; b=e8ye2Z5HyP1MAu/sufCz5mzn9DbjtmdF0kdRYqTImlf6U8we+88YR93BsrM2rWDGPvxYR0 CAJEE3zus7nXS327rF8AtydEyCVtL6muhNkRO2b7c+33Dx4ajxPy9dRNH/RK9fKUdSm8GI TiN994vfa3UrCrNFuO8Ohe91xLtSGc8= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 25/33] selftests: mptcp: export TEST_NAME/COUNT to mptcp_lib Date: Tue, 5 Dec 2023 15:01:12 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Move the variables 'TEST_NAME' and 'TEST_COUNT' into mptcp_lib.sh as public variables. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 1 - tools/testing/selftests/net/mptcp/mptcp_connect.sh | 1 - tools/testing/selftests/net/mptcp/mptcp_join.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 3 +++ tools/testing/selftests/net/mptcp/simult_flows.sh | 1 - tools/testing/selftests/net/mptcp/userspace_pm.sh | 2 -- 6 files changed, 3 insertions(+), 7 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index d1ea35e590f3..4b0cc5c41188 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,7 +5,6 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -TEST_COUNT=3D0 timeout_poll=3D100 timeout_test=3D$((timeout_poll * 2 + 1)) =20 diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 011980ec6b6f..b0a8edace8f8 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -123,7 +123,6 @@ done =20 mptcp_lib_ns_init =20 -TEST_COUNT=3D0 TEST_GROUP=3D"" =20 cleanup() diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b5d149008d21..57b6fb008997 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -38,8 +38,6 @@ declare -A all_tests declare -a only_tests_ids declare -a only_tests_names declare -A failed_tests -TEST_COUNT=3D0 -TEST_NAME=3D"" nr_blank=3D6 =20 # These var are used only in some tests, make sure they are not already set diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 491730cf24dc..a6880e1d0593 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -20,6 +20,9 @@ MPTCP_LIB_LISTENER_CLOSED=3D16 #MPTCP_EVENT_LISTENER_CLO= SED readonly AF_INET=3D2 readonly AF_INET6=3D10 =20 +TEST_COUNT=3D0 +TEST_NAME=3D"" + MPTCP_LIB_SUBTESTS=3D() =20 # only if supported (or forced) and not disabled, see no-color.org diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 8fa40bc0b37c..ef61cec3bf37 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -8,7 +8,6 @@ capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -TEST_COUNT=3D0 bail=3D0 slack=3D50 =20 diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index 66dbeaba1575..ec3a68233577 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -35,8 +35,6 @@ client_addr_id=3D${RANDOM:0:2} server_addr_id=3D${RANDOM:0:2} =20 mptcp_lib_ns_init -TEST_COUNT=3D0 -TEST_NAME=3D"" =20 _printf() { stdbuf -o0 -e0 printf "${@}" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-175.mta1.migadu.com (out-175.mta1.migadu.com [95.215.58.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E0BCA14F6F for ; Tue, 5 Dec 2023 07:03:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="EG93SKUR" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759830; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=dr7Nl/VB/PRfB789F+rxoRa2FOQz6AMWPofOq6mvC/M=; b=EG93SKURQeb034zMqulpml5Tvduvaqiq5aVtBuGNpUVrYBBYciXMsbnMZnA5uyA9aj70XX SUoUwP47dMFd6OSYv71tX1zenbD3ieX2ezYfiIzAiyvWBeJIY7Sk3XxPv/0pYZ5u/9Mo+R Voe+E4SNEZzznYbFEkvgE6wBLHNJ//c= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 26/33] selftests: mptcp: simult flows: define missing vars Date: Tue, 5 Dec 2023 15:01:13 +0800 Message-Id: <42eaff6ff5af81f73a4b4f98811e766db60762bf.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" The variables 'large', 'small', 'sout', 'cout', 'capout' and 'size' are used in multiple functions, so they should be defined as global variables. This patch redefines them at the beginning of simult_flows.sh. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/simult_flows.sh | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index ef61cec3bf37..b82c083c934e 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -10,6 +10,12 @@ timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) bail=3D0 slack=3D50 +large=3D"" +small=3D"" +sout=3D"" +cout=3D"" +capout=3D"" +size=3D0 =20 usage() { echo "Usage: $0 [ -b ] [ -c ] [ -d ]" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-188.mta1.migadu.com (out-188.mta1.migadu.com [95.215.58.188]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9C68E12B76 for ; Tue, 5 Dec 2023 07:03:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="IXez5LrJ" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759832; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wMbThuJkcXWh6LypkzH5CCnUy/y6MvPDOPLrmnTztCY=; b=IXez5LrJ75Kg9or9vHbNV6XBJngMwfi4zcSjXX3L2WMitWCeQ4rjLU7INSxQiexfRmbCEf EaWumIboYqFqD0PG1KDYZS8MjCl/knbOLDLZzms0fix6o2ttuOQ9cgXlPuNd1on7j5D0+T uPE+A2OciT5lrHLLO4qjJjTdbRFSCHI= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 27/33] selftests: mptcp: export cin/cout/sin/sout vars Date: Tue, 5 Dec 2023 15:01:14 +0800 Message-Id: <5b9a2d7ab5274184c27881a0803df2e8a6296e84.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Export cin, cout, sin and sout vars into mptcp_lib.sh as public vars. Then they can be used in all test scripts unified. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 10 ---------- tools/testing/selftests/net/mptcp/mptcp_join.sh | 12 ++---------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 10 ++++++++++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 10 ---------- tools/testing/selftests/net/mptcp/simult_flows.sh | 5 ----- 5 files changed, 12 insertions(+), 35 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index b0a8edace8f8..aeedd822490c 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -7,11 +7,7 @@ time_start=3D$(date +%s) =20 optstring=3D"S:R:d:e:l:r:h4cm:f:tC" final_ret=3D0 -sin=3D"" -sout=3D"" cin_disconnect=3D"" -cin=3D"" -cout=3D"" ksft_skip=3D4 capture=3Dfalse timeout_poll=3D30 @@ -128,8 +124,6 @@ TEST_GROUP=3D"" cleanup() { rm -f "$cin_disconnect" "$cout_disconnect" - rm -f "$cin" "$cout" - rm -f "$sin" "$sout" rm -f "$capout" =20 mptcp_lib_ns_exit @@ -138,10 +132,6 @@ cleanup() =20 mptcp_lib_check_tools "ip" "ss" =20 -sin=3D$(mktemp) -sout=3D$(mktemp) -cin=3D$(mktemp) -cout=3D$(mktemp) capout=3D$(mktemp) cin_disconnect=3D"$cin".disconnect cout_disconnect=3D"$cout".disconnect diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 57b6fb008997..a2f595d70a92 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -12,14 +12,10 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sin=3D"" sinfail=3D"" -sout=3D"" -cin=3D"" cinfail=3D"" cinsent=3D"" tmpfile=3D"" -cout=3D"" capout=3D"" ksft_skip=3D4 timeout_poll=3D30 @@ -132,11 +128,7 @@ init() { =20 mptcp_lib_check_tools "ip" "ss" "iptables" =20 - sin=3D$(mktemp) - sout=3D$(mktemp) - cin=3D$(mktemp) cinsent=3D$(mktemp) - cout=3D$(mktemp) mptcp_lib_evts_init =20 trap cleanup EXIT @@ -147,8 +139,8 @@ init() { =20 cleanup() { - rm -f "$cin" "$cout" "$sinfail" - rm -f "$sin" "$sout" "$cinsent" "$cinfail" + rm -f "$sinfail" + rm -f "$cinsent" "$cinfail" rm -f "$tmpfile" mptcp_lib_evts_remove cleanup_partial diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index a6880e1d0593..56aaa5350cb2 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -25,6 +25,11 @@ TEST_NAME=3D"" =20 MPTCP_LIB_SUBTESTS=3D() =20 +sin=3D$(mktemp) +sout=3D$(mktemp) +cin=3D$(mktemp) +cout=3D$(mktemp) + # only if supported (or forced) and not disabled, see no-color.org if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" =3D "1" ]; } && [ "${NO_COLOR:-}" !=3D "1" ]; then @@ -559,9 +564,14 @@ mptcp_lib_check_tools() { =20 mptcp_lib_cleanup() { : "${check_output_err:?}" + : "${sin:?}" + : "${sout:?}" + : "${cin:?}" + : "${cout:?}" =20 echo "cleanup" rm -f $check_output_err + rm -f "$sin" "$sout" "$cin" "$cout" } =20 echo -e "\n${KSFT_TEST}\n" diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index de051a49745b..ec829165d562 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -3,10 +3,6 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -sin=3D"" -sout=3D"" -cin=3D"" -cout=3D"" ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) @@ -69,8 +65,6 @@ init() cleanup() { mptcp_lib_ns_exit - rm -f "$cin" "$cout" - rm -f "$sin" "$sout" mptcp_lib_cleanup } =20 @@ -311,10 +305,6 @@ do_tcpinq_tests() return $? } =20 -sin=3D$(mktemp) -sout=3D$(mktemp) -cin=3D$(mktemp) -cout=3D$(mktemp) init make_file "$cin" "client" 1 make_file "$sin" "server" 1 diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index b82c083c934e..03e88b6c47d0 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -12,8 +12,6 @@ bail=3D0 slack=3D50 large=3D"" small=3D"" -sout=3D"" -cout=3D"" capout=3D"" size=3D0 =20 @@ -26,7 +24,6 @@ usage() { =20 cleanup() { - rm -f "$cout" "$sout" rm -f "$large" "$small" rm -f "$capout" =20 @@ -46,8 +43,6 @@ setup() { large=3D$(mktemp) small=3D$(mktemp) - sout=3D$(mktemp) - cout=3D$(mktemp) capout=3D$(mktemp) size=3D$((2 * 2048 * 4096)) =20 --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-177.mta1.migadu.com (out-177.mta1.migadu.com [95.215.58.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8436B14F6F for ; Tue, 5 Dec 2023 07:03:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="QBfLzOWk" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759834; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ataSPt5ipz+NSG2/OE/cX21Vukt98slcHn/yEbNy4nM=; b=QBfLzOWkboC0dbPB4d9Ua9AaT3Z5Y13TZvIg0ZhXCcgqlhVFtZseahbALgkDAfC0kGIkJ8 m3D3hiXPhHDZ1SrewQWDbKcnjyeWWkdDH7j6H76T+4xDnhcJsan9MckHvkbWJABII+0Ec0 6vVs5RKM5WWsCqzgFz+pm62o/ZrUmrE= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 28/33] selftests: mptcp: join: change capture/checksum as bool Date: Tue, 5 Dec 2023 15:01:15 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" To maintain consistency with other scripts, this patch changes vars 'capture' and 'checksum' as bool vars in mptcp_join. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index a2f595d70a92..d998c4a9cb07 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -20,11 +20,11 @@ capout=3D"" ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -capture=3D0 -checksum=3D0 +capture=3Dfalse +checksum=3Dfalse ip_mptcp=3D0 check_invert=3D0 -validate_checksum=3D0 +validate_checksum=3Dfalse init=3D0 last_test_failed=3D0 last_test_skipped=3D0 @@ -76,7 +76,7 @@ init_partial() for netns in "$ns1" "$ns2"; do ip netns exec $netns sysctl -q net.mptcp.enabled=3D1 ip netns exec $netns sysctl -q net.mptcp.pm_type=3D0 2>/dev/null || true - if [ $checksum -eq 1 ]; then + if $checksum; then ip netns exec $netns sysctl -q net.mptcp.checksum_enabled=3D1 fi done @@ -325,7 +325,7 @@ reset_with_checksum() ip netns exec $ns1 sysctl -q net.mptcp.checksum_enabled=3D$ns1_enable ip netns exec $ns2 sysctl -q net.mptcp.checksum_enabled=3D$ns2_enable =20 - validate_checksum=3D1 + validate_checksum=3Dtrue } =20 reset_with_allow_join_id0() @@ -358,7 +358,7 @@ reset_with_allow_join_id0() setup_fail_rules() { check_invert=3D1 - validate_checksum=3D1 + validate_checksum=3Dtrue local i=3D"$1" local ip=3D"${2:-4}" local tables @@ -957,7 +957,7 @@ do_transfer() :> "$sout" :> "$capout" =20 - if [ $capture -eq 1 ]; then + if $capture; then local capuser if [ -z $SUDO_USER ] ; then capuser=3D"" @@ -1059,7 +1059,7 @@ do_transfer() wait $spid local rets=3D$? =20 - if [ $capture -eq 1 ]; then + if $capture; then sleep 1 kill $cappid fi @@ -1447,7 +1447,7 @@ chk_join_nr() else print_ok fi - if [ $validate_checksum -eq 1 ]; then + if $validate_checksum; then chk_csum_nr $csum_ns1 $csum_ns2 chk_fail_nr $fail_nr $fail_nr chk_rst_nr $rst_nr $rst_nr @@ -3643,10 +3643,10 @@ while getopts "${all_tests_args}cCih" opt; do tests+=3D("${all_tests[${opt}]}") ;; c) - capture=3D1 + capture=3Dtrue ;; C) - checksum=3D1 + checksum=3Dtrue ;; i) ip_mptcp=3D1 --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-175.mta1.migadu.com (out-175.mta1.migadu.com [95.215.58.175]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 77C2012B76 for ; Tue, 5 Dec 2023 07:03:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="X2t7zMaU" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759835; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=mqQMLWqfq0QNjXHf2cJO6LdE2Q7bOPKSgvTN0qcIohQ=; b=X2t7zMaUOM6JWWdevFal9I7ejAlcQky0Pzblfn4Bpzl+2b5yagBBL63GQ3eUmTIOg4AR6b KMhU74l1mEvq+KqhKZLBxTZ16pwSE+lA0H4xmc3U4UTcAT43br7cbWp/0R1QQvAF1MjBuP jYy9khJ+FJhJP6fs2brLcINmV+JMOV8= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 29/33] selftests: mptcp: export capture/checksum vars Date: Tue, 5 Dec 2023 15:01:16 +0800 Message-Id: In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" The variables 'capture' and 'checksum' are defined in multiple scripts. So this patch moves them into mptcp_lib.sh as public variables. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_join.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 3 +++ tools/testing/selftests/net/mptcp/simult_flows.sh | 1 - 4 files changed, 3 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index aeedd822490c..a3f864cb0a02 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -9,7 +9,6 @@ optstring=3D"S:R:d:e:l:r:h4cm:f:tC" final_ret=3D0 cin_disconnect=3D"" ksft_skip=3D4 -capture=3Dfalse timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) ipv6=3Dtrue @@ -21,7 +20,6 @@ sndbuf=3D0 rcvbuf=3D0 options_log=3Dtrue do_tcp=3D0 -checksum=3Dfalse filesize=3D0 connect_per_transfer=3D1 PORT=3D0 diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index d998c4a9cb07..db254496b43a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -20,8 +20,6 @@ capout=3D"" ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) -capture=3Dfalse -checksum=3Dfalse ip_mptcp=3D0 check_invert=3D0 validate_checksum=3Dfalse diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 56aaa5350cb2..8c7f181768b3 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -23,6 +23,9 @@ readonly AF_INET6=3D10 TEST_COUNT=3D0 TEST_NAME=3D"" =20 +capture=3Dfalse +checksum=3Dfalse + MPTCP_LIB_SUBTESTS=3D() =20 sin=3D$(mktemp) diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 03e88b6c47d0..34981e88e129 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -4,7 +4,6 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 mptcp_lib_ns_init -capture=3Dfalse ksft_skip=3D4 timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-173.mta1.migadu.com (out-173.mta1.migadu.com [95.215.58.173]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 28C1D14F6F for ; Tue, 5 Dec 2023 07:03:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="g6oTPuZp" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759837; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=uJfjKuQjpz3/ZTVZKVL2O5yHiLB7nixCx5SVD8oMotQ=; b=g6oTPuZpH71hEJVzFEBzFMvPOKmYQjcWRn2/ND7+7fS64Pj5QD9g0xHCfxw8k3p0z/cN0C vnI6FB4BUvQxZwHo1ECesttz1oLM9zSwej8e3kYOK8av2cWzeI4NQwxtZw9y/jpteNol3n IIjzBfbDCOKTzgwEEb8GVHzt2MAvmRs= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 30/33] selftests: mptcp: diag: change timeout_poll to 30 Date: Tue, 5 Dec 2023 15:01:17 +0800 Message-Id: <6b7745db1d52596e5c29881719a598091dc3db4c.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" In most scripts timeout_poll is defined to 30, but in diag.sh, it's 100. To maintain consistency with other scripts, this patch changes it to 30. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 4b0cc5c41188..216123547131 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,7 +5,7 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -timeout_poll=3D100 +timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) =20 flush_pids() --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-172.mta1.migadu.com (out-172.mta1.migadu.com [95.215.58.172]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B193814F6F for ; Tue, 5 Dec 2023 07:04:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="BFbU2hLG" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759840; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gasvoxRPWicDE3XfhTUoCiRuYSFTQpShWPMiKmswtn0=; b=BFbU2hLGCxoxot/st3QLdzsjcMHurPHUZtvh5yBKjHKhTE36/QkSm8zELOx+dqi78sWyvS XtSNnJazOLgUHeLq9zXiRAzB63IkfqK8dYrbQdeSp/TrHRjR2uLY7HeDf3LzjnPsSj18Iw 9bp53pKkGpfR3nwyiS7m0ZskX64P5d4= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 31/33] selftests: mptcp: export timeout_test to mptcp_lib Date: Tue, 5 Dec 2023 15:01:18 +0800 Message-Id: <0891f05f640a96b51342e6b05c4e899de3f87866.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Move the variables 'timeout_poll' and 'timeout_test' into mptcp_lib.sh as public variables. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_connect.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_join.sh | 2 -- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 3 +++ tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 2 -- tools/testing/selftests/net/mptcp/simult_flows.sh | 2 -- 6 files changed, 3 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 216123547131..1752cf292588 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -5,8 +5,6 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -timeout_poll=3D30 -timeout_test=3D$((timeout_poll * 2 + 1)) =20 flush_pids() { diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index a3f864cb0a02..356cbb2289be 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -9,8 +9,6 @@ optstring=3D"S:R:d:e:l:r:h4cm:f:tC" final_ret=3D0 cin_disconnect=3D"" ksft_skip=3D4 -timeout_poll=3D30 -timeout_test=3D$((timeout_poll * 2 + 1)) ipv6=3Dtrue ethtool_random_on=3Dtrue tc_delay=3D"$((RANDOM%50))" diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index db254496b43a..824f2a3ed7c2 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -18,8 +18,6 @@ cinsent=3D"" tmpfile=3D"" capout=3D"" ksft_skip=3D4 -timeout_poll=3D30 -timeout_test=3D$((timeout_poll * 2 + 1)) ip_mptcp=3D0 check_invert=3D0 validate_checksum=3Dfalse diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 8c7f181768b3..1f1e8c5e9540 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -26,6 +26,9 @@ TEST_NAME=3D"" capture=3Dfalse checksum=3Dfalse =20 +readonly timeout_poll=3D30 +timeout_test=3D$((timeout_poll * 2 + 1)) + MPTCP_LIB_SUBTESTS=3D() =20 sin=3D$(mktemp) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index ec829165d562..3305f1a7249b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -4,8 +4,6 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 ksft_skip=3D4 -timeout_poll=3D30 -timeout_test=3D$((timeout_poll * 2 + 1)) =20 mptcp_lib_ns_init =20 diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 34981e88e129..dd249ba32cc2 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -5,8 +5,6 @@ =20 mptcp_lib_ns_init ksft_skip=3D4 -timeout_poll=3D30 -timeout_test=3D$((timeout_poll * 2 + 1)) bail=3D0 slack=3D50 large=3D"" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-171.mta1.migadu.com (out-171.mta1.migadu.com [95.215.58.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A514012B76 for ; Tue, 5 Dec 2023 07:04:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="rqpODW4+" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759842; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=zaeJ2yT48xs+3y+Mavm0D2nSlHX782kkK+qxG0J9r1Y=; b=rqpODW4+Kii6tO8QCaJK5qNOwT47/n0SgM98AoY+B5yho9bpCPLY/pQy+N+ljrwsWAn19a CV8voeGP8/1x5pkWoMUAq2uZtvu805aKfi3bJtplI415yjcaXZZZSYHi6c/FoCHpx3tW0C Q42Y+16YpuyQ3FRLVmOpAD8scTIsNzI= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 32/33] selftests: mptcp: use KSFT_SKIP instead ksft_skip Date: Tue, 5 Dec 2023 15:01:19 +0800 Message-Id: <0954b8ffdda5c4ea1b170eb194106485e310fe9c.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" This patch uses the public var KSFT_SKIP in mptcp_lib.sh instead of ksft_skip, and drop every 'ksft_skip=3D4'. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/diag.sh | 1 - tools/testing/selftests/net/mptcp/mptcp_connect.sh | 3 +-- tools/testing/selftests/net/mptcp/mptcp_join.sh | 9 ++++----- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 10 +++++----- tools/testing/selftests/net/mptcp/mptcp_sockopt.sh | 2 -- tools/testing/selftests/net/mptcp/pm_netlink.sh | 2 -- tools/testing/selftests/net/mptcp/simult_flows.sh | 1 - 7 files changed, 10 insertions(+), 18 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/diag.sh b/tools/testing/self= tests/net/mptcp/diag.sh index 1752cf292588..7d6656067cc2 100755 --- a/tools/testing/selftests/net/mptcp/diag.sh +++ b/tools/testing/selftests/net/mptcp/diag.sh @@ -4,7 +4,6 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 mptcp_lib_ns_init -ksft_skip=3D4 =20 flush_pids() { diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 356cbb2289be..32a979a40a72 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -8,7 +8,6 @@ time_start=3D$(date +%s) optstring=3D"S:R:d:e:l:r:h4cm:f:tC" final_ret=3D0 cin_disconnect=3D"" -ksft_skip=3D4 ipv6=3Dtrue ethtool_random_on=3Dtrue tc_delay=3D"$((RANDOM%50))" @@ -224,7 +223,7 @@ check_mptcp_disabled() : "${rndh:?}" =20 local disabled_ns=3D"ns_disabled-$rndh" - ip netns add ${disabled_ns} || exit $ksft_skip + ip netns add ${disabled_ns} || exit ${KSFT_SKIP} =20 # net.mptcp.enabled should be enabled by default if [ "$(ip netns exec ${disabled_ns} sysctl net.mptcp.enabled | awk '{ pr= int $3 }')" -ne 1 ]; then diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 824f2a3ed7c2..81521e4760ae 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -17,7 +17,6 @@ cinfail=3D"" cinsent=3D"" tmpfile=3D"" capout=3D"" -ksft_skip=3D4 ip_mptcp=3D0 check_invert=3D0 validate_checksum=3Dfalse @@ -371,15 +370,15 @@ setup_fail_rules() -p tcp \ -m length --length 150:9999 \ -m statistic --mode nth --packet 1 --every 99999 \ - -j MARK --set-mark 42 || return ${ksft_skip} + -j MARK --set-mark 42 || return ${KSFT_SKIP} =20 - tc -n $ns2 qdisc add dev ns2eth$i clsact || return ${ksft_skip} + tc -n $ns2 qdisc add dev ns2eth$i clsact || return ${KSFT_SKIP} tc -n $ns2 filter add dev ns2eth$i egress \ protocol ip prio 1000 \ handle 42 fw \ action pedit munge offset 148 u8 invert \ pipe csum tcp \ - index 100 || return ${ksft_skip} + index 100 || return ${KSFT_SKIP} } =20 reset_with_fail() @@ -393,7 +392,7 @@ reset_with_fail() local rc=3D0 setup_fail_rules "${@}" || rc=3D$? =20 - if [ ${rc} -eq ${ksft_skip} ]; then + if [ ${rc} -eq ${KSFT_SKIP} ]; then mark_as_skipped "unable to set the 'fail' rules" return 1 fi diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 1f1e8c5e9540..5d0e3a56e975 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -507,7 +507,7 @@ mptcp_lib_ns_init() { =20 local netns for netns in "$ns1" "$ns2" "$ns3" "$ns4"; do - ip netns add $netns || exit ${ksft_skip} + ip netns add $netns || exit ${KSFT_SKIP} ip -net $netns link set lo up =20 ip netns exec $netns sysctl -q net.ipv4.conf.all.rp_filter=3D0 @@ -541,7 +541,7 @@ mptcp_lib_check_tools() { if [ "${1:-""}" =3D=3D "ip" ]; then if ! ip -Version &> /dev/null; then mptcp_lib_print_warn "SKIP: Could not run test without ip tool" - exit $ksft_skip + exit ${KSFT_SKIP} fi fi =20 @@ -549,7 +549,7 @@ mptcp_lib_check_tools() { ss -h | grep -q MPTCP if [ $? -ne 0 ];then mptcp_lib_print_warn "SKIP: ss tool does not support MPTCP" - exit $ksft_skip + exit ${KSFT_SKIP} fi fi =20 @@ -560,10 +560,10 @@ mptcp_lib_check_tools() { ip6tables=3D"ip6tables-legacy" elif ! iptables -V &> /dev/null; then mptcp_lib_print_warn "SKIP: Could not run all tests without iptables to= ol" - exit $ksft_skip + exit ${KSFT_SKIP} elif ! ip6tables -V &> /dev/null; then mptcp_lib_print_warn "SKIP: Could not run all tests without ip6tables t= ool" - exit $ksft_skip + exit ${KSFT_SKIP} fi fi } diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 3305f1a7249b..75b9a6a5b5c4 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -3,8 +3,6 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -ksft_skip=3D4 - mptcp_lib_ns_init =20 add_mark_rules() diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 714f69de6fda..6ff0420b7ac1 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -3,8 +3,6 @@ =20 . "$(dirname "${0}")/mptcp_lib.sh" =20 -ksft_skip=3D4 - usage() { echo "Usage: $0 [ -h ]" } diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index dd249ba32cc2..ecf29ce332c5 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -4,7 +4,6 @@ . "$(dirname "${0}")/mptcp_lib.sh" =20 mptcp_lib_ns_init -ksft_skip=3D4 bail=3D0 slack=3D50 large=3D"" --=20 2.35.3 From nobody Sun Feb 8 11:27:35 2026 Received: from out-187.mta1.migadu.com (out-187.mta1.migadu.com [95.215.58.187]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5266714F6F for ; Tue, 5 Dec 2023 07:04:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.dev Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linux.dev Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=linux.dev header.i=@linux.dev header.b="f5806mYV" X-Report-Abuse: Please report any abuse attempt to abuse@migadu.com and include these headers. DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.dev; s=key1; t=1701759843; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=+iwxa9D286ZuTLMPR6Fx1EUd0hdFS/00ofSgpIuACRI=; b=f5806mYVNbVIefaVx4DxWHot47XuNhUNXR0z5C+RrAa/PLJi8NFPAewlA0nW2Cw+sJRleh /7SDPu8kpEfTPT1ImJ3CqKhrVkh0zHwWjUfWlbHAc7P7lelXoR0A4sx+TwMDlNiAsbLVc5 +qdMFDY60khx286f5xO7h6vv/KcQ6Wk= From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v5 33/33] selftests: mptcp: use KSFT_PASS and KSFT_FAIL Date: Tue, 5 Dec 2023 15:01:20 +0800 Message-Id: <8a55f86b68ba0fc9db5b3cdbfdba80390470b352.1701759405.git.geliang.tang@linux.dev> In-Reply-To: References: Precedence: bulk X-Mailing-List: mptcp@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Migadu-Flow: FLOW_OUT Content-Type: text/plain; charset="utf-8" Use KSFT_PASS and KSFT_FAIL macros instead of 0 and 1 after 'exit ' and 'ret=3D' in all scripts: exit 0 -> exit ${KSFT_PASS} exit 1 -> exit ${KSFT_FAIL} ret=3D0 -> ret=3D${KSFT_PASS} ret=3D1 -> ret=3D${KSFT_FAIL} Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_connect.sh | 18 +++++++++--------- .../testing/selftests/net/mptcp/mptcp_join.sh | 4 ++-- .../selftests/net/mptcp/mptcp_sockopt.sh | 4 ++-- .../testing/selftests/net/mptcp/pm_netlink.sh | 4 ++-- .../selftests/net/mptcp/simult_flows.sh | 4 ++-- .../selftests/net/mptcp/userspace_pm.sh | 4 ++-- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_connect.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_connect.sh index 32a979a40a72..a46bef3d4d1b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_connect.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_connect.sh @@ -51,14 +51,14 @@ while getopts "$optstring" option;do case "$option" in "h") usage $0 - exit 0 + exit ${KSFT_PASS} ;; "d") if [ $OPTARG -ge 0 ];then tc_delay=3D"$OPTARG" else echo "-d requires numeric argument, got \"$OPTARG\"" 1>&2 - exit 1 + exit ${KSFT_FAIL} fi ;; "e") @@ -82,7 +82,7 @@ while getopts "$optstring" option;do sndbuf=3D"$OPTARG" else echo "-S requires numeric argument, got \"$OPTARG\"" 1>&2 - exit 1 + exit ${KSFT_FAIL} fi ;; "R") @@ -90,7 +90,7 @@ while getopts "$optstring" option;do rcvbuf=3D"$OPTARG" else echo "-R requires numeric argument, got \"$OPTARG\"" 1>&2 - exit 1 + exit ${KSFT_FAIL} fi ;; "m") @@ -107,7 +107,7 @@ while getopts "$optstring" option;do ;; "?") usage $0 - exit 1 + exit ${KSFT_FAIL} ;; esac done @@ -230,7 +230,7 @@ check_mptcp_disabled() echo -n -e "net.mptcp.enabled sysctl is not 1 by default\t\t" mptcp_lib_print_err "\t\t [ FAIL ]" mptcp_lib_result_fail "net.mptcp.enabled sysctl is not 1 by default" - ret=3D1 + ret=3D${KSFT_FAIL} return 1 fi ip netns exec ${disabled_ns} sysctl -q net.mptcp.enabled=3D0 @@ -244,7 +244,7 @@ check_mptcp_disabled() echo -n -e "New MPTCP socket cannot be blocked via sysctl\t\t" mptcp_lib_print_err "\t\t [ FAIL ]" mptcp_lib_result_fail "New MPTCP socket cannot be blocked via sysctl" - ret=3D1 + ret=3D${KSFT_FAIL} return 1 fi =20 @@ -271,7 +271,7 @@ do_ping() =20 if [ $rc -ne 0 ] ; then echo "$listener_ns -> $connect_addr connectivity [ FAIL ]" 1>&2 - ret=3D1 + ret=3D${KSFT_FAIL} =20 return 1 fi @@ -782,7 +782,7 @@ log_if_error() echo "FAIL: ${msg}" 1>&2 =20 final_ret=3D${ret} - ret=3D0 + ret=3D${KSFT_PASS} =20 return ${final_ret} fi diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 81521e4760ae..1243dd2305fe 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -427,7 +427,7 @@ reset_with_tcp_filter() # $1: err msg fail_test() { - ret=3D1 + ret=3D${KSFT_FAIL} =20 print_fail "${@}" =20 @@ -3575,7 +3575,7 @@ usage() { if [ -n "${1}" ]; then echo "${1}" - ret=3D1 + ret=3D${KSFT_FAIL} fi =20 echo "mptcp_join usage:" diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 75b9a6a5b5c4..f2e7b2575106 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -85,7 +85,7 @@ check_mark() for v in $values; do if [ $v -ne 0 ]; then echo "FAIL: got $tables $values in ns $ns , not 0 - not all expected pa= ckets marked" 1>&2 - ret=3D1 + ret=3D${KSFT_FAIL} return 1 fi done @@ -155,7 +155,7 @@ do_transfer() mptcp_lib_print_err "[ FAIL ]" mptcp_lib_result_fail "transfer ${ip}" =20 - ret=3D1 + ret=3D${KSFT_FAIL} return 1 fi mptcp_lib_print_ok "[ OK ]" diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 6ff0420b7ac1..dbf2dd435572 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -12,11 +12,11 @@ while getopts "$optstring" option;do case "$option" in "h") usage $0 - exit 0 + exit ${KSFT_PASS} ;; "?") usage $0 - exit 1 + exit ${KSFT_FAIL} ;; esac done diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index ecf29ce332c5..060b9ea23041 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -240,7 +240,7 @@ while getopts "bcdh" option;do case "$option" in "h") usage $0 - exit 0 + exit ${KSFT_PASS} ;; "b") bail=3D1 @@ -253,7 +253,7 @@ while getopts "bcdh" option;do ;; "?") usage $0 - exit 1 + exit ${KSFT_FAIL} ;; esac done diff --git a/tools/testing/selftests/net/mptcp/userspace_pm.sh b/tools/test= ing/selftests/net/mptcp/userspace_pm.sh index ec3a68233577..2c1afea1f376 100755 --- a/tools/testing/selftests/net/mptcp/userspace_pm.sh +++ b/tools/testing/selftests/net/mptcp/userspace_pm.sh @@ -70,7 +70,7 @@ test_skip() test_fail() { mptcp_lib_print_err "[ FAIL ]${1:+ ${*}}" - ret=3D1 + ret=3D${KSFT_FAIL} =20 if [ -n "${1}" ]; then _printf "\t%s\n" "${1}" @@ -194,7 +194,7 @@ make_connection() else test_fail "Expected tokens (c:${client_token} - s:${server_token}) and s= erver (c:${client_serverside} - s:${server_serverside})" mptcp_lib_result_print_all_tap - exit 1 + exit ${KSFT_FAIL} fi =20 if [ "$is_v6" =3D "v6" ] --=20 2.35.3