From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 552C846BA for ; Sat, 16 Mar 2024 03:51:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561086; cv=none; b=i+z1eyfc4GjpVCNHCPKiXkLT0id7lKUMbg91gJ/nBiRTJ2+/gVEGHX/IcSyyEXt7wknBtMg7nbgYRDedSRyYW2meIjVre+h7K4Q7R6TgDr016EzY5HxtUGo4YwfPe9dblf3J0evkpgT3pgZRuIvMofQvzwCVDVvENyh7ZMVd3RA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561086; c=relaxed/simple; bh=vvafilXpSFxGpxTvsWaNvSRKn+0JFURQP1lsZgcAfds=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=XOvelNax2eS2NMG0W6jnDSGzJGZVQ9dAmNamZn0s43lcDU5wcJirz9rItDvZDMisZcW/9Duw0Tsegw4pWNYhxs6V2S3aXfiilUo3FmHUYy5ip8ohcrycJuxo5Wb/tcnPwcPUQ8Od9jRkiaw/7uvLvqHebDdBBPi260niO6fWunc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tesm+Bc6; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tesm+Bc6" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A718C433F1; Sat, 16 Mar 2024 03:51:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561086; bh=vvafilXpSFxGpxTvsWaNvSRKn+0JFURQP1lsZgcAfds=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Tesm+Bc60LoOETamQ9zpzepwVBzZFXaz1258Md4KPZBAhLPhv+cRdUNJEoOdFx8mI xkudLJDLLTYwt0wYGQ4yW7DSeSOt7FuVASL7uNhUpqEjaQIh+iuUI43t0GPSoQCnC4 TqTgt7jgWe0dEHk7IWxzi1nPfnoIr9LmlBI8QbtX/HpjOfb9RF8dIfEyv7Sw+Z3PDE KL0VM6b7pg7e9kPIKu7vjk7K963L/JP1llG6Czgfuv4d2fMM37q8cnfbZ0+z0MOyJQ qQYI2dA5/z0elV8hjgNOkGXtCTZjWmvwVzPBL+6kBMoK5vAq0EpgA47IickvyCokfx YeZygwllpLE1Q== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 1/9] selftests: mptcp: export ip_mptcp to mptcp_lib Date: Sat, 16 Mar 2024 11:50:29 +0800 Message-Id: <62ed87e5e22bec5e5bb9775428e67a91e0f34662.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch exports ip_mptcp into mptcp_lib.sh as a public variable, named MPTCP_LIB_IP_MPTCP. Add a helper mptcp_lib_set_ip_mptcp() to set it, and a helper mptcp_lib_is_ip_mptcp() to test whether it is set. Use these two helpers in mptcp_join.sh. This patch is prepared for coming commits. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 17 ++++++++--------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 9 +++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 73a2131e6da2..62fcfeaa3430 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -31,7 +31,6 @@ timeout_poll=3D30 timeout_test=3D$((timeout_poll * 2 + 1)) capture=3Dfalse checksum=3Dfalse -ip_mptcp=3D0 check_invert=3D0 validate_checksum=3Dfalse init=3D0 @@ -610,7 +609,7 @@ pm_nl_set_limits() local addrs=3D$2 local subflows=3D$3 =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then ip -n $ns mptcp limits set add_addr_accepted $addrs subflows $subflows else ip netns exec $ns ./pm_nl_ctl limits $addrs $subflows @@ -650,7 +649,7 @@ pm_nl_add_endpoint() nr=3D$((nr + 1)) done =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then ip -n $ns mptcp endpoint add $addr ${_flags//","/" "} $dev $id $port else ip netns exec $ns ./pm_nl_ctl add $addr $flags $dev $id $port @@ -663,7 +662,7 @@ pm_nl_del_endpoint() local id=3D$2 local addr=3D$3 =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then [ $id -ne 0 ] && addr=3D'' ip -n $ns mptcp endpoint delete id $id $addr else @@ -675,7 +674,7 @@ pm_nl_flush_endpoint() { local ns=3D$1 =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then ip -n $ns mptcp endpoint flush else ip netns exec $ns ./pm_nl_ctl flush @@ -686,7 +685,7 @@ pm_nl_show_endpoints() { local ns=3D$1 =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then ip -n $ns mptcp endpoint show else ip netns exec $ns ./pm_nl_ctl dump @@ -699,7 +698,7 @@ pm_nl_change_endpoint() local id=3D$2 local flags=3D$3 =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then ip -n $ns mptcp endpoint change id $id ${flags//","/" "} else ip netns exec $ns ./pm_nl_ctl set id $id flags $flags @@ -749,7 +748,7 @@ pm_nl_check_endpoint() return fi =20 - if [ $ip_mptcp -eq 1 ]; then + if mptcp_lib_is_ip_mptcp; then # get line and trim trailing whitespace line=3D$(ip -n $ns mptcp endpoint show $id) line=3D"${line% }" @@ -3702,7 +3701,7 @@ while getopts "${all_tests_args}cCih" opt; do checksum=3Dtrue ;; i) - ip_mptcp=3D1 + mptcp_lib_set_ip_mptcp ;; h) usage diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 1fa05405f65e..ca01d949fad8 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -23,6 +23,7 @@ MPTCP_LIB_SUBTESTS=3D() MPTCP_LIB_SUBTESTS_DUPLICATED=3D0 MPTCP_LIB_TEST_COUNTER=3D0 MPTCP_LIB_TEST_FORMAT=3D"%02u %-50s" +MPTCP_LIB_IP_MPTCP=3D0 =20 # only if supported (or forced) and not disabled, see no-color.org if { [ -t 1 ] || [ "${SELFTESTS_MPTCP_LIB_COLOR_FORCE:-}" =3D "1" ]; } && @@ -511,3 +512,11 @@ mptcp_lib_verify_listener_events() { mptcp_lib_check_expected "type" "family" "saddr" "sport" || rc=3D"${?}" return "${rc}" } + +mptcp_lib_set_ip_mptcp() { + MPTCP_LIB_IP_MPTCP=3D1 +} + +mptcp_lib_is_ip_mptcp() { + [ "${MPTCP_LIB_IP_MPTCP}" =3D "1" ] +} --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 7A21646BA for ; Sat, 16 Mar 2024 03:51:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561088; cv=none; b=sV9gx+ARuFyW9158935aFs1938v/MYTJ4O0fQ+5HLWmPhcM0k1xsf99JzmDxAv2oW4vknZJhR5i4BJLzmdPBs8B5hZZ6jtv3GlhCA5UEWDCwwC3RHIHsbhlHrH3W7E8JxKOifCpFGgdw94/hyZvxq9yt32YO5/Mym2vSVbZGv4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561088; c=relaxed/simple; bh=W4SPwVrEsqMMVdnNe/RlorAgbnVZiEnmm7Z363hAnOA=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=oglNk2VFk7Vz1LtkfwTmlHra9TZoKsLvS62fevesfoh5VCjCsh0m6J+uVSeygMmOiI5B8Rl4ntqxI4zUpdCB0eKVOb5gHqrYAXAdBTSzhCOzVUVbjpQXy+vjQsQl3KgJE5KSkM5BtpshsIo9z+z+GEVIlkOFP7TEPa0aIUusYZs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=smyYZii+; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="smyYZii+" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CDF64C433F1; Sat, 16 Mar 2024 03:51:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561088; bh=W4SPwVrEsqMMVdnNe/RlorAgbnVZiEnmm7Z363hAnOA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=smyYZii+/Ghg3ADYZ+NUi4TFZO8VVym9fYKUNkWUpkuKAOv4zyAvFN82lRb2OSchw GH2Ov5+XZqaKXmLBkpO1qMRZYNZcHtp6PqGskoDRCrpJ61Vl+FtzJxFcH3KEo61KS5 7S6LRcXHyIbmPObQHUdDa+6cjnsD7WNaOBY+7cWlAc5M8qawIfB6dP0hkboPED5S3W N/VccHr4H7qlo2w7lwJrXuudT9LWAtEJ7K1SgfeHRjLzcK7UMsDH6kvZMOQ8vNHHHd 7gXykGL5QaJB0jM9WGbBUmtw+zkRxL/GN1QbtBVi0Nu5jB92bM20Pls2hMMdYNvin6 V3WOBYXxxAPEw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 2/9] selftests: mptcp: format limits/endpoints outputs Date: Sat, 16 Mar 2024 11:50:30 +0800 Message-Id: <216a2f0edaa69625da41038ab6eab58e61fed6e6.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang The output formats of 'ip mptcp' commands are much different from that of 'pm_nl_ctl' commands. This patch adds two helper format_limits() and format_endpoints() to format the outputs of 'ip mptcp' and 'pm_nl_ctl' with 'limits' or 'endpoints' arguments to hide these different. This is useful for exporting endpoint ops into mptcp_lib.sh Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 22 +--- .../testing/selftests/net/mptcp/mptcp_lib.sh | 35 ++++++ .../testing/selftests/net/mptcp/pm_netlink.sh | 106 ++++++++++-------- 3 files changed, 99 insertions(+), 64 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 62fcfeaa3430..d7a4e4fe7800 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -712,9 +712,7 @@ pm_nl_check_endpoint() local ns=3D$2 local addr=3D$3 local _flags=3D"" - local flags local _port - local port local dev local _id local id @@ -725,10 +723,9 @@ pm_nl_check_endpoint() while [ -n "$1" ]; do if [ $1 =3D "flags" ]; then _flags=3D$2 - [ -n "$_flags" ]; flags=3D"flags $_flags" shift elif [ $1 =3D "dev" ]; then - [ -n "$2" ]; dev=3D"dev $2" + [ -n "$2" ]; dev=3D"$2" shift elif [ $1 =3D "id" ]; then _id=3D$2 @@ -736,7 +733,6 @@ pm_nl_check_endpoint() shift elif [ $1 =3D "port" ]; then _port=3D$2 - [ -n "$_port" ]; port=3D" port $_port" shift fi =20 @@ -749,24 +745,12 @@ pm_nl_check_endpoint() fi =20 if mptcp_lib_is_ip_mptcp; then - # get line and trim trailing whitespace line=3D$(ip -n $ns mptcp endpoint show $id) - line=3D"${line% }" - # the dump order is: address id flags port dev - [ -n "$addr" ] && expected_line=3D"$addr" - expected_line+=3D" $id" - [ -n "$_flags" ] && expected_line+=3D" ${_flags//","/" "}" - [ -n "$dev" ] && expected_line+=3D" $dev" - [ -n "$port" ] && expected_line+=3D" $port" else line=3D$(ip netns exec $ns ./pm_nl_ctl get $_id) - # the dump order is: id flags dev address port - expected_line=3D"$id" - [ -n "$flags" ] && expected_line+=3D" $flags" - [ -n "$dev" ] && expected_line+=3D" $dev" - [ -n "$addr" ] && expected_line+=3D" $addr" - [ -n "$_port" ] && expected_line+=3D" $_port" fi + expected_line=3D$(mptcp_lib_format_endpoints \ + "${_id},${addr},${_flags//","/" "},${dev},${_port}") if [ "$line" =3D "$expected_line" ]; then print_ok else diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index ca01d949fad8..affb2f4675c1 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -520,3 +520,38 @@ mptcp_lib_set_ip_mptcp() { mptcp_lib_is_ip_mptcp() { [ "${MPTCP_LIB_IP_MPTCP}" =3D "1" ] } + +mptcp_lib_format_limits() { + local accept=3D"${1}" + local subflows=3D"${2}" + + if mptcp_lib_is_ip_mptcp; then + # with a space at the end + printf "add_addr_accepted %d subflows %d \n" "${accept}" "${subflows}" + else + printf "accept %d\nsubflows %d\n" "${accept}" "${subflows}" + fi +} + +# format: ,,, +mptcp_lib_format_endpoints() { + local entry id ip flags dev port + + for entry in "${@}"; do + IFS=3D, read -r id ip flags dev port <<< "${entry}" + if mptcp_lib_is_ip_mptcp; then + echo -n "${ip}" + [ -n "${port}" ] && echo -n " port ${port}" + echo -n " id ${id}" + [ -n "${flags}" ] && echo -n " ${flags}" + [ -n "${dev}" ] && echo -n " dev ${dev}" + echo " " # always a space at the end + else + echo -n "id ${id}" + echo -n " flags ${flags//" "/","}" + [ -n "${dev}" ] && echo -n " dev ${dev}" + echo -n " ${ip}" + [ -n "${port}" ] && echo " ${port}" || echo "" + fi + done +} diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 6ab8c5d36340..b5b7e846892c 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -71,36 +71,41 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "default= s addr list" =20 default_limits=3D"$(ip netns exec $ns1 ./pm_nl_ctl limits)" if mptcp_lib_expect_all_features; then - check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 0 -subflows 2" "defaults limits" + check "ip netns exec $ns1 ./pm_nl_ctl limits" \ + "$(mptcp_lib_format_limits 0 2)" "defaults limits" fi =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 flags signal,backup -check "ip netns exec $ns1 ./pm_nl_ctl get 1" "id 1 flags 10.0.1.1" "simpl= e add/get addr" +check "ip netns exec $ns1 ./pm_nl_ctl get 1" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1")" "simple add/get addr" =20 check "ip netns exec $ns1 ./pm_nl_ctl dump" \ -"id 1 flags 10.0.1.1 -id 2 flags subflow dev lo 10.0.1.2 -id 3 flags signal,backup 10.0.1.3" "dump addrs" + "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ + "2,10.0.1.2,subflow,lo" \ + "3,10.0.1.3,signal backup")" \ + "dump addrs" =20 ip netns exec $ns1 ./pm_nl_ctl del 2 check "ip netns exec $ns1 ./pm_nl_ctl get 2" "" "simple del addr" check "ip netns exec $ns1 ./pm_nl_ctl dump" \ -"id 1 flags 10.0.1.1 -id 3 flags signal,backup 10.0.1.3" "dump addrs after del" + "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ + "3,10.0.1.3,signal backup")" \ + "dump addrs after del" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 2>/dev/null check "ip netns exec $ns1 ./pm_nl_ctl get 4" "" "duplicate addr" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 flags signal -check "ip netns exec $ns1 ./pm_nl_ctl get 4" "id 4 flags signal 10.0.1.4" = "id addr increment" +check "ip netns exec $ns1 ./pm_nl_ctl get 4" \ + "$(mptcp_lib_format_endpoints "4,10.0.1.4,signal")" "id addr increment" =20 for i in $(seq 5 9); do ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.$i flags signal >/dev/null 2>&1 done -check "ip netns exec $ns1 ./pm_nl_ctl get 9" "id 9 flags signal 10.0.1.9" = "hard addr limit" +check "ip netns exec $ns1 ./pm_nl_ctl get 9" \ + "$(mptcp_lib_format_endpoints "9,10.0.1.9,signal")" "hard addr limit" check "ip netns exec $ns1 ./pm_nl_ctl get 10" "" "above hard addr limit" =20 ip netns exec $ns1 ./pm_nl_ctl del 9 @@ -108,13 +113,15 @@ for i in $(seq 10 255); do ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.9 id $i ip netns exec $ns1 ./pm_nl_ctl del $i done -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags 10.0.1.1 -id 3 flags signal,backup 10.0.1.3 -id 4 flags signal 10.0.1.4 -id 5 flags signal 10.0.1.5 -id 6 flags signal 10.0.1.6 -id 7 flags signal 10.0.1.7 -id 8 flags signal 10.0.1.8" "id limit" +check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ + "3,10.0.1.3,signal backup" \ + "4,10.0.1.4,signal" \ + "5,10.0.1.5,signal" \ + "6,10.0.1.6,signal" \ + "7,10.0.1.7,signal" \ + "8,10.0.1.8,signal")" \ + "id limit" =20 ip netns exec $ns1 ./pm_nl_ctl flush check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" @@ -126,8 +133,8 @@ ip netns exec $ns1 ./pm_nl_ctl limits 1 9 2>/dev/null check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows = above hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 -check "ip netns exec $ns1 ./pm_nl_ctl limits" "accept 8 -subflows 8" "set limits" +check "ip netns exec $ns1 ./pm_nl_ctl limits" \ + "$(mptcp_lib_format_limits 8 8)" "set limits" =20 ip netns exec $ns1 ./pm_nl_ctl flush ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 @@ -138,14 +145,16 @@ ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.5 id 254 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.6 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.7 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.8 -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags 10.0.1.1 -id 2 flags 10.0.1.2 -id 3 flags 10.0.1.7 -id 4 flags 10.0.1.8 -id 100 flags 10.0.1.3 -id 101 flags 10.0.1.4 -id 254 flags 10.0.1.5 -id 255 flags 10.0.1.6" "set ids" +check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ + "2,10.0.1.2" \ + "3,10.0.1.7" \ + "4,10.0.1.8" \ + "100,10.0.1.3" \ + "101,10.0.1.4" \ + "254,10.0.1.5" \ + "255,10.0.1.6")" \ + "set ids" =20 ip netns exec $ns1 ./pm_nl_ctl flush ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.1 @@ -156,36 +165,43 @@ ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.5 id 253 ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.6 ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.7 ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.8 -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags 10.0.0.1 -id 2 flags 10.0.0.4 -id 3 flags 10.0.0.6 -id 4 flags 10.0.0.7 -id 5 flags 10.0.0.8 -id 253 flags 10.0.0.5 -id 254 flags 10.0.0.2 -id 255 flags 10.0.0.3" "wrap-around ids" +check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.0.1" \ + "2,10.0.0.4" \ + "3,10.0.0.6" \ + "4,10.0.0.7" \ + "5,10.0.0.8" \ + "253,10.0.0.5" \ + "254,10.0.0.2" \ + "255,10.0.0.3")" \ + "wrap-around ids" =20 ip netns exec $ns1 ./pm_nl_ctl flush ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 flags subflow ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags backup -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ -subflow,backup 10.0.1.1" "set flags (backup)" +check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow backup")" \ + "set flags (backup)" ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags nobackup -check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ -subflow 10.0.1.1" " (nobackup)" +check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow")" \ + " (nobackup)" =20 # fullmesh support has been added later ip netns exec $ns1 ./pm_nl_ctl set id 1 flags fullmesh 2>/dev/null if ip netns exec $ns1 ./pm_nl_ctl dump | grep -q "fullmesh" || mptcp_lib_expect_all_features; then - check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ -subflow,fullmesh 10.0.1.1" " (fullmesh)" + check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow fullmesh")" \ + " (fullmesh)" ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh - check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ -subflow 10.0.1.1" " (nofullmesh)" + check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow")" \ + " (nofullmesh)" ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh - check "ip netns exec $ns1 ./pm_nl_ctl dump" "id 1 flags \ -subflow,backup,fullmesh 10.0.1.1" " (backup,fullmesh)" + check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow backup fullmesh")" \ + " (backup,fullmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 4CEF846BA for ; Sat, 16 Mar 2024 03:51:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561090; cv=none; b=tKfQ0rPuAz7jOE9mWbntO87Jy6u8hQAvu8zEo9+PvQFDcV5GFofXS3TvisLYZQ8oGG3vO+veXHKQNjXr0SasZmnuh44LgV8WyrMUq/fssGDZ/cVeXh2aieJCm5wCLjOG2bP6ID8XI60r/zt8/j/rcYp0/+/FWS/GaE+T/OrbNQ8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561090; c=relaxed/simple; bh=6SxXdW9dyJXWzKCnAtoTrf+xjr+T19T+dhVQpIuBHHg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ByKbUdT+vlMIHo8/3/t2NN3C9y1M6EXmiizVG0tmR4n1ZP2Qnr1pEEIWDb4e4yUOeoDU7PT9ucGf+s+jgz/+mzvP4MHcAYw/0vLKc+bZEv70Uj/qjYV76LxR9KKn/dqcssl0jbNXCi+vPaSWYlXCkhQ5qkhK0WzsDSzCgo4cM5k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Vu7uHUrH; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Vu7uHUrH" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A501AC433C7; Sat, 16 Mar 2024 03:51:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561089; bh=6SxXdW9dyJXWzKCnAtoTrf+xjr+T19T+dhVQpIuBHHg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Vu7uHUrHRaxumt+RbFk5hnRgyuKC5ANy/NIBIoMyk+78uROfPNJ6mYE4XlI2p/Sx+ JoqC3SVaGq4B1HQgRn/wj3VsQorOC1DQxXcmw6XghbG47Jj3TDXigoA27NTGNv1/uL Jf1GowPFBurD2V4zeVePjO2bTnCf7wPQGDAp/qo3eI/WXMydgymNkGqujc/N3jPsGG rRjkFfsMg2QHur9VzA1QdDeSFKmrvcsp7sm2V6dPGNKG2mtEPvUEYyRZC8Tw/YH6qe XmXtmp/MTxFby6284YzFTQN4EZFkCL6DX+Lu/8pcPcSXPE3E8rld3loRxM3kEbdYV8 lqk+XUM95Bcng== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 3/9] selftests: mptcp: add get_limits helper Date: Sat, 16 Mar 2024 11:50:31 +0800 Message-Id: <3a8c9fa68a0d34ae3f3d685993876cd6bec23ace.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang Just like set_limits() helper, this patch adds another one get_limits() to show the limits. Usage: Set limits - set_limits $ns $addrs $subflows Get limits - get_limits $ns Use this new helper in pm_netlink.sh to replace all 'pm_nl_ctl limits' commands. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 10 ++++++++++ tools/testing/selftests/net/mptcp/pm_netlink.sh | 10 +++++----- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index affb2f4675c1..00d6cb287c04 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -555,3 +555,13 @@ mptcp_lib_format_endpoints() { fi done } + +mptcp_lib_pm_nl_get_limits() { + local ns=3D${1} + + if mptcp_lib_is_ip_mptcp; then + ip -n "${ns}" mptcp limits + else + ip netns exec "${ns}" ./pm_nl_ctl limits + fi +} diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index b5b7e846892c..9430e91e48ed 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -69,9 +69,9 @@ check() =20 check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" =20 -default_limits=3D"$(ip netns exec $ns1 ./pm_nl_ctl limits)" +default_limits=3D"$(mptcp_lib_pm_nl_get_limits "${ns1}")" if mptcp_lib_expect_all_features; then - check "ip netns exec $ns1 ./pm_nl_ctl limits" \ + check "mptcp_lib_pm_nl_get_limits ${ns1}" \ "$(mptcp_lib_format_limits 0 2)" "defaults limits" fi =20 @@ -127,13 +127,13 @@ ip netns exec $ns1 ./pm_nl_ctl flush check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" =20 ip netns exec $ns1 ./pm_nl_ctl limits 9 1 2>/dev/null -check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "rcv addrs= above hard limit" +check "mptcp_lib_pm_nl_get_limits ${ns1}" "${default_limits}" "rcv addrs a= bove hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 1 9 2>/dev/null -check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default_limits" "subflows = above hard limit" +check "mptcp_lib_pm_nl_get_limits ${ns1}" "${default_limits}" "subflows ab= ove hard limit" =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 -check "ip netns exec $ns1 ./pm_nl_ctl limits" \ +check "mptcp_lib_pm_nl_get_limits ${ns1}" \ "$(mptcp_lib_format_limits 8 8)" "set limits" =20 ip netns exec $ns1 ./pm_nl_ctl flush --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 18C1946BA for ; Sat, 16 Mar 2024 03:51:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561092; cv=none; b=UJVqsTUrVFpz3kHuDVuiriQcJb51Nx2OfTJWRKVaiQPeFyteqsmFvf6cwIV1VJqPl9TxE2deOuIYABXu25QSB8ZvhKT67lMU3LCeQUnRFqDhLFKo2fZu8wzVEU4SFz8Zat1x/7ke9uKZDqsPoPkkkmyiWeVX5JcltEMp1eSx5CU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561092; c=relaxed/simple; bh=LR9EzXIX9B04uncI5Sk4IatiAg+vo1UQtwv+NJ7iws0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=J+l60AHzkv24ai6Vwc42VjAtcnzxMxPXcqbHv8yvtaV8sybexGDZ9Gg6nGezrI5+7hZQDAQ7A+5CGVU29NLzL+cFwQu2V4E6Bh0PQ0BXyyf7/R3sBCyMPl5Ft0YIAw/abwh4vOvL/X3tNZQmEqNGKGreCMyTp+l6/ZIITyDqQeY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=tgBdPx68; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="tgBdPx68" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7FDB4C433F1; Sat, 16 Mar 2024 03:51:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561091; bh=LR9EzXIX9B04uncI5Sk4IatiAg+vo1UQtwv+NJ7iws0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tgBdPx68COhmEcPA8NrZdU83fdUEolgXK2r/89cLVFy7edhlRUha01TyvSk4ApHQu 2v2Tz0iTnNCF6okIuZzaXG7JRfFrh7IcE/MouZthqu1vDd/JftFoN1q2vO4UjMfdJE gFUEBvt/L+kBj9+G9NdBLY6lA3JE+f1iFbifktdkLM7DYcyYidwd3N5p8VpmzotCyb g90rfe6LywmD+JBcB3DZd/gpJGOe8l587dtY2YDwpUxe52B8EMT5NG7OhLZWSKWN6R W3kn/52yq7I/8K1i0R39eAl14xn6OUsstNri0rACgLzW63oqQuo9DyvCwy47ncXloi TZttsQ1DokKiw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 4/9] selftests: mptcp: add get_endpoint helper Date: Sat, 16 Mar 2024 11:50:32 +0800 Message-Id: <698a378299c286df2badeacd09181648590493d7.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang All endpoints are showed in show_endpoints(). This patch adds another helper named get_endpoint() to support for showing a specofic endpoint identified by the given address ID. Usage: All endpoints - show_endpoints $ns One endpoint - get_endpoint $ns $id Use this new helper in mptcp_join.sh and pm_netlink.sh to replace all 'pm_nl_ctl get' commands. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 10 ++-------- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 11 +++++++++++ tools/testing/selftests/net/mptcp/pm_netlink.sh | 12 ++++++------ 3 files changed, 19 insertions(+), 14 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index d7a4e4fe7800..b1c47c00d699 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -715,7 +715,6 @@ pm_nl_check_endpoint() local _port local dev local _id - local id =20 print_check "${msg}" =20 @@ -729,7 +728,6 @@ pm_nl_check_endpoint() shift elif [ $1 =3D "id" ]; then _id=3D$2 - [ -n "$_id" ]; id=3D"id $_id" shift elif [ $1 =3D "port" ]; then _port=3D$2 @@ -739,16 +737,12 @@ pm_nl_check_endpoint() shift done =20 - if [ -z "$id" ]; then + if [ -z "${_id}" ]; then test_fail "bad test - missing endpoint id" return fi =20 - if mptcp_lib_is_ip_mptcp; then - line=3D$(ip -n $ns mptcp endpoint show $id) - else - line=3D$(ip netns exec $ns ./pm_nl_ctl get $_id) - fi + line=3D$(mptcp_lib_pm_nl_get_endpoint "${ns}" "${_id}") expected_line=3D$(mptcp_lib_format_endpoints \ "${_id},${addr},${_flags//","/" "},${dev},${_port}") if [ "$line" =3D "$expected_line" ]; then diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 00d6cb287c04..86b8ad092611 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -565,3 +565,14 @@ mptcp_lib_pm_nl_get_limits() { ip netns exec "${ns}" ./pm_nl_ctl limits fi } + +mptcp_lib_pm_nl_get_endpoint() { + local ns=3D${1} + local id=3D${2} + + if mptcp_lib_is_ip_mptcp; then + ip -n "${ns}" mptcp endpoint show id "${id}" + else + ip netns exec "${ns}" ./pm_nl_ctl get "${id}" + fi +} diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 9430e91e48ed..d349cfb8834f 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -78,7 +78,7 @@ fi ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 flags signal,backup -check "ip netns exec $ns1 ./pm_nl_ctl get 1" \ +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 1" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1")" "simple add/get addr" =20 check "ip netns exec $ns1 ./pm_nl_ctl dump" \ @@ -88,25 +88,25 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "dump addrs" =20 ip netns exec $ns1 ./pm_nl_ctl del 2 -check "ip netns exec $ns1 ./pm_nl_ctl get 2" "" "simple del addr" +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 2" "" "simple del addr" check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ "3,10.0.1.3,signal backup")" \ "dump addrs after del" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 2>/dev/null -check "ip netns exec $ns1 ./pm_nl_ctl get 4" "" "duplicate addr" +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 4" "" "duplicate addr" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 flags signal -check "ip netns exec $ns1 ./pm_nl_ctl get 4" \ +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 4" \ "$(mptcp_lib_format_endpoints "4,10.0.1.4,signal")" "id addr increment" =20 for i in $(seq 5 9); do ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.$i flags signal >/dev/null 2>&1 done -check "ip netns exec $ns1 ./pm_nl_ctl get 9" \ +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 9" \ "$(mptcp_lib_format_endpoints "9,10.0.1.9,signal")" "hard addr limit" -check "ip netns exec $ns1 ./pm_nl_ctl get 10" "" "above hard addr limit" +check "mptcp_lib_pm_nl_get_endpoint ${ns1} 10" "" "above hard addr limit" =20 ip netns exec $ns1 ./pm_nl_ctl del 9 for i in $(seq 10 255); do --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 F324046BA for ; Sat, 16 Mar 2024 03:51:33 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561094; cv=none; b=HkrbuvV5+ziimvLr9oDKWQYlDdoc3f9fpFO+zB85EsEbUybOWuI8dAnlzqORNxJyZv5hfNkqwqxxNjGhviEGgQ4foI0XKeNCxCUsPy3QQsO14c3ETgwUhD8f1i79c6azzEEVEVLnjCmcd0B+PT9QS7FbW0IxsWg3QIbyc9gn54E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561094; c=relaxed/simple; bh=b3rf+yPorr3T3Gg+1rDvWENMr5LdDfZfwBPJy5Qzk+4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=QQv6fRWFE1k9UkjOReijw5MVDKt94RbPe3oAY0TNjFBzs4SZFdcuAMDpir/0sPKKs50VLfFQlnwdpzo1S9CvzY1uwchIHAYsc24fTCHjz7t5OGE8X7DgtUTrUx7SxZk6Ca2cYDNHM8sGGXCKVO4Ux3q4fRuALHCqgCKhLadfp2A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Wu5zhg7h; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Wu5zhg7h" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 59EC3C43390; Sat, 16 Mar 2024 03:51:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561093; bh=b3rf+yPorr3T3Gg+1rDvWENMr5LdDfZfwBPJy5Qzk+4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Wu5zhg7h4bY/K/MOXCffOuXUySjSwdLid+bSNHAsH2kvgzgL+uwmWYM7CoFxxcPd3 nRNPiCZRLiX7vRphroXuffdJ3F0EFLj5OffOJK7njjjyJbazdHaBh8K6Dgjh0CCh+b 3v2ziW50LoHY8UvGoHaCGzEU3ABhFmLO+6xHoL3qbbjx0jcZrSC6UgggU3q1s+An2K SICf60dxOPhRVERgkGdvmGoAW6C/jyb7idCckvVP9hixC03Xbh6+gXPNLduYOu5iL2 zTVlIrdqLVYD2nlsJ8nGUKguKkiYHXJCoBJD1qxRkqCpsLOnFc5BCJAaIY2zkPq48+ m2o669boKWMNw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 5/9] selftests: mptcp: add change_address helper Date: Sat, 16 Mar 2024 11:50:33 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang The address that needs to change flags can only be identified by an address ID in change_endpoint() helper. This patch adds another changing flags helper named change_address() to support for passing an IP address directly to it. Usage: Address ID - change_endpoint $ns id $id $flags IP address - change_address $ns $addr $flags Use this new helper in pm_netlink.sh to replace all 'pm_nl_ctl set' commands. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 13 +++++++++++++ tools/testing/selftests/net/mptcp/pm_netlink.sh | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 86b8ad092611..9ba37d12d960 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -576,3 +576,16 @@ mptcp_lib_pm_nl_get_endpoint() { ip netns exec "${ns}" ./pm_nl_ctl get "${id}" fi } + +mptcp_lib_pm_nl_change_address() { + local ns=3D${1} + local addr=3D${2} + local flags=3D${3} + + if mptcp_lib_is_ip_mptcp; then + # shellcheck disable=3DSC2086 # blanks in flags, no double quote + ip -n "${ns}" mptcp endpoint change "${addr}" ${flags//","/" "} + else + ip netns exec "${ns}" ./pm_nl_ctl set "${addr}" flags "${flags}" + fi +} diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index d349cfb8834f..2e889fbd7fcd 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -178,11 +178,11 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" \ =20 ip netns exec $ns1 ./pm_nl_ctl flush ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 flags subflow -ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags backup +mptcp_lib_pm_nl_change_address "${ns1}" 10.0.1.1 backup check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow backup")" \ "set flags (backup)" -ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags nobackup +mptcp_lib_pm_nl_change_address "${ns1}" 10.0.1.1 nobackup check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow")" \ " (nobackup)" --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 B6A5146BA for ; Sat, 16 Mar 2024 03:51:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561095; cv=none; b=pdiwxzgNDER2PzXIVThOT6eLplLs+EIti6tOyjkR1i60UN89E8YL0Mawa3HR9qyu+6BuU/SqVtg7vibTyOdkW5getgyaMZicQiOTAKIxWaXOHbZaVxTOMIXT0fhxp95+B6ZDAQeP1sHzpNFanq4Nc6PS+zCkdpX+FNbjKeb8SZE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561095; c=relaxed/simple; bh=PUJeLESW7LG6trMotsmQ2j4PMmOFqvnr5/8G5SvImr4=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=DzWQabPqGZQyhcKchkxAn9uVo6dvMAvlCPgzji4GEJUtWruk/+IQX66FZ5SEyZFBdFmcpGGQzhb1GYaBVwJh8QdFB1Ic5bVBWylqqUxveivUs3YuFv3lzrjtftIQhVZzcqVD/kg+50weNNCX74ygb+5+8wn/hC4RAanVOhkokxw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=L4QUq9Us; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="L4QUq9Us" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 32B67C433C7; Sat, 16 Mar 2024 03:51:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561095; bh=PUJeLESW7LG6trMotsmQ2j4PMmOFqvnr5/8G5SvImr4=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=L4QUq9UskUSQwcq7FbIggE0NJiKgKbRAQLf72TXv1cU5wsIYHX5qKrTjHeM5Y0X7Q o4GzJ8q5XvZgIoszfPpzetJbdFO0YZf4tgjdQ0GMLtdgLeFKa3nhSEX5dNuiOC7Fvo Bruo+QfvlLY9BrAH3okMjiOeH4zm6WNigzTTyLgN/4aggkxwofieF+nYzVRaJdyS3w Cv1m6sCICbyMkNaUd0kLuEO13n9gIZoiHrArFUq48emXrVnBPbXmeIiuohE5XaTUSj 9EtUz/ZZ2iVJ2hy0QxcR93Wf+rzKTH1kPGB+DDwj8YnsgF1m51x+7K8NHo6bfx/1eo dvUXFXap8d9nQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 6/9] selftests: mptcp: join: update endpoint ops Date: Sat, 16 Mar 2024 11:50:34 +0800 Message-Id: <6b8e5cb916e24acd0fdba0779b53d254fa02f114.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch uses 'case' statements to simplify pm_nl_add_endpoint() and pm_nl_check_endpoint(). Alse update pm_nl_del_endpoint() to avoid the 'double quote' shellcheck warning. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 64 +++++++------------ 1 file changed, 22 insertions(+), 42 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index b1c47c00d699..4dd9979c8fdb 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -620,39 +620,27 @@ pm_nl_add_endpoint() { local ns=3D$1 local addr=3D$2 - local flags _flags - local port _port - local dev _dev - local id _id + local flags dev id port local nr=3D2 =20 local p for p in "${@}" do - if [ $p =3D "flags" ]; then - eval _flags=3D\$"$nr" - [ -n "$_flags" ]; flags=3D"flags $_flags" - fi - if [ $p =3D "dev" ]; then - eval _dev=3D\$"$nr" - [ -n "$_dev" ]; dev=3D"dev $_dev" - fi - if [ $p =3D "id" ]; then - eval _id=3D\$"$nr" - [ -n "$_id" ]; id=3D"id $_id" - fi - if [ $p =3D "port" ]; then - eval _port=3D\$"$nr" - [ -n "$_port" ]; port=3D"port $_port" - fi + case "${p}" in + "flags" | "dev" | "id" | "port") + eval "${p}"=3D\$"${nr}" + ;; + esac =20 nr=3D$((nr + 1)) done =20 if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint add $addr ${_flags//","/" "} $dev $id $port + ip -n "${ns}" mptcp endpoint add "${addr}" ${flags//","/" "} \ + ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} else - ip netns exec $ns ./pm_nl_ctl add $addr $flags $dev $id $port + ip netns exec "${ns}" ./pm_nl_ctl add "${addr}" ${flags:+flags "${flags}= "} \ + ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} fi } =20 @@ -664,7 +652,7 @@ pm_nl_del_endpoint() =20 if mptcp_lib_is_ip_mptcp; then [ $id -ne 0 ] && addr=3D'' - ip -n $ns mptcp endpoint delete id $id $addr + ip -n $ns mptcp endpoint delete id $id ${addr:+"${addr}"} else ip netns exec $ns ./pm_nl_ctl del $id $addr fi @@ -711,40 +699,32 @@ pm_nl_check_endpoint() local msg=3D"$1" local ns=3D$2 local addr=3D$3 - local _flags=3D"" - local _port - local dev - local _id + local flags dev id port =20 print_check "${msg}" =20 shift 3 while [ -n "$1" ]; do - if [ $1 =3D "flags" ]; then - _flags=3D$2 - shift - elif [ $1 =3D "dev" ]; then - [ -n "$2" ]; dev=3D"$2" + case "${1}" in + "flags" | "dev" | "id" | "port") + eval "${1}"=3D"${2}" shift - elif [ $1 =3D "id" ]; then - _id=3D$2 - shift - elif [ $1 =3D "port" ]; then - _port=3D$2 - shift - fi + ;; + *) + ;; + esac =20 shift done =20 - if [ -z "${_id}" ]; then + if [ -z "${id}" ]; then test_fail "bad test - missing endpoint id" return fi =20 - line=3D$(mptcp_lib_pm_nl_get_endpoint "${ns}" "${_id}") + line=3D$(mptcp_lib_pm_nl_get_endpoint "${ns}" "${id}") expected_line=3D$(mptcp_lib_format_endpoints \ - "${_id},${addr},${_flags//","/" "},${dev},${_port}") + "${id},${addr},${flags//","/" "},${dev},${port}") if [ "$line" =3D "$expected_line" ]; then print_ok else --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 767DD46BA for ; Sat, 16 Mar 2024 03:51:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561097; cv=none; b=iFnsqWlEbzC6+rnm2zN2SKs4DOflswENpTSWb8lCrWmFCt5pKF5fyl2zcGZyzGbkluo5kdalBRYKZbO/o8nn/HH+LGzFYjmHspCa5NZw2R1OA1ELc1Th2F+4WDFrul/i37XlYCXZ/k61yymsEvUi9LRwUas4ElPVYRvzfccMlwA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561097; c=relaxed/simple; bh=TdhvIMiuH1Lv1+PpQpk0gDsMOhM7pbvDxaxhQPfa6V0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=PsSXoSYi0wyDS6OaCcsHd8kw9yHqNO5wDtgQpEe5iHFZi5uQjZyJMU8MFTDz/8C0hbVu1f44iXqZZCjRuDVZaQ4iK2fbW7l+uqV+lJ/EP38RD4PQAv4b+53FuZKZae0MvZoiby1d4B1sMjLLzhn6ni2tg6B3onmEAbuINvDx6p4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kMxTpLxt; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kMxTpLxt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E73FEC433C7; Sat, 16 Mar 2024 03:51:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561097; bh=TdhvIMiuH1Lv1+PpQpk0gDsMOhM7pbvDxaxhQPfa6V0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kMxTpLxthSj557dTAEZTERn2uw6tz8hQZbCcbdTt0w6u8S0Q6IrWjOLam3io+HmlU P9HaO4mC+iTmrx/SKkCC8m7QWeSXygWGYXupzsNtUSPv0VsLAiqSNjskizgj0pS5y9 RsPEa5SkYYx6MhJLiQzlTB1hYRjwyfUf47Ot6JcLO5eymsSd6ccDJu8sdz/RPsiYED YQKmJe2x5V9OXDrdPcvc82Gtf6oMSR19H/HLbFvagwHzjGhTdhYXGowULDMBMaAQDq +3AbLFSaJZjGM6nSiFx4+ArFWs7B6gxPe9aEHG10683ZPuSZG+ZnRnWkBxf8I7HFuf t5854XKoKa8rA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 7/9] selftests: mptcp: export more endpoint ops Date: Sat, 16 Mar 2024 11:50:35 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch exports six endpoint operation helpers with the pm_nl_ prefix: pm_nl_set_limits(), pm_nl_add_endpoint(), pm_nl_del_endpoint(), pm_nl_flush_endpoint(), pm_nl_show_endpoints() and pm_nl_change_endpoint() from mptcp_join.sh into mptcp_lib.sh as public functions, and renamed each of them with a mptcp_lib_ prefix. Then these old pm_nl_ prefix helpers in mptcp_join.sh can be wrappers of mptcp_lib_ prefix ones. Use these newly added helpers to replace all 'pm_nl_ctl' commands with 'limits', 'add', 'del', 'flush', 'show' and 'set' arguments in scripts mptcp_join.sh, mptcp_sockopt.sh, pm_netlink.sh and simult_flows.sh. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 72 ++----------- .../testing/selftests/net/mptcp/mptcp_lib.sh | 85 +++++++++++++++ .../selftests/net/mptcp/mptcp_sockopt.sh | 12 +-- .../testing/selftests/net/mptcp/pm_netlink.sh | 100 +++++++++--------- .../selftests/net/mptcp/simult_flows.sh | 6 +- 5 files changed, 150 insertions(+), 125 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 4dd9979c8fdb..eb807db4b91f 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -605,92 +605,32 @@ kill_events_pids() =20 pm_nl_set_limits() { - local ns=3D$1 - local addrs=3D$2 - local subflows=3D$3 - - if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp limits set add_addr_accepted $addrs subflows $subflows - else - ip netns exec $ns ./pm_nl_ctl limits $addrs $subflows - fi + mptcp_lib_pm_nl_set_limits "${@}" } =20 pm_nl_add_endpoint() { - local ns=3D$1 - local addr=3D$2 - local flags dev id port - local nr=3D2 - - local p - for p in "${@}" - do - case "${p}" in - "flags" | "dev" | "id" | "port") - eval "${p}"=3D\$"${nr}" - ;; - esac - - nr=3D$((nr + 1)) - done - - if mptcp_lib_is_ip_mptcp; then - ip -n "${ns}" mptcp endpoint add "${addr}" ${flags//","/" "} \ - ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} - else - ip netns exec "${ns}" ./pm_nl_ctl add "${addr}" ${flags:+flags "${flags}= "} \ - ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} - fi + mptcp_lib_pm_nl_add_endpoint "${@}" } =20 pm_nl_del_endpoint() { - local ns=3D$1 - local id=3D$2 - local addr=3D$3 - - if mptcp_lib_is_ip_mptcp; then - [ $id -ne 0 ] && addr=3D'' - ip -n $ns mptcp endpoint delete id $id ${addr:+"${addr}"} - else - ip netns exec $ns ./pm_nl_ctl del $id $addr - fi + mptcp_lib_pm_nl_del_endpoint "${@}" } =20 pm_nl_flush_endpoint() { - local ns=3D$1 - - if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint flush - else - ip netns exec $ns ./pm_nl_ctl flush - fi + mptcp_lib_pm_nl_flush_endpoint "${@}" } =20 pm_nl_show_endpoints() { - local ns=3D$1 - - if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint show - else - ip netns exec $ns ./pm_nl_ctl dump - fi + mptcp_lib_pm_nl_show_endpoints "${@}" } =20 pm_nl_change_endpoint() { - local ns=3D$1 - local id=3D$2 - local flags=3D$3 - - if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint change id $id ${flags//","/" "} - else - ip netns exec $ns ./pm_nl_ctl set id $id flags $flags - fi + mptcp_lib_pm_nl_change_endpoint "${@}" } =20 pm_nl_check_endpoint() diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index 9ba37d12d960..53d306f6f61a 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -589,3 +589,88 @@ mptcp_lib_pm_nl_change_address() { ip netns exec "${ns}" ./pm_nl_ctl set "${addr}" flags "${flags}" fi } + +mptcp_lib_pm_nl_set_limits() { + local ns=3D${1} + local addrs=3D${2} + local subflows=3D${3} + + if mptcp_lib_is_ip_mptcp; then + ip -n "${ns}" mptcp limits set add_addr_accepted "${addrs}" subflows "${= subflows}" + else + ip netns exec "${ns}" ./pm_nl_ctl limits "${addrs}" "${subflows}" + fi +} + +mptcp_lib_pm_nl_add_endpoint() { + local ns=3D${1} + local addr=3D${2} + local flags dev id port + local nr=3D2 + + local p + for p in "${@}"; do + case "${p}" in + "flags" | "dev" | "id" | "port") + eval "${p}"=3D\$"${nr}" + ;; + esac + + nr=3D$((nr + 1)) + done + + if mptcp_lib_is_ip_mptcp; then + # shellcheck disable=3DSC2086 # blanks in flags, no double quote + ip -n "${ns}" mptcp endpoint add "${addr}" ${flags//","/" "} \ + ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} + else + ip netns exec "${ns}" ./pm_nl_ctl add "${addr}" ${flags:+flags "${flags}= "} \ + ${dev:+dev "${dev}"} ${id:+id "${id}"} ${port:+port "${port}"} + fi +} + +mptcp_lib_pm_nl_del_endpoint() { + local ns=3D${1} + local id=3D${2} + local addr=3D${3} + + if mptcp_lib_is_ip_mptcp; then + [ "${id}" -ne 0 ] && addr=3D'' + ip -n "${ns}" mptcp endpoint delete id "${id}" ${addr:+"${addr}"} + else + ip netns exec "${ns}" ./pm_nl_ctl del "${id}" "${addr}" + fi +} + +mptcp_lib_pm_nl_flush_endpoint() { + local ns=3D${1} + + if mptcp_lib_is_ip_mptcp; then + ip -n "${ns}" mptcp endpoint flush + else + ip netns exec "${ns}" ./pm_nl_ctl flush + fi +} + +mptcp_lib_pm_nl_show_endpoints() { + local ns=3D${1} + + if mptcp_lib_is_ip_mptcp; then + ip -n "${ns}" mptcp endpoint show + else + ip netns exec "${ns}" ./pm_nl_ctl dump + fi +} + +mptcp_lib_pm_nl_change_endpoint() { + local ns=3D${1} + local id=3D${2} + local flags=3D${3} + + if mptcp_lib_is_ip_mptcp; then + # shellcheck disable=3DSC2086 # blanks in flags, no double quote + ip -n "${ns}" mptcp endpoint change id "${id}" ${flags//","/" "} + else + ip netns exec "${ns}" ./pm_nl_ctl set id "${id}" flags "${flags}" + fi +} diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index e2d70c18786e..36e81383f0e2 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -58,15 +58,15 @@ init() # let $ns2 reach any $ns1 address from any interface ip -net "$ns2" route add default via 10.0.$i.1 dev ns2eth$i metric 10$i =20 - ip netns exec $ns1 ./pm_nl_ctl add 10.0.$i.1 flags signal - ip netns exec $ns1 ./pm_nl_ctl add dead:beef:$i::1 flags signal + mptcp_lib_pm_nl_add_endpoint "${ns1}" "10.0.${i}.1" flags signal + mptcp_lib_pm_nl_add_endpoint "${ns1}" "dead:beef:${i}::1" flags signal =20 - ip netns exec $ns2 ./pm_nl_ctl add 10.0.$i.2 flags signal - ip netns exec $ns2 ./pm_nl_ctl add dead:beef:$i::2 flags signal + mptcp_lib_pm_nl_add_endpoint "${ns2}" "10.0.${i}.2" flags signal + mptcp_lib_pm_nl_add_endpoint "${ns2}" "dead:beef:${i}::2" flags signal done =20 - ip netns exec $ns1 ./pm_nl_ctl limits 8 8 - ip netns exec $ns2 ./pm_nl_ctl limits 8 8 + mptcp_lib_pm_nl_set_limits "${ns1}" 8 8 + mptcp_lib_pm_nl_set_limits "${ns2}" 8 8 =20 add_mark_rules $ns1 1 add_mark_rules $ns2 2 diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 2e889fbd7fcd..31f7021734fe 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -67,7 +67,7 @@ check() fi } =20 -check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" "" "defaults addr list" =20 default_limits=3D"$(mptcp_lib_pm_nl_get_limits "${ns1}")" if mptcp_lib_expect_all_features; then @@ -75,45 +75,45 @@ if mptcp_lib_expect_all_features; then "$(mptcp_lib_format_limits 0 2)" "defaults limits" fi =20 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 flags subflow dev lo -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 flags signal,backup +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.1 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.2 flags subflow dev lo +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.3 flags signal,backup check "mptcp_lib_pm_nl_get_endpoint ${ns1} 1" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1")" "simple add/get addr" =20 -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ "2,10.0.1.2,subflow,lo" \ "3,10.0.1.3,signal backup")" \ "dump addrs" =20 -ip netns exec $ns1 ./pm_nl_ctl del 2 +mptcp_lib_pm_nl_del_endpoint "${ns1}" 2 check "mptcp_lib_pm_nl_get_endpoint ${ns1} 2" "" "simple del addr" -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ "3,10.0.1.3,signal backup")" \ "dump addrs after del" =20 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 2>/dev/null +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.3 2>/dev/null check "mptcp_lib_pm_nl_get_endpoint ${ns1} 4" "" "duplicate addr" =20 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 flags signal +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.4 flags signal check "mptcp_lib_pm_nl_get_endpoint ${ns1} 4" \ "$(mptcp_lib_format_endpoints "4,10.0.1.4,signal")" "id addr increment" =20 for i in $(seq 5 9); do - ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.$i flags signal >/dev/null 2>&1 + mptcp_lib_pm_nl_add_endpoint "${ns1}" "10.0.1.${i}" flags signal >/dev/nu= ll 2>&1 done check "mptcp_lib_pm_nl_get_endpoint ${ns1} 9" \ "$(mptcp_lib_format_endpoints "9,10.0.1.9,signal")" "hard addr limit" check "mptcp_lib_pm_nl_get_endpoint ${ns1} 10" "" "above hard addr limit" =20 -ip netns exec $ns1 ./pm_nl_ctl del 9 +mptcp_lib_pm_nl_del_endpoint "${ns1}" 9 for i in $(seq 10 255); do - ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.9 id $i - ip netns exec $ns1 ./pm_nl_ctl del $i + mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.9 id "${i}" + mptcp_lib_pm_nl_del_endpoint "${ns1}" "${i}" done -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ "3,10.0.1.3,signal backup" \ "4,10.0.1.4,signal" \ @@ -123,29 +123,29 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "8,10.0.1.8,signal")" \ "id limit" =20 -ip netns exec $ns1 ./pm_nl_ctl flush -check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" +mptcp_lib_pm_nl_flush_endpoint "${ns1}" +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" "" "flush addrs" =20 -ip netns exec $ns1 ./pm_nl_ctl limits 9 1 2>/dev/null +mptcp_lib_pm_nl_set_limits "${ns1}" 9 1 2>/dev/null check "mptcp_lib_pm_nl_get_limits ${ns1}" "${default_limits}" "rcv addrs a= bove hard limit" =20 -ip netns exec $ns1 ./pm_nl_ctl limits 1 9 2>/dev/null +mptcp_lib_pm_nl_set_limits "${ns1}" 1 9 2>/dev/null check "mptcp_lib_pm_nl_get_limits ${ns1}" "${default_limits}" "subflows ab= ove hard limit" =20 -ip netns exec $ns1 ./pm_nl_ctl limits 8 8 +mptcp_lib_pm_nl_set_limits "${ns1}" 8 8 check "mptcp_lib_pm_nl_get_limits ${ns1}" \ "$(mptcp_lib_format_limits 8 8)" "set limits" =20 -ip netns exec $ns1 ./pm_nl_ctl flush -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.2 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.3 id 100 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.5 id 254 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.6 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.7 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.8 -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +mptcp_lib_pm_nl_flush_endpoint "${ns1}" +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.1 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.2 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.3 id 100 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.4 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.5 id 254 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.6 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.7 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.8 +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1" \ "2,10.0.1.2" \ "3,10.0.1.7" \ @@ -156,16 +156,16 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "255,10.0.1.6")" \ "set ids" =20 -ip netns exec $ns1 ./pm_nl_ctl flush -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.1 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.2 id 254 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.3 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.4 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.5 id 253 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.6 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.7 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.0.8 -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +mptcp_lib_pm_nl_flush_endpoint "${ns1}" +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.1 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.2 id 254 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.3 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.4 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.5 id 253 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.6 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.7 +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.0.8 +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.0.1" \ "2,10.0.0.4" \ "3,10.0.0.6" \ @@ -176,30 +176,30 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "255,10.0.0.3")" \ "wrap-around ids" =20 -ip netns exec $ns1 ./pm_nl_ctl flush -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.1 flags subflow +mptcp_lib_pm_nl_flush_endpoint "${ns1}" +mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.1.1 flags subflow mptcp_lib_pm_nl_change_address "${ns1}" 10.0.1.1 backup -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow backup")" \ "set flags (backup)" mptcp_lib_pm_nl_change_address "${ns1}" 10.0.1.1 nobackup -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow")" \ " (nobackup)" =20 # fullmesh support has been added later -ip netns exec $ns1 ./pm_nl_ctl set id 1 flags fullmesh 2>/dev/null -if ip netns exec $ns1 ./pm_nl_ctl dump | grep -q "fullmesh" || +mptcp_lib_pm_nl_change_endpoint "${ns1}" 1 fullmesh 2>/dev/null +if mptcp_lib_pm_nl_show_endpoints "${ns1}" | grep -q "fullmesh" || mptcp_lib_expect_all_features; then - check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow fullmesh")" \ " (fullmesh)" - ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh - check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + mptcp_lib_pm_nl_change_endpoint "${ns1}" 1 nofullmesh + check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow")" \ " (nofullmesh)" - ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh - check "ip netns exec $ns1 ./pm_nl_ctl dump" \ + mptcp_lib_pm_nl_change_endpoint "${ns1}" 1 backup,fullmesh + check "mptcp_lib_pm_nl_show_endpoints ${ns1}" \ "$(mptcp_lib_format_endpoints "1,10.0.1.1,subflow backup fullmesh")" \ " (backup,fullmesh)" else diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index e129fcb5a598..acc49fa652a2 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -85,8 +85,8 @@ setup() ip -net "$ns1" route add default via 10.0.2.2 metric 101 ip -net "$ns1" route add default via dead:beef:2::2 metric 101 =20 - ip netns exec "$ns1" ./pm_nl_ctl limits 1 1 - ip netns exec "$ns1" ./pm_nl_ctl add 10.0.2.1 dev ns1eth2 flags subflow + mptcp_lib_pm_nl_set_limits "${ns1}" 1 1 + mptcp_lib_pm_nl_add_endpoint "${ns1}" 10.0.2.1 dev ns1eth2 flags subflow =20 ip -net "$ns2" addr add 10.0.1.2/24 dev ns2eth1 ip -net "$ns2" addr add dead:beef:1::2/64 dev ns2eth1 nodad @@ -108,7 +108,7 @@ setup() ip -net "$ns3" route add default via 10.0.3.2 ip -net "$ns3" route add default via dead:beef:3::2 =20 - ip netns exec "$ns3" ./pm_nl_ctl limits 1 1 + mptcp_lib_pm_nl_set_limits "${ns3}" 1 1 =20 # debug build can slow down measurably the test program # we use quite tight time limit on the run-time, to ensure --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 02C9846BA for ; Sat, 16 Mar 2024 03:51:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561099; cv=none; b=mOPYYs9pLPOD/JJeIFPTM39i/mOpC/iDa6LyhH2XU4jPAl2rNv/AgtAu3s4GsMG512XrG7XpqZqyOqgRDtdkOUSVjX50dmnN0KEvEGY0T7ZOoRubqgoM7ivs7APIVSzoGtrrhuXmDYhC7Au725O4uj5BmYOihQCCoPZsYdPGhKg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561099; c=relaxed/simple; bh=QWiv38Q4fe8tuiZOaS3XklqP/wtVcoV0FQwjm97jYNY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=qdy18qedwnMX7DVuXD6xgAK/Dr7mTkc04adOUAPg+UUJPB6LZPwjwo1od0sczKsrIcdwZu9V+TP/SziqnEUzaPK+W3HuZbk3foQH2MU7TSImfv6Vt1wss8/KaQHd3zq+AyQ9K8AXjxUht3hQ7szMT7C/ehVzE9UA0cDEyuDwSno= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Bd75ZPra; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Bd75ZPra" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A9CB7C433F1; Sat, 16 Mar 2024 03:51:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561098; bh=QWiv38Q4fe8tuiZOaS3XklqP/wtVcoV0FQwjm97jYNY=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Bd75ZPraflzG3m7ZW4T+3+P1iytGKTjz2rpmc4U7A4lQ0odSacvkKSxbrt9K+UuRt rJt4suJQLfo2YGvrLNIXBQLMGouvPAm42Iq4gtHQeCGJMwcgTcLOxDfFuqj+FlxBCG ze/IydobI2o/tot9Afs6Tbi3ThmbbpiqV6bgRwM5jyvJyHLBlAWlzbmo7Dcoqgv4oC amZYzI2VmT8L3V6mnFVbDqW9sBYZIJG9Y9XY5zhcwcHeEtWwVy4e2kejXG0lwIQzmj UnScOP0POYDYRoyWXRmMFkdHwj4V5Cp8BjgIpm0h2VpmzdfWxIqo8Gb83b7SvZGxfp bZhOW5fcw2BuQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 8/9] selftests: mptcp: ip_mptcp option for more scripts Date: Sat, 16 Mar 2024 11:50:36 +0800 Message-Id: X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang This patch adds '-i' option for mptcp_sockopt.sh, pm_netlink.sh, and simult_flows.sh, to use 'ip mptcp' command in the tests instead of 'pm_nl_ctl'. Update usage() correspondingly. Signed-off-by: Geliang Tang --- .../selftests/net/mptcp/mptcp_sockopt.sh | 22 +++++++++++++++++++ .../testing/selftests/net/mptcp/pm_netlink.sh | 9 ++++++-- .../selftests/net/mptcp/simult_flows.sh | 8 +++++-- 3 files changed, 35 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index 36e81383f0e2..68899a303a1a 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh @@ -22,6 +22,28 @@ ns1=3D"" ns2=3D"" ns_sbox=3D"" =20 +usage() { + echo "Usage: $0 [ -i ] [ -h ]" + echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'" + echo -e "\t-h: help" +} + +while getopts "hi" option;do + case "$option" in + "h") + usage "$0" + exit ${KSFT_PASS} + ;; + "i") + mptcp_lib_set_ip_mptcp + ;; + "?") + usage "$0" + exit ${KSFT_FAIL} + ;; + esac +done + add_mark_rules() { local ns=3D$1 diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 31f7021734fe..b48476d73e9e 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -11,16 +11,21 @@ ret=3D0 =20 usage() { - echo "Usage: $0 [ -h ]" + echo "Usage: $0 [ -i ] [ -h ]" + echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'" + echo -e "\t-h: help" } =20 -optstring=3Dh +optstring=3Dhi while getopts "$optstring" option;do case "$option" in "h") usage $0 exit ${KSFT_PASS} ;; + "i") + mptcp_lib_set_ip_mptcp + ;; "?") usage $0 exit ${KSFT_FAIL} diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index acc49fa652a2..d0b39c2e38a3 100755 --- a/tools/testing/selftests/net/mptcp/simult_flows.sh +++ b/tools/testing/selftests/net/mptcp/simult_flows.sh @@ -27,10 +27,11 @@ capout=3D"" size=3D0 =20 usage() { - echo "Usage: $0 [ -b ] [ -c ] [ -d ]" + echo "Usage: $0 [ -b ] [ -c ] [ -d ] [ -i]" echo -e "\t-b: bail out after first error, otherwise runs al testcases" echo -e "\t-c: capture packets for each test using tcpdump (default: no c= apture)" echo -e "\t-d: debug this script" + echo -e "\t-i: use 'ip mptcp' instead of 'pm_nl_ctl'" } =20 # This function is used in the cleanup trap @@ -259,7 +260,7 @@ run_test() fi } =20 -while getopts "bcdh" option;do +while getopts "bcdhi" option;do case "$option" in "h") usage $0 @@ -274,6 +275,9 @@ while getopts "bcdh" option;do "d") set -x ;; + "i") + mptcp_lib_set_ip_mptcp + ;; "?") usage $0 exit ${KSFT_FAIL} --=20 2.40.1 From nobody Wed May 15 14:19:39 2024 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 CF0C346BA for ; Sat, 16 Mar 2024 03:51:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561100; cv=none; b=elvLDxX29m/JXgLWg7hpsL0KYSZKY2mIII2dgqLH/UopIkR5gmh7hjmh8SKAMUgqRoAEXsMDwmI+3UY/fL4udzHlgKdYE7FK45ccy2Vq8ANnRIev1I0KNRtH01KxIU6uCWKSxnOLutmsZ0R8iC5ECsvbnqUvZWkXjR4WU+Cqaek= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710561100; c=relaxed/simple; bh=PHGgBhPAa+nMCpggIloVVILtYbouBO1V1vN7WmcEJjk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gGSaNyRlmFN/hIU7xWu0X31HSji1/uILDjRQOwTKyb87ul8DqEeJ57whFRpJKDD42fUdsgB7KlYRNb2dWpu7t2TslWJw+cp5wMdTOtWT+StxuXhHreZKHzbtgRqU5dXUiZktxJCbI3Z1IPt5dIdqeUHERcrWAOh+uXXZjnhVJ1s= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kPOkvoRy; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kPOkvoRy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8191EC433C7; Sat, 16 Mar 2024 03:51:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710561100; bh=PHGgBhPAa+nMCpggIloVVILtYbouBO1V1vN7WmcEJjk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=kPOkvoRyt9zpcHpTboC6sy7HaADjP/JCUo5NsDQicYIZmVpSIEjjf8eKV9OvD9e+D +BCay/JjP7/J0U8qsWSAHSJFPSEUVUIZSsU3FWw5TS0I6/EdUZlroBFJXUaAnVnqOV 8+z4uWHe1ssxqOgXZVNQmsoyUv9IIlUMDqK71R7FTJ0MSGylVuCY5UxO2SrrqDEaXX VuXeWfwKmw6/H6j87QL/HbcMZY1eGLABdHMpz3uZB/OqIbyZNSdwX/PcbayS00BSNl jF/YVCfAkWl6nraIf2C7h8WgMd3STYy4RFP07gOwhgzD/3+XvHZAsy7FKkX16FtaKz Sdo24DyhGHS+A== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next v2 9/9] selftests: mptcp: netlink: drop disable=SC2086 Date: Sat, 16 Mar 2024 11:50:37 +0800 Message-Id: <684b53f36e84de0281604d06045facde8b02a733.1710560839.git.tanggeliang@kylinos.cn> X-Mailer: git-send-email 2.40.1 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 Content-Type: text/plain; charset="utf-8" From: Geliang Tang Now there are only a few of variables are not using double quotes. Modifying them, then "shellcheck disable=3DSC2086" can be dropped. Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/pm_netlink.sh | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index b48476d73e9e..e4f5f1f9ab95 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -1,11 +1,6 @@ #!/bin/bash # SPDX-License-Identifier: GPL-2.0 =20 -# Double quotes to prevent globbing and word splitting is recommended in n= ew -# code but we accept it, especially because there were too many before hav= ing -# address all other issues detected by shellcheck. -#shellcheck disable=3DSC2086 - . "$(dirname "${0}")/mptcp_lib.sh" =20 ret=3D0 @@ -20,14 +15,14 @@ optstring=3Dhi while getopts "$optstring" option;do case "$option" in "h") - usage $0 + usage "$0" exit ${KSFT_PASS} ;; "i") mptcp_lib_set_ip_mptcp ;; "?") - usage $0 + usage "$0" exit ${KSFT_FAIL} ;; esac @@ -40,7 +35,7 @@ err=3D$(mktemp) #shellcheck disable=3DSC2317 cleanup() { - rm -f $err + rm -f "${err}" mptcp_lib_ns_exit "${ns1}" } =20 --=20 2.40.1