From patchwork Fri Aug 28 07:16:03 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Geliang Tang X-Patchwork-Id: 1353034 X-Patchwork-Delegate: matthieu.baerts@tessares.net Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.01.org (client-ip=2001:19d0:306:5::1; helo=ml01.01.org; envelope-from=mptcp-bounces@lists.01.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=KGoVtBga; dkim-atps=neutral Received: from ml01.01.org (ml01.01.org [IPv6:2001:19d0:306:5::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 4BdB2D5tH0z9sPB for ; Fri, 28 Aug 2020 17:25:08 +1000 (AEST) Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id 29C0F1283DC54; Fri, 28 Aug 2020 00:25:07 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::542; helo=mail-pg1-x542.google.com; envelope-from=geliangtang@gmail.com; receiver= Received: from mail-pg1-x542.google.com (mail-pg1-x542.google.com [IPv6:2607:f8b0:4864:20::542]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 844CE1283DC51 for ; Fri, 28 Aug 2020 00:25:05 -0700 (PDT) Received: by mail-pg1-x542.google.com with SMTP id w186so39195pgb.8 for ; Fri, 28 Aug 2020 00:25:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=t74+aj/FhEw70D9nlgXFbnKVmb1G1zopV6GFsLGn86Y=; b=KGoVtBgaVMz1F6bmuGb8yIEBCoqsIsmeIAYwTUwCHhAadZsjr+ym/qxEjlThNZ58WA vJdy5cSSTyupClyfHs/dYDLlV4dXdeExJOL49efW1bs2xM4L+DQMr8G54IlFhHyj3x5C 1Fd9wcPzDnoZzuqXcab4MBeYqmjzOarcA36A3jgimokylYI7xR94YDwNkU/27tAnleFu qVWpeG2pEmCwyIbw9QNQ266TKJGUFw214IRQ3F3NPjI/H+YHsf6q2XKmq+SBQlq2aYHE JJnIcgDkYpOY5zxYAqmZO1hf+hVEFDmCcBAuBDTP7U4SmEoNRYJsvdOgJLv1I9B3qOWZ pp0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=t74+aj/FhEw70D9nlgXFbnKVmb1G1zopV6GFsLGn86Y=; b=hX6//rtQh5iaGJpjYJPCmrAcs+L8gykCzMWFeF0mB177F/yenStCv2MAJLRKe5ZCrZ UvjnKuYMEIkCiefzY6tavdq2/r2eIki41sqeOEZZfhQ6nNC+8spQmkMHUzgOSdVMRBcX q02IUQzxCPwEwnjCeohfP41xsm9IohS/+5hwpMKjayYxFIlGs+GDaPdA+RetB+PrwTSq bR0Japk6j0B8e1sYIhcu3KrB5++8gjRX4x2C16jm2IYukvM4fxWf3E8ryOFL7gF+IRho mAAn7x1RPhfBpBqA+mtV6F7zBJmQ5rHh9vgfcFO7ezmowvasUz7BoYGJ9nHbtMY8Imkc vrUA== X-Gm-Message-State: AOAM5309wL15hrrHu2fvuDiKiine0Lk2b0drrODDS5/wnNztKwVMirng 0Zqb1prmQBfV5SkX2kbA4bJzsiRERsp746HM X-Google-Smtp-Source: ABdhPJxzVJuUPU8v7K14wLLeSKjJfrbyfsGcDG9T838A4BMhsWPdRbjAYDlihIcYJ5FpOhmPKcny2A== X-Received: by 2002:a65:48c3:: with SMTP id o3mr278233pgs.224.1598599504685; Fri, 28 Aug 2020 00:25:04 -0700 (PDT) Received: from localhost ([43.224.245.180]) by smtp.gmail.com with ESMTPSA id w28sm475374pfj.161.2020.08.28.00.25.03 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 28 Aug 2020 00:25:04 -0700 (PDT) From: Geliang Tang To: mptcp@lists.01.org Date: Fri, 28 Aug 2020 15:16:03 +0800 Message-Id: <952897706ef0a3b573fd346e4dea862f5406a3d2.1598598749.git.geliangtang@gmail.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: References: In-Reply-To: <2e88ccea2ee01e9ad85cf7b507c1efac6c458905.1598598749.git.geliangtang@gmail.com> References: <4bf1636a362ac487d5bd2abae78e78b9f91294f1.1598598749.git.geliangtang@gmail.com> <2e88ccea2ee01e9ad85cf7b507c1efac6c458905.1598598749.git.geliangtang@gmail.com> Message-ID-Hash: VQWIXS6U6XZ2E4P3QFE4TLJCSBC7LAAQ X-Message-ID-Hash: VQWIXS6U6XZ2E4P3QFE4TLJCSBC7LAAQ X-MailFrom: geliangtang@gmail.com X-Mailman-Rule-Hits: member-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address CC: Geliang Tang X-Mailman-Version: 3.1.1 Precedence: list Subject: [MPTCP] [MPTCP][PATCH v7 mptcp-next 3/4] selftests: mptcp: add ADD_ADDR mibs check function List-Id: Discussions regarding MPTCP upstreaming Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 This patch added the ADD_ADDR related mibs counter check function chk_add_nr(). This function check both ADD_ADDR and ADD_ADDR with echo flag. The output looks like this: 07 unused signal address syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] 08 signal address syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] 09 subflow and signal syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] 10 multiple subflows and signal syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] 11 remove subflow and signal syn[ ok ] - synack[ ok ] - ack[ ok ] add[ ok ] - echo [ ok ] Signed-off-by: Geliang Tang --- .../testing/selftests/net/mptcp/mptcp_join.sh | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/tools/testing/selftests/net/mptcp/mptcp_join.sh b/tools/testing/selftests/net/mptcp/mptcp_join.sh index f39c1129ce5f..bf6172138bed 100755 --- a/tools/testing/selftests/net/mptcp/mptcp_join.sh +++ b/tools/testing/selftests/net/mptcp/mptcp_join.sh @@ -276,6 +276,43 @@ chk_join_nr() fi } +chk_add_nr() +{ + local add_nr=$1 + local echo_nr=$2 + local count + local dump_stats + + printf "%-39s %s" " " "add" + count=`ip netns exec $ns2 nstat -as | grep MPTcpExtAddAddr | awk '{print $2}'` + [ -z "$count" ] && count=0 + if [ "$count" != "$add_nr" ]; then + echo "[fail] got $count ADD_ADDR[s] expected $add_nr" + ret=1 + dump_stats=1 + else + echo -n "[ ok ]" + fi + + echo -n " - echo " + count=`ip netns exec $ns1 nstat -as | grep MPTcpExtEchoAdd | awk '{print $2}'` + [ -z "$count" ] && count=0 + if [ "$count" != "$echo_nr" ]; then + echo "[fail] got $count ADD_ADDR echo[s] expected $echo_nr" + ret=1 + dump_stats=1 + else + echo "[ ok ]" + fi + + if [ "${dump_stats}" = 1 ]; then + echo Server ns stats + ip netns exec $ns1 nstat -as | grep MPTcp + echo Client ns stats + ip netns exec $ns2 nstat -as | grep MPTcp + fi +} + sin=$(mktemp) sout=$(mktemp) cin=$(mktemp) @@ -332,6 +369,7 @@ reset ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "unused signal address" 0 0 0 +chk_add_nr 1 1 # accept and use add_addr reset @@ -340,6 +378,7 @@ ip netns exec $ns2 ./pm_nl_ctl limits 1 1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address" 1 1 1 +chk_add_nr 1 1 # accept and use add_addr with an additional subflow # note: signal address in server ns and local addresses in client ns must @@ -352,6 +391,7 @@ ip netns exec $ns2 ./pm_nl_ctl limits 1 2 ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and signal" 2 2 2 +chk_add_nr 1 1 # accept and use add_addr with additional subflows reset @@ -362,6 +402,7 @@ ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "multiple subflows and signal" 3 3 3 +chk_add_nr 1 1 # single subflow, syncookies reset_with_cookies @@ -396,6 +437,7 @@ ip netns exec $ns2 ./pm_nl_ctl limits 1 1 ip netns exec $ns1 ./pm_nl_ctl add 10.0.2.1 flags signal run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "signal address with syn cookies" 1 1 1 +chk_add_nr 1 1 # test cookie with subflow and signal reset_with_cookies @@ -405,6 +447,7 @@ ip netns exec $ns2 ./pm_nl_ctl limits 1 2 ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflow and signal w cookies" 2 2 2 +chk_add_nr 1 1 # accept and use add_addr with additional subflows reset_with_cookies @@ -415,5 +458,6 @@ ip netns exec $ns2 ./pm_nl_ctl add 10.0.3.2 flags subflow ip netns exec $ns2 ./pm_nl_ctl add 10.0.4.2 flags subflow run_tests $ns1 $ns2 10.0.1.1 chk_join_nr "subflows and signal w. cookies" 3 3 3 +chk_add_nr 1 1 exit $ret