From nobody Mon Feb 9 09:22:42 2026 Delivered-To: wpasupplicant.patchew@gmail.com Received: by 2002:a02:9f92:0:0:0:0:0 with SMTP id a18csp701864jam; Fri, 4 Feb 2022 16:03:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJw9TprmPiIZowbBv9zLJKqhe6YToObFo7qkEBFLabAwroBOZXqLbvM18YArkUIxzTfKoZIh X-Received: by 2002:a17:903:2302:: with SMTP id d2mr5607625plh.18.1644019430719; Fri, 04 Feb 2022 16:03:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1644019430; cv=none; d=google.com; s=arc-20160816; b=yt+pPOoh/x9hvPLDQHskPO5oVHXfm7piK464Sv8RKUsqeyGvAc9FfO0n2K+qs2Y7ET HlYQxR8cikVo3Tr4UelKa4QgL0qAcd52eA7ppGxo0cpJUvH6yS8wfKmEsUmtAiOvt+JG ZhsUoaPPAwdJ9u/wOrSic4m9O/i+BLIU3NXUS4ZwsyGAwsYbqkStFqvRt7PvpojAOGtG l3RowqP3fhhyKtBUGl8ArGLKyb0MuvPkxVNrkSeRaEEut1n3fbw4ulPHEAq5P4rp/lo0 CjS/M54/iIiiRjatd+APcItf8rz3n33JB4d6adtDqbetjEHhB7uznEW72sRyOzQGMwwN azGQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=4Tq0OJh6GM9181bRiuprcwoc69e07DiPUEXE1BdqRTY=; b=wQNHhacmQnCAM7XJd7gBVccp5wQ2fbZTFLjrm2mgm1Z1Bxs/6Njx1zaQCldSqVLY0d uVkHFADRT/AKQMQUG7XtXwAjctaDRXu2I8X2Uutie1z7pbB8k2Mnfv9d4P6qtkXQUYk9 nU1we5LbTP8WlQsaHaWF0vjJV2z4A78ArTRwtduaaszuqAXzn7VsYJd3nj82jmiWP5br CGwRIIeEEIf5rCa+MMd1KuNVcFap4f6BqYomJaoziWq8rFMXgxIjo9yOZMWB0P/4YwYf BCiYNs6fudnxsQFK9aVGvsnlGutItjqYMnklVrKqudO3TnIn0sUdpVFka0s0aHSHtc+N 8kkg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TBiZCJ02; spf=pass (google.com: domain of mptcp+bounces-3478-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3478-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sjc.edge.kernel.org (sjc.edge.kernel.org. [2604:1380:1000:8100::1]) by mx.google.com with ESMTPS id me15si3917513pjb.98.2022.02.04.16.03.50 for (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 04 Feb 2022 16:03:50 -0800 (PST) Received-SPF: pass (google.com: domain of mptcp+bounces-3478-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) client-ip=2604:1380:1000:8100::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=TBiZCJ02; spf=pass (google.com: domain of mptcp+bounces-3478-wpasupplicant.patchew=gmail.com@lists.linux.dev designates 2604:1380:1000:8100::1 as permitted sender) smtp.mailfrom="mptcp+bounces-3478-wpasupplicant.patchew=gmail.com@lists.linux.dev"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sjc.edge.kernel.org (Postfix) with ESMTPS id E84823E1037 for ; Sat, 5 Feb 2022 00:03:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id E30FB2C9D; Sat, 5 Feb 2022 00:03:47 +0000 (UTC) X-Original-To: mptcp@lists.linux.dev Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) (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 D4B6C2C9C for ; Sat, 5 Feb 2022 00:03:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1644019425; x=1675555425; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=BIHDQ0cV+8FuNvzldY9/cMZQZYbfgj0qdBVLxCsVVjU=; b=TBiZCJ02HTSDDoWcOeRmimM7zlRt9ZaGs7Av66sgMn0fzXHqTpYEC5jW TG8pGsEUDqv0kGKA9MusiUMHIseOzcD8rsanJhJRO8UO0ZM70dBJWiWz4 XpRLowKgq3Rp8j4d0L0hEMsLRVBqzPO4U8K71uMDgIvTDSH2zSFTDgi1y 4p8P1GS7iMWHjw0oQuKaa2bLRkXPCBotfsOgX0vZarinIyFAAL4w3i9sZ yOE8B1cLMkuph6HLAzGYuSxm+ZSUX3Ya8rQOLIBjNyLYt5e0ef8lNa/4e mnmwKl196AAPEzcwX7ArX+9YoX7naRbtVqswsx2OtCZVcw2Degp6M9bTW g==; X-IronPort-AV: E=McAfee;i="6200,9189,10248"; a="248678288" X-IronPort-AV: E=Sophos;i="5.88,344,1635231600"; d="scan'208";a="248678288" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2022 16:03:44 -0800 X-IronPort-AV: E=Sophos;i="5.88,344,1635231600"; d="scan'208";a="770097518" Received: from mjmartin-desk2.amr.corp.intel.com (HELO mjmartin-desk2.intel.com) ([10.212.231.200]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 04 Feb 2022 16:03:43 -0800 From: Mat Martineau To: netdev@vger.kernel.org Cc: Geliang Tang , davem@davemloft.net, kuba@kernel.org, matthieu.baerts@tessares.net, mptcp@lists.linux.dev, Mat Martineau Subject: [PATCH net-next 3/9] selftests: mptcp: add backup with port testcase Date: Fri, 4 Feb 2022 16:03:31 -0800 Message-Id: <20220205000337.187292-4-mathew.j.martineau@linux.intel.com> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220205000337.187292-1-mathew.j.martineau@linux.intel.com> References: <20220205000337.187292-1-mathew.j.martineau@linux.intel.com> 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 added the backup testcase using an address with a port number. The original backup tests only work for the output of 'pm_nl_ctl dump' without the port number. It chooses the last item in the dump to parse the address in it, and in this case, the address is showed at the end of the item. But it doesn't work for the dump with the port number, in this case, the port number is showed at the end of the item, not the address. So implemented a more flexible approach to get the address and the port number from the dump to fit for the port number case. Signed-off-by: Geliang Tang Signed-off-by: Mat Martineau --- .../testing/selftests/net/mptcp/mptcp_join.sh | 44 ++++++++++++++++--- 1 file changed, 39 insertions(+), 5 deletions(-) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testin= g/selftests/net/mptcp/mptcp_join.sh index bd106c7ec232..eb945cebbd6d 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -239,6 +239,16 @@ is_v6() [ -z "${1##*:*}" ] } =20 +is_addr() +{ + [ -z "${1##*[.:]*}" ] +} + +is_number() +{ + [[ $1 =3D=3D ?(-)+([0-9]) ]] +} + # $1: ns, $2: port wait_local_port_listen() { @@ -464,11 +474,25 @@ do_transfer() if [ ! -z $sflags ]; then sleep 1 for netns in "$ns1" "$ns2"; do - dump=3D(`ip netns exec $netns ./pm_nl_ctl dump`) - if [ ${#dump[@]} -gt 0 ]; then - addr=3D${dump[${#dump[@]} - 1]} - ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags - fi + ip netns exec $netns ./pm_nl_ctl dump | while read line; do + local arr=3D($line) + local addr + local port=3D0 + local _port=3D"" + + for i in ${arr[@]}; do + if is_addr $i; then + addr=3D$i + elif is_number $i; then + # The minimum expected port number is 10000 + if [ $i -gt 10000 ]; then + port=3D$i + fi + fi + done + if [ $port -ne 0 ]; then _port=3D"port $port"; fi + ip netns exec $netns ./pm_nl_ctl set $addr flags $sflags $_port + done done fi =20 @@ -1616,6 +1640,16 @@ backup_tests() chk_join_nr "single address, backup" 1 1 1 chk_add_nr 1 1 chk_prio_nr 1 0 + + # single address with port, backup + reset + ip netns exec $ns1 ./pm_nl_ctl limits 0 1 + ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal port 10100 + ip netns exec $ns2 ./pm_nl_ctl limits 1 1 + run_tests $ns1 $ns2 10.0.1.1 0 0 0 slow backup + chk_join_nr "single address with port, backup" 1 1 1 + chk_add_nr 1 1 + chk_prio_nr 1 0 } =20 add_addr_ports_tests() --=20 2.35.1