From nobody Tue May 14 23:29:19 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 225E4A35 for ; Mon, 11 Mar 2024 01:48:55 +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=1710121735; cv=none; b=kx6VH/o3DkaXUyFiIvECtQTUqh1QwLiDMjPvFBLeMXuA8E4u6v3WWIno3NIAOTpilnReoHnsFCIKDaXATvMbAqWC6qCoud9LuTSHwLWGdUDVaPXMkz90sRXu7NoUa3KEfgxtXECI+qTmjSC4MMe5rh0ZcqjeIW4ssur87LVhunA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121735; c=relaxed/simple; bh=0ycBCrRQyJ+rkajvlKwovdvZS4FvuvD05qgK0ULu7Xg=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=dYXhk3Pkmx67EdEE0sIEGUE3ySqG8WvGE6+n+97EPQ/VNjCiDz7fg3gsa1dq1CeRCX+oTpx0RlIa6cz6M4w80GIXEYSX3VZQbeY3/QOhRO+TqUmz6KV6W2ExVwtMiosQ3pht8kBzmfLaRbAhEICHJ4QOUhQl76fe7xLZ9fJGTDg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=OMHrp2tI; 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="OMHrp2tI" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C152AC433F1; Mon, 11 Mar 2024 01:48:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121735; bh=0ycBCrRQyJ+rkajvlKwovdvZS4FvuvD05qgK0ULu7Xg=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=OMHrp2tIC2uHE1wKOeh9fW/WO5yXw9wJAxU4Za76HxJPVY0cOplPK5xufQ1E6Z9Yp kIvXq0CJTCjirLdUx/zDBNXdCT7Gs8yLZEjZiuy8M5QsTBSBG8MhtEpeNjVgH9lqA3 XKl/g/hsgUqaaUcWeznSufexRFlx5RYZJxJHNQRhv6FiWqNRP/s51yZHinVxZFjNQC /fQCEwKcv6uWKdYBdOFTZwml9kaaDCCMHVkzCNSb9QuMa8Qb9MPC3qHf45nYFX+Kc1 P+9rDgH2GwUSOuvS/L05zsJGzfpxF6ANCxaVyW4TiUlTiQJaHV6WhoEqAGs894A24D spfudeLWO9pgg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 01/10] selftests: mptcp: export ip_mptcp to mptcp_lib Date: Mon, 11 Mar 2024 09:48:38 +0800 Message-Id: <79aa9c522bcbd104823284a9ea42a91bbbd1f9e2.1710121590.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 | 13 +++++++++++++ 2 files changed, 21 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 5e9211e89825..7fd32f645650 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% }" @@ -3700,7 +3699,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 d529b4b37af8..d84f2f4986a7 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" ]; } && @@ -505,3 +506,15 @@ 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:?}" + + mptcp_lib_ip_mptcp=3D1 +} + +mptcp_lib_is_ip_mptcp() { + : "${mptcp_lib_ip_mptcp:?}" + + [ ${mptcp_lib_ip_mptcp} -eq 1 ] +} --=20 2.40.1 From nobody Tue May 14 23:29:19 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 56CEEA35 for ; Mon, 11 Mar 2024 01:48:56 +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=1710121737; cv=none; b=G767b59Jwpn31sMiHNlCs7NDd8glIZBZulyD5VuSVP6GW8Dl86+9qeDKyGBwPdJRF1+hUyN4wT9gl0+IUqEgGjUmgLEFDDYhikyu4tsf1K8yB0Pm+R/ihTJuHRB4H+NtoyemetYV3qTsx+gA2x7rvOArk5nn8Etb5OVByOW3Sds= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121737; c=relaxed/simple; bh=t0PjEkHGrF3beQen3geQkEdYiBkumvUszEWKhEn2UGs=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=syxijrq1caQgBYct6GZh/afHmF0UFaSzOZAsCRsGxldvkuN+CeHpLjVtwIpU/Kji+qfhoSzMzqehqUB8+mvlKa0GYKrxJkhmdgDPF5i0zshOAxWU0BFcKsGT3EFs2JWk/sY1kYDAZz4dxRm1QSIYzuXic3TJlk1e9/3/M+Ap7L4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VS1/4SA1; 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="VS1/4SA1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A4B2C433C7; Mon, 11 Mar 2024 01:48:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121736; bh=t0PjEkHGrF3beQen3geQkEdYiBkumvUszEWKhEn2UGs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VS1/4SA1YPSIwsjStecMaja/NkK2mHVsZvURYJbjwdk9ogN7y8P6TwGKnjiRH0Ivk Dl816LG9nzis0dc4Tr9xe2FnApjugikPIUwvF1YRtBr4roImGMyqgNcd38cdxVRl/f P4vcwPXb5cXxrFuwLR23S6WsYKS3CWr6q7pyTvzbmi1mY27zXTKEyPcXY83/gMLuor bLD/u5CH6/DiW2dBBJxjuVEShfI7XAysOc7BHwHxbQPiWPAs/OGIXOpwGAJJegIZch arYB5EGL2pJF7C8/+ECrZwsmYBPZZAZnGPLdXkdte9illCYl9KvDPHAWTQjD/czcgE b8F/MpUbbgu0g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 02/10] selftests: mptcp: get support for limits Date: Mon, 11 Mar 2024 09:48:39 +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 There's only 'set limits' ability in pm_nl_set_limits(), this patch adds 'get limits' support for it as well to show the limits, and rename it as pm_nl_limits(). Then pm_nl_set_limits() can be a wrapper of it. Also add another wrapper pm_nl_get_limits() to get limits. Usage: Set limits - pm_nl_set_limits $ns $addrs $subflows Get limits - pm_nl_get_limits $ns A test for 'get limits' is added in endpoint_tests(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 7fd32f645650..8eb5cf54ea42 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -603,19 +603,34 @@ kill_events_pids() evts_ns2_pid=3D0 } =20 -pm_nl_set_limits() +pm_nl_limits() { local ns=3D$1 local addrs=3D$2 local subflows=3D$3 =20 if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp limits set add_addr_accepted $addrs subflows $subflows + local limits=3D"limits" + + if [ -n "$addrs" ] && [ -n "$subflows" ]; then + limits+=3D" set add_addr_accepted $addrs subflows $subflows" + fi + ip -n $ns mptcp $limits else ip netns exec $ns ./pm_nl_ctl limits $addrs $subflows fi } =20 +pm_nl_set_limits() +{ + pm_nl_limits "${@}" +} + +pm_nl_get_limits() +{ + pm_nl_limits "${@}" +} + pm_nl_add_endpoint() { local ns=3D$1 @@ -3578,6 +3593,10 @@ endpoint_tests() mptcp_lib_kallsyms_has "subflow_rebuild_header$"; then pm_nl_set_limits $ns1 2 2 pm_nl_set_limits $ns2 2 2 + print_check "get limits" + local output=3D$'accept 2\nsubflows 2' + mptcp_lib_is_ip_mptcp && output=3D"add_addr_accepted 2 subflows 2 " + check_output "pm_nl_get_limits ${ns1}" "${output}" pm_nl_add_endpoint $ns1 10.0.2.1 flags signal speed=3Dslow \ run_tests $ns1 $ns2 10.0.1.1 & --=20 2.40.1 From nobody Tue May 14 23:29:19 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 14C78ECC for ; Mon, 11 Mar 2024 01:48:58 +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=1710121739; cv=none; b=PuMNpxH5uglOhU2bXbvy3EbkuoNMct3BLLLkrpPQtvKGyongJ765ZjY89OZM6DfRXMKkGhjJ2BcLb9EColPapMtoSxCydAZhfEGtM+Amex1xachuMa5B/IBM2MU3uX5h89xtWVMx06le1BqQzgT4H1AjmCMCfFGn/uthUu1eSi0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121739; c=relaxed/simple; bh=uzNChWEYhi9H8b9O/hdjD/XW6jBMevtYn3n0BjWuWqo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=gM6+vWifWB+GnR7KzZX0/AA1CRmcMXNwXDvblq+kzVpVwqhdtLw9ysRIl/b6IpsnZcWhiXpKK2LybHqKl1ueZQQ6DWxA621GKyFM46ZtkHOAYcjewHbb4nyhu7/B2k4/RqD8qecdCN9ZenBNlat/3JGyHA94+shnWnN1LUAAR5M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pLecKetS; 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="pLecKetS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7357FC43390; Mon, 11 Mar 2024 01:48:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121738; bh=uzNChWEYhi9H8b9O/hdjD/XW6jBMevtYn3n0BjWuWqo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=pLecKetSVWztkS5xdtLgYLiExztdmeKsX83p0Qq7QEKvNo9baHhyx453zbAboJ/GK GgBvWrUjKqfk/8k6U2UE9OfzYyq8eYL55fkRbzFWAROVg39bKgz/lsBZ39Ji48vigu e4eDtFJLZquaemcx/VD9+UCDqs2bziDMw2wh2DcPyhvG7sIprZayLxxsYajP/yZ9G5 H8DmswCi9xHMAvWgVWMzz89OBlK5uWj2iFmJeAP+fHMVYPDaEPh6Dq43ZFJs77Pu+l wVQb2R7A00bA3Xc3Qb4zV26y/vOo9ES8H4q4dnFeWIdxv5oLVJODDBG0HFXm8uw6OR PJlTW2ddae8tQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 03/10] selftests: mptcp: id support for show_endpoints Date: Mon, 11 Mar 2024 09:48:40 +0800 Message-Id: <3e52c3dda1c27337c482e4752c376fad1c4d4e67.1710121590.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 pm_nl_show_endpoints(). This patch adds support for showing a specofic endpoint identified by the given address ID. Usage: All endpoints - pm_nl_show_endpoints $ns One endpoint - pm_nl_show_endpoints $ns $id Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 8eb5cf54ea42..e33a136aef8e 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -699,11 +699,18 @@ pm_nl_flush_endpoint() pm_nl_show_endpoints() { local ns=3D$1 + local id=3D$2 =20 if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint show + local show=3D"show" + + [ -n "$id" ] && show+=3D" id $id" + ip -n $ns mptcp endpoint $show else - ip netns exec $ns ./pm_nl_ctl dump + local dump=3D"dump" + + [ -n "$id" ] && dump=3D"get $id" + ip netns exec $ns ./pm_nl_ctl $dump fi } =20 @@ -3598,6 +3605,10 @@ endpoint_tests() mptcp_lib_is_ip_mptcp && output=3D"add_addr_accepted 2 subflows 2 " check_output "pm_nl_get_limits ${ns1}" "${output}" pm_nl_add_endpoint $ns1 10.0.2.1 flags signal + print_check "show id 1 addr" + output=3D"id 1 flags signal 10.0.2.1" + mptcp_lib_is_ip_mptcp && output=3D"10.0.2.1 id 1 signal " + check_output "pm_nl_show_endpoints ${ns1} 1" "${output}" speed=3Dslow \ run_tests $ns1 $ns2 10.0.1.1 & local tests_pid=3D$! --=20 2.40.1 From nobody Tue May 14 23:29:19 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 EC557EBE for ; Mon, 11 Mar 2024 01:49:00 +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=1710121741; cv=none; b=gi8ukJ66LOCGMWcssnfg/PyM5HI3PqYUX6aXLFNR8DIwXqugzHjjs2zdM7aKaWyW3c3GubGhkkcnR55vza3dH5WkuiXn3q2YAJOwjZg1UieD1H5DVz36eNfyRjZc7Lz3F0xjx/QbXTaep8FMSsatdHu6Wo3Tekb4HnqOze19VUg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121741; c=relaxed/simple; bh=B+umWby8HAOuyjxAAo4mWEQTbr1BI0GYtA7bcCJU9ls=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ow8Z/MOPKpSQ7PwUSc+43MWVUP3TVfRQkYQdV6XMY93DBnb5e5UvTZmhHQQrJaCGcrZk3Qgt03cD9l+/dYchTsLYNYSNrsrM1+sV04hroQidkuA7ao5N1Vr6Zosh8Gn/6GZo1Stq53R00hEqFnJxJUPT/Y7M1cagx5QoJdmSl5M= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R+Joer78; 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="R+Joer78" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4E2E2C433C7; Mon, 11 Mar 2024 01:48:59 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121740; bh=B+umWby8HAOuyjxAAo4mWEQTbr1BI0GYtA7bcCJU9ls=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=R+Joer78wIX4g5jlNblue+pv4zTBkI8+57oeAYSG7Obm/OQr5XzJyph+lzqlsacpS HhZ4CgSJ6Qwb5sXSzF/8xT2b3fdi6P7pDlZjrboh3S5b3SqqpCVT+P8tZPsHsOQIxM n1pgm8tfTteG/I6AJrZ0TwQdFbLs5PK0kAYSlSfn9lMoeMZJm/FqfATK4jAxumt3AC y2Ok8sE0tuR2WXvn3RTLsC+TFY/ZodajGXM5UEhQ+VfTZauiP0YX6mDcqG9Kef+O7T pnu+/TNqX8eChu1Xt+y+StZgN6WKkPbw1PymIEq4cOzDkJtskVddRc9UM1rPXUQacv 5NOtIclYPm81g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 04/10] selftests: mptcp: addr support for change_endpoint Date: Mon, 11 Mar 2024 09:48:41 +0800 Message-Id: <4f69ef8b2a7d3a131548424ddf9f0ba96ee53f78.1710121590.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 address that needs to change flags can only be identified by an address ID in pm_nl_change_endpoint(). This patch adds support for passing an IP address directly to this helper. Address ID: pm_nl_change_endpoint $ns id $id $flags IP address: pm_nl_change_endpoint $ns $addr $flags Signed-off-by: Geliang Tang --- tools/testing/selftests/net/mptcp/mptcp_join.sh | 15 ++++++++++++--- tools/testing/selftests/net/mptcp/mptcp_lib.sh | 5 +++++ 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index e33a136aef8e..431233e25abc 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -717,13 +717,17 @@ pm_nl_show_endpoints() pm_nl_change_endpoint() { local ns=3D$1 - local id=3D$2 + local addr=3D$2 local flags=3D$3 =20 + if ! mptcp_lib_is_addr "$addr"; then + [ $addr -gt 0 ] && [ $addr -lt 256 ] && addr=3D"id $addr" + fi + if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint change id $id ${flags//","/" "} + ip -n $ns mptcp endpoint change $addr ${flags//","/" "} else - ip netns exec $ns ./pm_nl_ctl set id $id flags $flags + ip netns exec $ns ./pm_nl_ctl set $addr flags $flags fi } =20 @@ -3609,6 +3613,11 @@ endpoint_tests() output=3D"id 1 flags signal 10.0.2.1" mptcp_lib_is_ip_mptcp && output=3D"10.0.2.1 id 1 signal " check_output "pm_nl_show_endpoints ${ns1} 1" "${output}" + pm_nl_change_endpoint ${ns1} 1 backup + print_check "change id 1 addr" + output=3D"id 1 flags signal,backup 10.0.2.1" + mptcp_lib_is_ip_mptcp && output=3D"10.0.2.1 id 1 signal backup " + check_output "pm_nl_show_endpoints ${ns1}" "${output}" speed=3Dslow \ run_tests $ns1 $ns2 10.0.1.1 & local tests_pid=3D$! diff --git a/tools/testing/selftests/net/mptcp/mptcp_lib.sh b/tools/testing= /selftests/net/mptcp/mptcp_lib.sh index d84f2f4986a7..c465f1d59419 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -284,6 +284,11 @@ mptcp_lib_is_v6() { [ -z "${1##*:*}" ] } =20 +# $1: IP address +mptcp_lib_is_addr() { + [ -z "${1##*.*}" ] || [ -z "${1##*:*}" ] +} + # $1: ns, $2: MIB counter mptcp_lib_get_counter() { local ns=3D"${1}" --=20 2.40.1 From nobody Tue May 14 23:29:19 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 762EAEBE for ; Mon, 11 Mar 2024 01:49:02 +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=1710121742; cv=none; b=nDoWC8A2l0ELVWo8696axZJiZu1RcIk02UzRwyl7ONPYHtl/ji4GA0EdwK9SqWdt18AjV/5sEHOi85a9bgQ2pAliVJkKHeygsWGT79fdUbjrgUstdOXJAIvGz23XMmuFY5AifBvjvL4aFNuVVcm8cdQZwhHdYyZLTfEAsW6t9/I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121742; c=relaxed/simple; bh=KC/thU0UQ2wY5+D2u09wAwOLulJr5/1TOD+wEsAOTuw=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VFeEwvt/CxneIdjeiLFu8OHqC7LxAO0Ghw06i0Gg9gqTBv6DjfPKSQWj8XlpWi+LxWCGAo0tOMJRL0kyNM1AMFIDWGsALOGIZXSiYknQILlNc8XW9asL/ezMSMNx4czmBpubkuarF9HjGjm277cWuh7MndQ235vIzCQ44WnK94Q= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=D0Cx5mjv; 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="D0Cx5mjv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 41C0AC43390; Mon, 11 Mar 2024 01:49:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121742; bh=KC/thU0UQ2wY5+D2u09wAwOLulJr5/1TOD+wEsAOTuw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=D0Cx5mjvhK7ZHENYxVV9qnSDDIczp6M/2e8PMRC7b4WeRTePQ8UNm7zctgLgv6Wgk UZlZCeIrK8tBdBlGXyaL8RXsPmkkJXo2lecTRiNzdsZJgfMPX+i9XMENU3EZr8MLxF iZetFiR9gpTTWmC0W19oeQNpmS1rwdqiNLDVrV7xVi9iNslJBHUu7L/gzwVix83+eV Ah+2h8ikePfCFtkOk2Si2N8WwnW1XA2MyqHJMYjVAREgHRXRYReYBYNDTwZy1jdIwp ecaUodfxz2mrjgWGricCzxAPsFg8SWWbc7IfWJpbFoAigjyGnSjFRN5f5gkJi2A/P1 jgTPtjz0+MR/g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 05/10] selftests: mptcp: netlink: fix positions of newline Date: Mon, 11 Mar 2024 09:48:42 +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 Some positions of the new line are arranged a bit strangely in script pm_netlink.sh. For example, the output of 'pm_nl_ctl limits': "accept 0 subflows 2" "defaults limits" This one can be refactored using $'...\n...': $'accept 0\nsubflows 2' "defaults limits" For longer output results, such as the output of '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" This one can be refactored using "$(printf '%s\n' "..." "...")": "$(printf '%s\n' \ "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" This patch uses such methods to rearrange the outputs into different lines. Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/pm_netlink.sh | 101 ++++++++++-------- 1 file changed, 56 insertions(+), 45 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 6ab8c5d36340..00949f73153a 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" + limits=3D$'accept 0\nsubflows 2' + check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "defaults limit= s" 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" +endpoint=3D"id 1 flags 10.0.1.1" +check "ip netns exec $ns1 ./pm_nl_ctl get 1" "${endpoint}" "simple add/get= addr" =20 +dump=3D"$(printf '%s\n' \ + "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")" 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" + "${dump}" "dump addrs" =20 ip netns exec $ns1 ./pm_nl_ctl del 2 +dump=3D$'id 1 flags 10.0.1.1\nid 3 flags signal,backup 10.0.1.3' 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" + "${dump}" "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" +endpoint=3D"id 4 flags signal 10.0.1.4" +check "ip netns exec $ns1 ./pm_nl_ctl get 4" "${endpoint}" "id addr increm= ent" =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" +endpoint=3D"id 9 flags signal 10.0.1.9" +check "ip netns exec $ns1 ./pm_nl_ctl get 9" "${endpoint}" "hard addr limi= t" 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" +dump=3D"$(printf '%s\n' \ + "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")" +check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "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" +limits=3D$'accept 8\nsubflows 8' +check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "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" +dump=3D"$(printf '%s\n' \ + "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")" +check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "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,38 @@ 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" +dump=3D"$(printf '%s\n' \ + "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")" +check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "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)" +dump=3D"id 1 flags subflow,backup 10.0.1.1" +check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "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)" +dump=3D"id 1 flags subflow 10.0.1.1" +check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (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)" + dump=3D"id 1 flags subflow,fullmesh 10.0.1.1" + check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (fullmes= h)" 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)" + dump=3D"id 1 flags subflow 10.0.1.1" + check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (nofullm= esh)" 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)" + dump=3D"id 1 flags subflow,backup,fullmesh 10.0.1.1" + check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (backup,= fullmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" --=20 2.40.1 From nobody Tue May 14 23:29:19 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 99AA510E5 for ; Mon, 11 Mar 2024 01:49:04 +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=1710121744; cv=none; b=WnmlkQBWfKIFwaRtjKKSdqDxPjk5Y882rj+QopDJB2VhRYNF72XR2DmjUno4DNTM3yONUNDNWdFF50jz2f9aoPfsjXLUkjpmYoyP3IumOPweVFjg6g8Ut4wA+EFjuP1fzDBojejnmjoLOJkRQ8HGnRkSkh0kdChfx5mvbSon19Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121744; c=relaxed/simple; bh=cfKZgqG+71jJ03Nm3RRRfrygN5SP7gfvrOHpgfXEsS8=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=X1OHG2P/1eDitA88Du0UBwiMSMkacuIJWevbjq2WOCx6wOueqZnFMF7OWigQ4w58Lj3bk6oVQbmiJMMCS9M2//0cVeNqJnZ5TVN5s/ceV/re2Sa0CkjQgAHQxDHC30ekIM/wwGlnVwq59QIWDtTH5q3IcgyKcu/ZeBcZecLADLw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=l0QMlnTi; 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="l0QMlnTi" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 00951C433F1; Mon, 11 Mar 2024 01:49:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121744; bh=cfKZgqG+71jJ03Nm3RRRfrygN5SP7gfvrOHpgfXEsS8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=l0QMlnTiUwOr7pOfUBBhXxx5q30hbgeNYu8jpKSvjskfKVxjlj3O/fxrdTt3O/xA8 YXg58KcbkSINsRZRdNT0ThmRJuez+EAbIIh3k1ynwMUtvZDA8zjRdeY5OcjOLxOv0W U7uQ2C0MmngUmjEknxgavx4E1tmzAc54M8Qx02NXqL297zAeBZq/aEqdUxG/2Bhcl6 i01Z5oDLOLGP95Uz5uUFqkKGos8jBo0E65TXRr0abB+X2dIugV7aMKgFek+Wggnntx /buF9Q4NpWMvurYYY6DoCaQ3feRLx0zegzp1/TN9wTaDAQhZNfBEOawyqzs0UWF+p9 EWUKWOJaTUUWg== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 06/10] selftests: mptcp: netlink: add outputs for ip_mptcp Date: Mon, 11 Mar 2024 09:48:43 +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 outputs of 'ip mptcp' are different from that of 'pm_nl_ctl'. This patch adds corresponding outputs of 'ip mptcp' together with 'pm_nl_ctl'. Use mptcp_lib_is_ip_mptcp() helper to test whether ip_mptcp is set. If it it, use 'ip mptcp' format outputs for check(). Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/pm_netlink.sh | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/pm_netlink.sh b/tools/testin= g/selftests/net/mptcp/pm_netlink.sh index 00949f73153a..2096c52b3a4b 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -72,6 +72,7 @@ check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults = addr list" default_limits=3D"$(ip netns exec $ns1 ./pm_nl_ctl limits)" if mptcp_lib_expect_all_features; then limits=3D$'accept 0\nsubflows 2' + mptcp_lib_is_ip_mptcp && limits=3D"add_addr_accepted 0 subflows 2 " check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "defaults limit= s" fi =20 @@ -79,17 +80,24 @@ 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 endpoint=3D"id 1 flags 10.0.1.1" +mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.1 id 1 " check "ip netns exec $ns1 ./pm_nl_ctl get 1" "${endpoint}" "simple add/get= addr" =20 dump=3D"$(printf '%s\n' \ "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")" +mptcp_lib_is_ip_mptcp && \ +dump=3D"$(printf '%s\n' \ + "10.0.1.1 id 1 " \ + "10.0.1.2 id 2 subflow dev lo " \ + "10.0.1.3 id 3 signal backup ")" check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "${dump}" "dump addrs" =20 ip netns exec $ns1 ./pm_nl_ctl del 2 dump=3D$'id 1 flags 10.0.1.1\nid 3 flags signal,backup 10.0.1.3' +mptcp_lib_is_ip_mptcp && dump=3D$'10.0.1.1 id 1 \n10.0.1.3 id 3 signal bac= kup ' check "ip netns exec $ns1 ./pm_nl_ctl get 2" "" "simple del addr" check "ip netns exec $ns1 ./pm_nl_ctl dump" \ "${dump}" "dump addrs after del" @@ -99,12 +107,14 @@ check "ip netns exec $ns1 ./pm_nl_ctl get 4" "" "dupli= cate addr" =20 ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 flags signal endpoint=3D"id 4 flags signal 10.0.1.4" +mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.4 id 4 signal " check "ip netns exec $ns1 ./pm_nl_ctl get 4" "${endpoint}" "id addr increm= ent" =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 endpoint=3D"id 9 flags signal 10.0.1.9" +mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.9 id 9 signal " check "ip netns exec $ns1 ./pm_nl_ctl get 9" "${endpoint}" "hard addr limi= t" check "ip netns exec $ns1 ./pm_nl_ctl get 10" "" "above hard addr limit" =20 @@ -121,6 +131,15 @@ dump=3D"$(printf '%s\n' \ "id 6 flags signal 10.0.1.6" \ "id 7 flags signal 10.0.1.7" \ "id 8 flags signal 10.0.1.8")" +mptcp_lib_is_ip_mptcp && \ +dump=3D"$(printf '%s\n' \ + "10.0.1.1 id 1 " \ + "10.0.1.3 id 3 signal backup " \ + "10.0.1.4 id 4 signal " \ + "10.0.1.5 id 5 signal " \ + "10.0.1.6 id 6 signal " \ + "10.0.1.7 id 7 signal " \ + "10.0.1.8 id 8 signal ")" check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "id limit" =20 ip netns exec $ns1 ./pm_nl_ctl flush @@ -134,6 +153,7 @@ check "ip netns exec $ns1 ./pm_nl_ctl limits" "$default= _limits" "subflows above =20 ip netns exec $ns1 ./pm_nl_ctl limits 8 8 limits=3D$'accept 8\nsubflows 8' +mptcp_lib_is_ip_mptcp && limits=3D"add_addr_accepted 8 subflows 8 " check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "set limits" =20 ip netns exec $ns1 ./pm_nl_ctl flush @@ -154,6 +174,16 @@ dump=3D"$(printf '%s\n' \ "id 101 flags 10.0.1.4" \ "id 254 flags 10.0.1.5" \ "id 255 flags 10.0.1.6")" +mptcp_lib_is_ip_mptcp && \ +dump=3D"$(printf '%s\n' \ + "10.0.1.1 id 1 " \ + "10.0.1.2 id 2 " \ + "10.0.1.7 id 3 " \ + "10.0.1.8 id 4 " \ + "10.0.1.3 id 100 " \ + "10.0.1.4 id 101 " \ + "10.0.1.5 id 254 " \ + "10.0.1.6 id 255 ")" check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "set ids" =20 ip netns exec $ns1 ./pm_nl_ctl flush @@ -174,15 +204,27 @@ dump=3D"$(printf '%s\n' \ "id 253 flags 10.0.0.5" \ "id 254 flags 10.0.0.2" \ "id 255 flags 10.0.0.3")" +mptcp_lib_is_ip_mptcp && \ +dump=3D"$(printf '%s\n' \ + "10.0.0.1 id 1 " \ + "10.0.0.4 id 2 " \ + "10.0.0.6 id 3 " \ + "10.0.0.7 id 4 " \ + "10.0.0.8 id 5 " \ + "10.0.0.5 id 253 " \ + "10.0.0.2 id 254 " \ + "10.0.0.3 id 255 ")" check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "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 dump=3D"id 1 flags subflow,backup 10.0.1.1" +mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow backup " check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "set flags (backup)" ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags nobackup dump=3D"id 1 flags subflow 10.0.1.1" +mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow " check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (nobackup= )" =20 # fullmesh support has been added later @@ -190,12 +232,15 @@ ip netns exec $ns1 ./pm_nl_ctl set id 1 flags fullmes= h 2>/dev/null if ip netns exec $ns1 ./pm_nl_ctl dump | grep -q "fullmesh" || mptcp_lib_expect_all_features; then dump=3D"id 1 flags subflow,fullmesh 10.0.1.1" + mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow fullmesh " check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (fullmes= h)" ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh dump=3D"id 1 flags subflow 10.0.1.1" + mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow " check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (nofullm= esh)" ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh dump=3D"id 1 flags subflow,backup,fullmesh 10.0.1.1" + mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow backup fullmesh " check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (backup,= fullmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do --=20 2.40.1 From nobody Tue May 14 23:29:19 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 24ABD10E3 for ; Mon, 11 Mar 2024 01:49:05 +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=1710121746; cv=none; b=pKrFg2lLihGMFMY9U/yY5BmSVwDHqCHJ9dAHuRTu8QkQYwX+27koxhLxXYNGhk2LNkBUGG8l1wKkzWzwi7ws2NBXDXySAaUZxdgCYKIQ32lH3fZqvv405nGP692vitkt42w0w9TqDYZVVly6LAlXF/QnTelbd1XyrSsRLRY4d1k= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121746; c=relaxed/simple; bh=bwW8CgsMzTap7/Wu1tosIS9ne2+WovQH8EoaXbwrozo=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=LAzkeemFeT4I1AQPoA8rGHTwmJp65i2sgJb0HKXMLgrJrGuY8iXsN6rKi3oFNjFDzt8XBwZQ/KhsCrSbYWZsyue5ejficqUFZOPJdnt3Z/jbFAdy3vAti5DlSApqN6goHIn/o/riHCHuzWVByB9R1waW+QH2Y3OqgtwjlAX/mOQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eHOyt5rv; 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="eHOyt5rv" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B6CF6C433C7; Mon, 11 Mar 2024 01:49:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121745; bh=bwW8CgsMzTap7/Wu1tosIS9ne2+WovQH8EoaXbwrozo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eHOyt5rvE8C5PppDO/q1o48bEim8dIQUbk+NLNBc0cGndMalA/cCa9Xu06xRiWyxe FezobKCeZD8PsNVgZWYGuCFqoQC+wz/ZmlkK9VwSum3I/F9MVSMOjrWencCJOV98uQ zk6gPZo4kGd+tHKXvTIvotAKf78JYdkmSOomx+aW8QXwhi89fn4PkiEgmMPvVE/uMx 45gSKWkO6EE2JyMQVkuF8UvvBAjeH8UbYDsETzq/pwTkks6VGUIh9D1uqsfM4byVjH kpNz54SGOyOHjcxkKhiP5I5BHYWzINQvd3QyoZatdP/8Fwo5lDYyzM9K44Rs2KdY9P fOKFNsYWK2j+g== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 07/10] selftests: mptcp: add endpoint_ops API helper Date: Mon, 11 Mar 2024 09:48:44 +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 moves six endpoint operation helpers with the pm_nl_ prefix: pm_nl_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. Add a new helper mptcp_lib_endpoint_ops() in mptcp_lib.sh as the API for all endpoint operation helpers, which invokes each of mptcp_lib_ prefix helpers according to the first argument of it is "limits", "add", "del", "flush", "show" or "change". Usage: mptcp_lib_endpoint_ops limits $ns $addrs $subflows mptcp_lib_endpoint_ops add $ns $addr mptcp_lib_endpoint_ops del $ns $id $addr mptcp_lib_endpoint_ops flush $ns mptcp_lib_endpoint_ops show $ns mptcp_lib_endpoint_ops change $ns $id $flags Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 107 +------------ .../testing/selftests/net/mptcp/mptcp_lib.sh | 148 ++++++++++++++++++ 2 files changed, 155 insertions(+), 100 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 431233e25abc..8e35f875147b 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -603,132 +603,39 @@ kill_events_pids() evts_ns2_pid=3D0 } =20 -pm_nl_limits() -{ - local ns=3D$1 - local addrs=3D$2 - local subflows=3D$3 - - if mptcp_lib_is_ip_mptcp; then - local limits=3D"limits" - - if [ -n "$addrs" ] && [ -n "$subflows" ]; then - limits+=3D" set add_addr_accepted $addrs subflows $subflows" - fi - ip -n $ns mptcp $limits - else - ip netns exec $ns ./pm_nl_ctl limits $addrs $subflows - fi -} - pm_nl_set_limits() { - pm_nl_limits "${@}" + mptcp_lib_endpoint_ops limits "${@}" } =20 pm_nl_get_limits() { - pm_nl_limits "${@}" + mptcp_lib_endpoint_ops limits "${@}" } =20 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 nr=3D2 - - 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 - - nr=3D$((nr + 1)) - done - - 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 - fi + mptcp_lib_endpoint_ops add "${@}" } =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 - else - ip netns exec $ns ./pm_nl_ctl del $id $addr - fi + mptcp_lib_endpoint_ops del "${@}" } =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_endpoint_ops flush "${@}" } =20 pm_nl_show_endpoints() { - local ns=3D$1 - local id=3D$2 - - if mptcp_lib_is_ip_mptcp; then - local show=3D"show" - - [ -n "$id" ] && show+=3D" id $id" - ip -n $ns mptcp endpoint $show - else - local dump=3D"dump" - - [ -n "$id" ] && dump=3D"get $id" - ip netns exec $ns ./pm_nl_ctl $dump - fi + mptcp_lib_endpoint_ops show "${@}" } =20 pm_nl_change_endpoint() { - local ns=3D$1 - local addr=3D$2 - local flags=3D$3 - - if ! mptcp_lib_is_addr "$addr"; then - [ $addr -gt 0 ] && [ $addr -lt 256 ] && addr=3D"id $addr" - fi - - if mptcp_lib_is_ip_mptcp; then - ip -n $ns mptcp endpoint change $addr ${flags//","/" "} - else - ip netns exec $ns ./pm_nl_ctl set $addr flags $flags - fi + mptcp_lib_endpoint_ops change "${@}" } =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 c465f1d59419..d395692fac0d 100644 --- a/tools/testing/selftests/net/mptcp/mptcp_lib.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_lib.sh @@ -523,3 +523,151 @@ mptcp_lib_is_ip_mptcp() { =20 [ ${mptcp_lib_ip_mptcp} -eq 1 ] } + +mptcp_lib_limits() { + local ns=3D${1} + local addrs=3D${2} + local subflows=3D${3} + + if mptcp_lib_is_ip_mptcp; then + local limits=3D"limits" + + if [ -n "${addrs}" ] && [ -n "${subflows}" ]; then + limits+=3D" set add_addr_accepted ${addrs} subflows ${subflows}" + fi + # shellcheck disable=3DSC2086 + ip -n "${ns}" mptcp ${limits} + else + # shellcheck disable=3DSC2086 + ip netns exec "${ns}" ./pm_nl_ctl limits "${addrs}" ${subflows} + fi +} + +mptcp_lib_add_endpoint() { + local ns=3D${1} + local addr=3D${2} + local flags _flags + local port _port + local dev _dev + local id _id + local nr=3D2 + + 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 + + nr=3D$((nr + 1)) + done + + if mptcp_lib_is_ip_mptcp; then + # shellcheck disable=3DSC2086 + ip -n "${ns}" mptcp endpoint add "${addr}" ${_flags//","/" "} ${dev} ${i= d} ${port} + else + # shellcheck disable=3DSC2086 + ip netns exec "${ns}" ./pm_nl_ctl add "${addr}" ${flags} ${dev} ${id} ${= port} + fi +} + +mptcp_lib_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'' + # shellcheck disable=3DSC2086 + ip -n "${ns}" mptcp endpoint delete id "${id}" ${addr} + else + ip netns exec "${ns}" ./pm_nl_ctl del "${id}" "${addr}" + fi +} + +mptcp_lib_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_show_endpoints() { + local ns=3D${1} + local id=3D${2} + + if mptcp_lib_is_ip_mptcp; then + local show=3D"show" + + [ -n "${id}" ] && show+=3D" id ${id}" + # shellcheck disable=3DSC2086 + ip -n "${ns}" mptcp endpoint ${show} + else + local dump=3D"dump" + + [ -n "${id}" ] && dump=3D"get ${id}" + # shellcheck disable=3DSC2086 + ip netns exec "${ns}" ./pm_nl_ctl ${dump} + fi +} + +mptcp_lib_change_endpoint() { + local ns=3D${1} + local addr=3D${2} + local flags=3D${3} + + if ! mptcp_lib_is_addr "${addr}"; then + [ "${addr}" -gt 0 ] && [ "${addr}" -lt 256 ] && addr=3D"id ${addr}" + fi + + if mptcp_lib_is_ip_mptcp; then + # shellcheck disable=3DSC2086 + ip -n "${ns}" mptcp endpoint change ${addr} ${flags//","/" "} + else + # shellcheck disable=3DSC2086 + ip netns exec "${ns}" ./pm_nl_ctl set ${addr} flags "${flags}" + fi +} + +mptcp_lib_endpoint_ops() { + [ "$#" -lt 2 ] && return 1 + + case "$1" in + "limits") + mptcp_lib_limits "${@:2}" + ;; + "add") + mptcp_lib_add_endpoint "${@:2}" + ;; + "del") + mptcp_lib_del_endpoint "${@:2}" + ;; + "flush") + mptcp_lib_flush_endpoint "${@:2}" + ;; + "show") + mptcp_lib_show_endpoints "${@:2}" + ;; + "change") + mptcp_lib_change_endpoint "${@:2}" + ;; + *) + ;; + esac +} --=20 2.40.1 From nobody Tue May 14 23:29:19 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 0A40510E3 for ; Mon, 11 Mar 2024 01:49:07 +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=1710121748; cv=none; b=Y4SSHMvcFOJZHPczJ9OOR3zcJcVTdBRNjap9zAStpTZaqhC0qwOLG5e1/Fp2SZB/PhQLvHFlYX4eOEYWhuppWCs5/PDnwb1/75o2FSGuUFTywJfGC2sI7M8ZMEoxcnYyfaoZ2ZITg840BczIBJMYm/CY+x+Sw+qFXv8nsENPnig= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121748; c=relaxed/simple; bh=RArxbb5BXTREJwSuoub6rEkPGfORJmJLjkhM7QdPPlk=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=AKEnlysHNzuHT8WzrE3FThtVe7/t4fp9oqPrkVsqqlIcr6QAO5opyiH40LBPzFfdB5bUB19dm3GGXEUr6crv5OMGynYsB6Tue8XfWNZkqCa3JBby7NptkQ+DiShCS74/UC7x8EHC/xhKuWX7K4AUt1YViS30FtjJuvyUsru5c0o= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=N3mfvCDm; 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="N3mfvCDm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5D5CBC433F1; Mon, 11 Mar 2024 01:49:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121747; bh=RArxbb5BXTREJwSuoub6rEkPGfORJmJLjkhM7QdPPlk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=N3mfvCDm8NUqFHCh4r+lEM9WeJktQZngvmgmPzsnu4ZQhH9EZgWhdT5zra+HHqoTU RAEkBPJrNrczwzhBUa0MXWFLf4nbW6mgTsm00fU+lWqlt6TwjFfWvDh+AZ6MzOE3Zo Mo6UGjePl4UUaJl3EpurJrgFfch26RjWPXASmGUfG94D13tf0E5Pgm4+beACZsWpeX EHhOVPao/yRG7gGH9d8FherwiB6DywW4Ut0ocF2zg44HN9g0wf89huBvNeAT7Sgm5/ F/MRO/SlKqPNwRJWAsq4H/SjEI2PCo1r2pNoXScu+72C8YDrR4j+kg9hPEQHxSTcE1 twS6RvG/CEmhw== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 08/10] selftests: mptcp: use mptcp_lib_endpoint_ops Date: Mon, 11 Mar 2024 09:48:45 +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 uses the newly added mptcp_lib_endpoint_ops() helper with "add", "del", "flush", "show" or "change" arguments to place 'pm_nl_ctl add/del/ flush/show/get/set' commands in scripts mptcp_join.sh, mptcp_sockopt.sh, pm_netlink.sh and simult_flows.sh. ip netns exec $ns pm_nl_ctl add $addr flags $flags -> mptcp_lib_endpoint_ops add $ns $addr flags $flags ip netns exec $ns pm_nl_ctl del $id -> mptcp_lib_endpoint_ops del $ns $id ip netns exec $ns pm_nl_ctl flush -> mptcp_lib_endpoint_ops flush $ns ip netns exec $ns pm_nl_ctl set id $id flags $flags -> mptcp_lib_endpoint_ops change $ns id $id $flags ip netns exec $ns pm_nl_ctl set $addr flags $flags -> mptcp_lib_endpoint_ops change $ns $addr $flags Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 3 +- .../selftests/net/mptcp/mptcp_sockopt.sh | 12 +- .../testing/selftests/net/mptcp/pm_netlink.sh | 130 +++++++++--------- .../selftests/net/mptcp/simult_flows.sh | 6 +- 4 files changed, 75 insertions(+), 76 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index 8e35f875147b..1052b85d8170 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -681,9 +681,9 @@ pm_nl_check_endpoint() return fi =20 + line=3D$(mptcp_lib_endpoint_ops show "${ns}" "${_id}") 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" @@ -692,7 +692,6 @@ pm_nl_check_endpoint() [ -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" diff --git a/tools/testing/selftests/net/mptcp/mptcp_sockopt.sh b/tools/tes= ting/selftests/net/mptcp/mptcp_sockopt.sh index e2d70c18786e..84cf00f8bb7f 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_endpoint_ops add "${ns1}" "10.0.${i}.1" flags signal + mptcp_lib_endpoint_ops add "${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_endpoint_ops add "${ns2}" "10.0.${i}.2" flags signal + mptcp_lib_endpoint_ops add "${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_endpoint_ops limits "${ns1}" 8 8 + mptcp_lib_endpoint_ops 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 2096c52b3a4b..183146e58ec2 100755 --- a/tools/testing/selftests/net/mptcp/pm_netlink.sh +++ b/tools/testing/selftests/net/mptcp/pm_netlink.sh @@ -67,21 +67,21 @@ check() fi } =20 -check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "defaults addr list" +check "mptcp_lib_endpoint_ops show ${ns1}" "" "defaults addr list" =20 -default_limits=3D"$(ip netns exec $ns1 ./pm_nl_ctl limits)" +default_limits=3D"$(mptcp_lib_endpoint_ops limits "${ns1}")" if mptcp_lib_expect_all_features; then limits=3D$'accept 0\nsubflows 2' mptcp_lib_is_ip_mptcp && limits=3D"add_addr_accepted 0 subflows 2 " - check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "defaults limit= s" + check "mptcp_lib_endpoint_ops limits ${ns1}" "${limits}" "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_endpoint_ops add "${ns1}" 10.0.1.1 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.2 flags subflow dev lo +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.3 flags signal,backup endpoint=3D"id 1 flags 10.0.1.1" mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.1 id 1 " -check "ip netns exec $ns1 ./pm_nl_ctl get 1" "${endpoint}" "simple add/get= addr" +check "mptcp_lib_endpoint_ops show ${ns1} 1" "${endpoint}" "simple add/get= addr" =20 dump=3D"$(printf '%s\n' \ "id 1 flags 10.0.1.1" \ @@ -92,36 +92,36 @@ dump=3D"$(printf '%s\n' \ "10.0.1.1 id 1 " \ "10.0.1.2 id 2 subflow dev lo " \ "10.0.1.3 id 3 signal backup ")" -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_endpoint_ops show ${ns1}" \ "${dump}" "dump addrs" =20 -ip netns exec $ns1 ./pm_nl_ctl del 2 +mptcp_lib_endpoint_ops del "${ns1}" 2 dump=3D$'id 1 flags 10.0.1.1\nid 3 flags signal,backup 10.0.1.3' mptcp_lib_is_ip_mptcp && dump=3D$'10.0.1.1 id 1 \n10.0.1.3 id 3 signal bac= kup ' -check "ip netns exec $ns1 ./pm_nl_ctl get 2" "" "simple del addr" -check "ip netns exec $ns1 ./pm_nl_ctl dump" \ +check "mptcp_lib_endpoint_ops show ${ns1} 2" "" "simple del addr" +check "mptcp_lib_endpoint_ops show ${ns1}" \ "${dump}" "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" +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.3 2>/dev/null +check "mptcp_lib_endpoint_ops show ${ns1} 4" "" "duplicate addr" =20 -ip netns exec $ns1 ./pm_nl_ctl add 10.0.1.4 flags signal +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.4 flags signal endpoint=3D"id 4 flags signal 10.0.1.4" mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.4 id 4 signal " -check "ip netns exec $ns1 ./pm_nl_ctl get 4" "${endpoint}" "id addr increm= ent" +check "mptcp_lib_endpoint_ops show ${ns1} 4" "${endpoint}" "id addr increm= ent" =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_endpoint_ops add "${ns1}" "10.0.1.${i}" flags signal >/dev/null= 2>&1 done endpoint=3D"id 9 flags signal 10.0.1.9" mptcp_lib_is_ip_mptcp && endpoint=3D"10.0.1.9 id 9 signal " -check "ip netns exec $ns1 ./pm_nl_ctl get 9" "${endpoint}" "hard addr limi= t" -check "ip netns exec $ns1 ./pm_nl_ctl get 10" "" "above hard addr limit" +check "mptcp_lib_endpoint_ops show ${ns1} 9" "${endpoint}" "hard addr limi= t" +check "mptcp_lib_endpoint_ops show ${ns1} 10" "" "above hard addr limit" =20 -ip netns exec $ns1 ./pm_nl_ctl del 9 +mptcp_lib_endpoint_ops del "${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_endpoint_ops add "${ns1}" 10.0.0.9 id "${i}" + mptcp_lib_endpoint_ops del "${ns1}" "${i}" done dump=3D"$(printf '%s\n' \ "id 1 flags 10.0.1.1" \ @@ -140,31 +140,31 @@ dump=3D"$(printf '%s\n' \ "10.0.1.6 id 6 signal " \ "10.0.1.7 id 7 signal " \ "10.0.1.8 id 8 signal ")" -check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "id limit" +check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" "id limit" =20 -ip netns exec $ns1 ./pm_nl_ctl flush -check "ip netns exec $ns1 ./pm_nl_ctl dump" "" "flush addrs" +mptcp_lib_endpoint_ops flush "${ns1}" +check "mptcp_lib_endpoint_ops show ${ns1}" "" "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" +mptcp_lib_endpoint_ops limits "${ns1}" 9 1 2>/dev/null +check "mptcp_lib_endpoint_ops limits ${ns1}" "${default_limits}" "rcv addr= s above 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" +mptcp_lib_endpoint_ops limits "${ns1}" 1 9 2>/dev/null +check "mptcp_lib_endpoint_ops limits ${ns1}" "${default_limits}" "subflows= above hard limit" =20 -ip netns exec $ns1 ./pm_nl_ctl limits 8 8 +mptcp_lib_endpoint_ops limits "${ns1}" 8 8 limits=3D$'accept 8\nsubflows 8' mptcp_lib_is_ip_mptcp && limits=3D"add_addr_accepted 8 subflows 8 " -check "ip netns exec $ns1 ./pm_nl_ctl limits" "${limits}" "set limits" - -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 "mptcp_lib_endpoint_ops limits ${ns1}" "${limits}" "set limits" + +mptcp_lib_endpoint_ops flush "${ns1}" +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.1 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.2 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.3 id 100 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.4 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.5 id 254 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.6 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.7 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.8 dump=3D"$(printf '%s\n' \ "id 1 flags 10.0.1.1" \ "id 2 flags 10.0.1.2" \ @@ -184,17 +184,17 @@ dump=3D"$(printf '%s\n' \ "10.0.1.4 id 101 " \ "10.0.1.5 id 254 " \ "10.0.1.6 id 255 ")" -check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "set ids" - -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 "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" "set ids" + +mptcp_lib_endpoint_ops flush "${ns1}" +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.1 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.2 id 254 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.3 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.4 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.5 id 253 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.6 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.7 +mptcp_lib_endpoint_ops add "${ns1}" 10.0.0.8 dump=3D"$(printf '%s\n' \ "id 1 flags 10.0.0.1" \ "id 2 flags 10.0.0.4" \ @@ -214,34 +214,34 @@ dump=3D"$(printf '%s\n' \ "10.0.0.5 id 253 " \ "10.0.0.2 id 254 " \ "10.0.0.3 id 255 ")" -check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "wrap-around ids" +check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" "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 +mptcp_lib_endpoint_ops flush "${ns1}" +mptcp_lib_endpoint_ops add "${ns1}" 10.0.1.1 flags subflow +mptcp_lib_endpoint_ops change "${ns1}" 10.0.1.1 backup dump=3D"id 1 flags subflow,backup 10.0.1.1" mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow backup " -check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" "set flags (backup)" -ip netns exec $ns1 ./pm_nl_ctl set 10.0.1.1 flags nobackup +check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" "set flags (backup)" +mptcp_lib_endpoint_ops change "${ns1}" 10.0.1.1 nobackup dump=3D"id 1 flags subflow 10.0.1.1" mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow " -check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (nobackup= )" +check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" " (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_endpoint_ops change "${ns1}" 1 fullmesh 2>/dev/null +if mptcp_lib_endpoint_ops show "${ns1}" | grep -q "fullmesh" || mptcp_lib_expect_all_features; then dump=3D"id 1 flags subflow,fullmesh 10.0.1.1" mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow fullmesh " - check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (fullmes= h)" - ip netns exec $ns1 ./pm_nl_ctl set id 1 flags nofullmesh + check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" " (fullmesh= )" + mptcp_lib_endpoint_ops change "${ns1}" 1 nofullmesh dump=3D"id 1 flags subflow 10.0.1.1" mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow " - check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (nofullm= esh)" - ip netns exec $ns1 ./pm_nl_ctl set id 1 flags backup,fullmesh + check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" " (nofullme= sh)" + mptcp_lib_endpoint_ops change "${ns1}" 1 backup,fullmesh dump=3D"id 1 flags subflow,backup,fullmesh 10.0.1.1" mptcp_lib_is_ip_mptcp && dump=3D"10.0.1.1 id 1 subflow backup fullmesh " - check "ip netns exec $ns1 ./pm_nl_ctl dump" "${dump}" " (backup,= fullmesh)" + check "mptcp_lib_endpoint_ops show ${ns1}" "${dump}" " (backup,f= ullmesh)" else for st in fullmesh nofullmesh backup,fullmesh; do st=3D" (${st})" diff --git a/tools/testing/selftests/net/mptcp/simult_flows.sh b/tools/test= ing/selftests/net/mptcp/simult_flows.sh index 68ee92eccccb..2cacd3ed9955 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_endpoint_ops limits "${ns1}" 1 1 + mptcp_lib_endpoint_ops add "${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_endpoint_ops 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 Tue May 14 23:29:19 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 CD90710E3 for ; Mon, 11 Mar 2024 01:49:09 +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=1710121749; cv=none; b=VAikYQKsZpV1bDkhvNyWO59JNAXuLgHf44myASeT4fSrtMJIIzIC40vJ0K4LS2BFsdqqSa3usJQh59N44HpfIMUE5BJvRPCBXkhUvQjWjNwYI6ZFr5QMVaho2rPwGHedemkjD2o9QPTFO0RRCkwd3KVgQKwx/uHW3yhpDearSm0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121749; c=relaxed/simple; bh=Agq2MimJBt7kTMS64kfA5TLKPOMVxzDK6h2Zcfsud+w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=ExLdTeyzFuNBGUCn+dYA6bi/oJwfUWCvwHsU7jkUIz7MFIMHPGa96AGKfACvE8K3vgs4ciLmn1bFHDHMhSA1CZ7272+MCjlzwVPRkkn7VMBFFw4jnZycaAiUqnnKngWfakBuheKuYlFG56BObTcokCgpRTBAoy29CwV2NpLXpAk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IZo1rsNy; 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="IZo1rsNy" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3816CC433C7; Mon, 11 Mar 2024 01:49:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121749; bh=Agq2MimJBt7kTMS64kfA5TLKPOMVxzDK6h2Zcfsud+w=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=IZo1rsNyStu+VfBCAb6FfpWq+pFG49xmtrTQC7zXLUoJ7zexwv/SazP4S88tbCGWB qy0ig7bXhgb40Wj6kzoQhyF/pQ1DgfraRBz4UEPKD3xVjtJOd51nk1do6Ypb+I0Ez9 2J05G7euGehZ9WcTy7s2kktIB+4g0nSGV+z/fCmSepQuIXxdURZIjlFIIuSdaOcjHa XUfy5X8/CgbwXmUDRWtJfTqyyY0MDXOM/6HW82YdC6QxXFlnWyUf+0qDNHk8W184KS YcuCJHN+J7wZ2k8BPjOCyu03WUaWP2G8dIPMiLA2Nf6Xnxc089/rWfqZsUO5CuiFPe c7lNAk/6dbXFQ== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 09/10] selftests: mptcp: add ip_mptcp option for more scripts Date: Mon, 11 Mar 2024 09:48:46 +0800 Message-Id: <912bbd3e2158f5bb4f189a16416169090501395b.1710121590.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 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 84cf00f8bb7f..bc315e04b267 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 183146e58ec2..5cffc748ee2f 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 2cacd3ed9955..d2c38b183b7f 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 Tue May 14 23:29:19 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 5F8CF10E3 for ; Mon, 11 Mar 2024 01:49:11 +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=1710121751; cv=none; b=YZuJnxfSsgvYnOq3xr0leM2T2H0VyHNSoqk/1x3VkK8yQNfJqAK+LW3ulhhN+yKPyMLeVNAJ8UL6CZvtVWLkX0MpUnRkyRsb2PCXdANgNEmeEO4ZK7A8jmgglElGU+HuWyj5h3ZQNSOt31j6lykjS0JIzs/nqnQAwsGao99vGH4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710121751; c=relaxed/simple; bh=DOpc9WUOYPRbRlA0LWYnheRhGEqnvqhVY/JgE2gnbXE=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=BiM/r35sQWaNR4npxmm9j/itACYXkpSP/7pOhPZahTAoUHjzQCW7WRzox5IhtW4dbLuL/A4NvJSjF00SJWVwG9jyC04ioCRryc34u3kjolmKXTlirZKA6oPwtUmwy3deZ0YMAzgEJJQclSXW19USJs1mNE0lOGQJG9lue/5Y/dY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KRjo8ynT; 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="KRjo8ynT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 118CBC433C7; Mon, 11 Mar 2024 01:49:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1710121751; bh=DOpc9WUOYPRbRlA0LWYnheRhGEqnvqhVY/JgE2gnbXE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=KRjo8ynTIfy6gxoo5e6fcGFLTW85vyRPoW9eXCuMn47Tzxx69ub/OEB8bQpJ4e+G6 iRSdGRzbee7WGAxVqwVNjUmN+KlaQ/x2N7Y0UQQU83cNm6FVHc5feDooNA59usKa+5 5bfXrrj2cxDFQ821qjHgo4AgJrcfEmVhaWlmBa3SzM2FXwXY4X66ydT5suBBS6l2et b4oIkjBvURFoUibi/9OgtTYUVp9lKbJqt1e82NOCYX584gQSTEH/1XzbawnfEcJKWq cux72yKRQOoEAEqx3Br1867i44ZX91JbP+XZ312aJCeJr/1QJzurhyOC0y61s0ZCdC B4su0VDWWLsDA== From: Geliang Tang To: mptcp@lists.linux.dev Cc: Geliang Tang Subject: [PATCH mptcp-next 10/10] selftests: mptcp: netlink: drop disable=SC2086 Date: Mon, 11 Mar 2024 09:48:47 +0800 Message-Id: <82de56f853e291af0f6474ba21a366c895ad8e5c.1710121590.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 5cffc748ee2f..ad9c63af3f7d 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