From patchwork Wed Oct 27 03:35:50 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 12586327 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E2C03C433F5 for ; Wed, 27 Oct 2021 03:36:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id CBDAC610E5 for ; Wed, 27 Oct 2021 03:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230522AbhJ0Dig (ORCPT ); Tue, 26 Oct 2021 23:38:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36728 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239073AbhJ0Dif (ORCPT ); Tue, 26 Oct 2021 23:38:35 -0400 Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 98918C061570; Tue, 26 Oct 2021 20:36:10 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id v16so1015730ple.9; Tue, 26 Oct 2021 20:36:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=y8vm5CRgl+51+vNOfEDh9em3oBJB3Xz5FSEMVWacdfs=; b=l7VB3U+2Tbb2gXb14XXwBzU+ZSxQPrM+GWsGWzcOJY+pEH7b0PXpoy1NRxfH9W4Ac/ R4lxsqsj4wlshuvdlHbdxCdaqouZPTmHvbkUnJ4KasT0uaCAiXnn+dr+8zOCOwKXhII1 bRQAcQu7OXuD0EWJ6ZMvf4AT6AdbzxsMNQrlelKH57iQ7QyNtapZAujUNgVCTOZZ+2+J lsCjoPNzLcMitYBXA0NgxFnc3koOIXFRNI/5gA1rA3z16ede6z7k+f1SvN2LZ4FYQktx Ymd027fGlwhQ0lp6QKvMV+FEJQT/cWuXtO6w1L8kulKrxEyjsUm++ff9gr8lEU+H/xNt zbMg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=y8vm5CRgl+51+vNOfEDh9em3oBJB3Xz5FSEMVWacdfs=; b=0nIq12E34U3Tym4E29ZogwelMsK5cMrHos75BQHa/q+bRWhxS0u+6xv5Rsvy4aQ3PX GhE44TAVRld2Q4eCfM9ktLYkHTy5BRiA2gRNxPRibvTkF//W3DOmHgaoQBNF5VaF+wNC EAsc504TuFmztBDnX0cfgI8dQtuC9N/Ij9u07aLBAAgbWQvQ4IPLj5CN94M25JHntbr5 cZGh+ZO8SGCHVXuxxyCVn+QN1r2n90osC0GLGlxt4eDCCbQI38bbY/9EtOgmFnrP8E2C 8S5ARpK4WUxYzlpdhOnIJpePYOwcHiFo/yvlfs9m5h4uKGzyr8wZViNQYhHcMWAwhh6c 4dWA== X-Gm-Message-State: AOAM531p6lNwy7F50TDIx++obuDZbsEfod0/SYFh8A2sFhJgypcI8XBw GSzQqmVG8QPytf/hIJkw8A/Z6zdLOSw= X-Google-Smtp-Source: ABdhPJzvCdwIsTmCSvQ8UlT6d1nlUXbjl3Yv8d12hqQq/a0hYRMuvKURHHZ+KlsafGRXcC9HeCAZrQ== X-Received: by 2002:a17:903:32c7:b0:140:1596:fa08 with SMTP id i7-20020a17090332c700b001401596fa08mr26348342plr.33.1635305769901; Tue, 26 Oct 2021 20:36:09 -0700 (PDT) Received: from Laptop-X1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p1sm12080847pfo.143.2021.10.26.20.36.06 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 20:36:09 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: bpf@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , linux-kselftest@vger.kernel.org, "David S . Miller" , Jiri Benc , Hangbin Liu Subject: [PATCH bpf 1/4] selftests/bpf/xdp_redirect_multi: put the logs to tmp folder Date: Wed, 27 Oct 2021 11:35:50 +0800 Message-Id: <20211027033553.962413-2-liuhangbin@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027033553.962413-1-liuhangbin@gmail.com> References: <20211027033553.962413-1-liuhangbin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org The xdp_redirect_multi test logs are created in selftest folder and not cleaned after test. Let's creat a tmp dir and remove the logs after testing. Suggested-by: Jiri Benc Fixes: d23292476297 ("selftests/bpf: Add xdp_redirect_multi test") Signed-off-by: Hangbin Liu --- .../selftests/bpf/test_xdp_redirect_multi.sh | 35 ++++++++++--------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh index 1538373157e3..b20b96ba72ef 100755 --- a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh +++ b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh @@ -31,6 +31,7 @@ IFACES="" DRV_MODE="xdpgeneric xdpdrv xdpegress" PASS=0 FAIL=0 +LOG_DIR=$(mktemp -d) test_pass() { @@ -100,17 +101,17 @@ do_egress_tests() local mode=$1 # mac test - ip netns exec ns2 tcpdump -e -i veth0 -nn -l -e &> mac_ns1-2_${mode}.log & - ip netns exec ns3 tcpdump -e -i veth0 -nn -l -e &> mac_ns1-3_${mode}.log & + ip netns exec ns2 tcpdump -e -i veth0 -nn -l -e &> ${LOG_DIR}/mac_ns1-2_${mode}.log & + ip netns exec ns3 tcpdump -e -i veth0 -nn -l -e &> ${LOG_DIR}/mac_ns1-3_${mode}.log & sleep 0.5 ip netns exec ns1 ping 192.0.2.254 -i 0.1 -c 4 &> /dev/null sleep 0.5 pkill -9 tcpdump # mac check - grep -q "${veth_mac[2]} > ff:ff:ff:ff:ff:ff" mac_ns1-2_${mode}.log && \ + grep -q "${veth_mac[2]} > ff:ff:ff:ff:ff:ff" ${LOG_DIR}/mac_ns1-2_${mode}.log && \ test_pass "$mode mac ns1-2" || test_fail "$mode mac ns1-2" - grep -q "${veth_mac[3]} > ff:ff:ff:ff:ff:ff" mac_ns1-3_${mode}.log && \ + grep -q "${veth_mac[3]} > ff:ff:ff:ff:ff:ff" ${LOG_DIR}/mac_ns1-3_${mode}.log && \ test_pass "$mode mac ns1-3" || test_fail "$mode mac ns1-3" } @@ -121,9 +122,9 @@ do_ping_tests() # ping6 test: echo request should be redirect back to itself, not others ip netns exec ns1 ip neigh add 2001:db8::2 dev veth0 lladdr 00:00:00:00:00:02 - ip netns exec ns1 tcpdump -i veth0 -nn -l -e &> ns1-1_${mode}.log & - ip netns exec ns2 tcpdump -i veth0 -nn -l -e &> ns1-2_${mode}.log & - ip netns exec ns3 tcpdump -i veth0 -nn -l -e &> ns1-3_${mode}.log & + ip netns exec ns1 tcpdump -i veth0 -nn -l -e &> ${LOG_DIR}/ns1-1_${mode}.log & + ip netns exec ns2 tcpdump -i veth0 -nn -l -e &> ${LOG_DIR}/ns1-2_${mode}.log & + ip netns exec ns3 tcpdump -i veth0 -nn -l -e &> ${LOG_DIR}/ns1-3_${mode}.log & sleep 0.5 # ARP test ip netns exec ns1 ping 192.0.2.254 -i 0.1 -c 4 &> /dev/null @@ -135,32 +136,32 @@ do_ping_tests() pkill -9 tcpdump # All netns should receive the redirect arp requests - [ $(grep -c "who-has 192.0.2.254" ns1-1_${mode}.log) -gt 4 ] && \ + [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-1_${mode}.log) -gt 4 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-1" || \ test_fail "$mode arp(F_BROADCAST) ns1-1" - [ $(grep -c "who-has 192.0.2.254" ns1-2_${mode}.log) -le 4 ] && \ + [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-2_${mode}.log) -le 4 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-2" || \ test_fail "$mode arp(F_BROADCAST) ns1-2" - [ $(grep -c "who-has 192.0.2.254" ns1-3_${mode}.log) -le 4 ] && \ + [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-3_${mode}.log) -le 4 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-3" || \ test_fail "$mode arp(F_BROADCAST) ns1-3" # ns1 should not receive the redirect echo request, others should - [ $(grep -c "ICMP echo request" ns1-1_${mode}.log) -eq 4 ] && \ + [ $(grep -c "ICMP echo request" ${LOG_DIR}/ns1-1_${mode}.log) -eq 4 ] && \ test_pass "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-1" || \ test_fail "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-1" - [ $(grep -c "ICMP echo request" ns1-2_${mode}.log) -eq 4 ] && \ + [ $(grep -c "ICMP echo request" ${LOG_DIR}/ns1-2_${mode}.log) -eq 4 ] && \ test_pass "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-2" || \ test_fail "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-2" - [ $(grep -c "ICMP echo request" ns1-3_${mode}.log) -eq 4 ] && \ + [ $(grep -c "ICMP echo request" ${LOG_DIR}/ns1-3_${mode}.log) -eq 4 ] && \ test_pass "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-3" || \ test_fail "$mode IPv4 (F_BROADCAST|F_EXCLUDE_INGRESS) ns1-3" # ns1 should receive the echo request, ns2 should not - [ $(grep -c "ICMP6, echo request" ns1-1_${mode}.log) -eq 4 ] && \ + [ $(grep -c "ICMP6, echo request" ${LOG_DIR}/ns1-1_${mode}.log) -eq 4 ] && \ test_pass "$mode IPv6 (no flags) ns1-1" || \ test_fail "$mode IPv6 (no flags) ns1-1" - [ $(grep -c "ICMP6, echo request" ns1-2_${mode}.log) -eq 0 ] && \ + [ $(grep -c "ICMP6, echo request" ${LOG_DIR}/ns1-2_${mode}.log) -eq 0 ] && \ test_pass "$mode IPv6 (no flags) ns1-2" || \ test_fail "$mode IPv6 (no flags) ns1-2" } @@ -176,7 +177,7 @@ do_tests() xdpgeneric) drv_p="-S";; esac - ./xdp_redirect_multi $drv_p $IFACES &> xdp_redirect_${mode}.log & + ./xdp_redirect_multi $drv_p $IFACES &> ${LOG_DIR}/xdp_redirect_${mode}.log & xdp_pid=$! sleep 1 @@ -192,13 +193,13 @@ do_tests() trap clean_up 0 2 3 6 9 check_env -rm -f xdp_redirect_*.log ns*.log mac_ns*.log for mode in ${DRV_MODE}; do setup_ns $mode do_tests $mode clean_up done +rm -rf ${LOG_DIR} echo "Summary: PASS $PASS, FAIL $FAIL" [ $FAIL -eq 0 ] && exit 0 || exit 1 From patchwork Wed Oct 27 03:35:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 12586329 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6DDEEC433EF for ; Wed, 27 Oct 2021 03:36:16 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 50C48610EA for ; Wed, 27 Oct 2021 03:36:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239092AbhJ0Dij (ORCPT ); Tue, 26 Oct 2021 23:38:39 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36738 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239073AbhJ0Dii (ORCPT ); Tue, 26 Oct 2021 23:38:38 -0400 Received: from mail-pj1-x102b.google.com (mail-pj1-x102b.google.com [IPv6:2607:f8b0:4864:20::102b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2E58DC061570; Tue, 26 Oct 2021 20:36:14 -0700 (PDT) Received: by mail-pj1-x102b.google.com with SMTP id om14so1008045pjb.5; Tue, 26 Oct 2021 20:36:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=TcHSiB70tzVI/cskKWEiX2naPXPWA9ThGSeF8esH5bY=; b=hLvRz/fx6p4ElNoMwRY2by5CQYrp5DeDI0l25NYP4Jd1J65bPcaYipn/P9Hbeuy7JL w9juhCdcaJW5Bczyxqj6mBF8X1po+6IZuoFyA1kxO9XjM56sXlD9Q08foCO38r833iXI aDlSeHDcVEDB71BFg6qg4Wcj7BkNWnljpWp1iVF9qJpiFPahVFdBtp6Dbaq8BS1kk/yL MKzQSt7o5aWD6ZeABZZ7DjqgQsH0rif44kN3FiXQmj7Pd2pM3K6NvHsXFJpFlaqbXbt6 wxmE6SclmYyx+rXTySmaQ1k6stAspqaYfuPHEbYuFJHKS2UtuPLKjggRE5Xapas8f3HZ Odxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TcHSiB70tzVI/cskKWEiX2naPXPWA9ThGSeF8esH5bY=; b=62qvkoCVk0V/ws6o1YN5+G8gGBLCkLbnXX1Oiv+Hiaa8ciddh4L2EtLFx1hV6GPSTR GvUb+w8AlDanvKNry2TrkY4Nbcwji8rg0/GIwjWbjK2IK16Ryn61nKcjHlE24LIff6zN 4RcQwRqM588SVrCdSPhPSs+DXiYdH9+vRn89oCZvVafwpT/B06IAfyjaOsBVWWJbLZ7l JMEMtHxJmfRc63vraeQzNAkhm6Xt8wCXtit1zjsOfyM3BNZJZtsdmtEuB+mbCK5Be5fc qZJkSXkV3651w7dUfAr6rSHNPrpElybevJc7HBnxvQ7pAcTMAPyZPKlL1pQZt6hg93F5 u+Yw== X-Gm-Message-State: AOAM530VMEhLoFO68rF0rdkpWp1Fu0bmDsxQV8kUxa48AxGBnwVRWSW9 qh3W2taoeykZkSbWpUzEEMBIptyrrYE= X-Google-Smtp-Source: ABdhPJzJtnguW9PnDo8oGpETGUs9WSb/SgCq+IlqKmjRU5fwm1nQjd8+YAwKWx033Yl+OHQFuOyXHg== X-Received: by 2002:a17:90b:1d0a:: with SMTP id on10mr3108589pjb.218.1635305773579; Tue, 26 Oct 2021 20:36:13 -0700 (PDT) Received: from Laptop-X1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p1sm12080847pfo.143.2021.10.26.20.36.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 20:36:13 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: bpf@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , linux-kselftest@vger.kernel.org, "David S . Miller" , Jiri Benc , Hangbin Liu Subject: [PATCH bpf 2/4] selftests/bpf/xdp_redirect_multi: use arping to accurate the arp number Date: Wed, 27 Oct 2021 11:35:51 +0800 Message-Id: <20211027033553.962413-3-liuhangbin@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027033553.962413-1-liuhangbin@gmail.com> References: <20211027033553.962413-1-liuhangbin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org The arp request number triggered by ping none exist address is not accurate, which may lead the test false negative/positive. Change to use arping to accurate the arp number. Also do not use grep pattern match for dot. Suggested-by: Jiri Benc Fixes: d23292476297 ("selftests/bpf: Add xdp_redirect_multi test") Signed-off-by: Hangbin Liu --- tools/testing/selftests/bpf/test_xdp_redirect_multi.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh index b20b96ba72ef..c2a933caa32d 100755 --- a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh +++ b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh @@ -127,7 +127,7 @@ do_ping_tests() ip netns exec ns3 tcpdump -i veth0 -nn -l -e &> ${LOG_DIR}/ns1-3_${mode}.log & sleep 0.5 # ARP test - ip netns exec ns1 ping 192.0.2.254 -i 0.1 -c 4 &> /dev/null + ip netns exec ns1 arping -q -c 2 -I veth0 192.0.2.254 # IPv4 test ip netns exec ns1 ping 192.0.2.253 -i 0.1 -c 4 &> /dev/null # IPv6 test @@ -136,13 +136,13 @@ do_ping_tests() pkill -9 tcpdump # All netns should receive the redirect arp requests - [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-1_${mode}.log) -gt 4 ] && \ + [ $(grep -cF "who-has 192.0.2.254" ${LOG_DIR}/ns1-1_${mode}.log) -eq 4 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-1" || \ test_fail "$mode arp(F_BROADCAST) ns1-1" - [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-2_${mode}.log) -le 4 ] && \ + [ $(grep -cF "who-has 192.0.2.254" ${LOG_DIR}/ns1-2_${mode}.log) -eq 2 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-2" || \ test_fail "$mode arp(F_BROADCAST) ns1-2" - [ $(grep -c "who-has 192.0.2.254" ${LOG_DIR}/ns1-3_${mode}.log) -le 4 ] && \ + [ $(grep -cF "who-has 192.0.2.254" ${LOG_DIR}/ns1-3_${mode}.log) -eq 2 ] && \ test_pass "$mode arp(F_BROADCAST) ns1-3" || \ test_fail "$mode arp(F_BROADCAST) ns1-3" From patchwork Wed Oct 27 03:35:52 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 12586331 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8CBAAC433EF for ; Wed, 27 Oct 2021 03:36:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 72109610EA for ; Wed, 27 Oct 2021 03:36:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239110AbhJ0Din (ORCPT ); Tue, 26 Oct 2021 23:38:43 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36754 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239073AbhJ0Dim (ORCPT ); Tue, 26 Oct 2021 23:38:42 -0400 Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 379B6C061570; Tue, 26 Oct 2021 20:36:18 -0700 (PDT) Received: by mail-pj1-x102c.google.com with SMTP id t5-20020a17090a4e4500b001a0a284fcc2so4008501pjl.2; Tue, 26 Oct 2021 20:36:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=6xaYTr2yWjUBeCP+AGHBbGfXQcj2h+HSqZ43DJ6I6fE=; b=FFaeR/x9b0tGSn1FA75wFI26yb2L//bjXo6MTc2SVuEDURfqqH2bPVixeHwWGc7YeE ghbcK/y2G6thbWHPdQJs40CY30DGIvp9HidnYC9QNGDfdBgW2UrRBWgjK/viWXGaedpf Hc1J4m4X0ijPdqHy8kKfVzKPTLvlGGWnVQv88+86hV7dd6BVc/0l9viC4a+r5blEhnHQ 0WT85C5YWPVeaP17A3epz4QrIcCyICZIey3gbnrCo7q+wMHfMsR6aSVkQXaGTMi+6DCZ hYD1B7OP0slqFo/0L/e5+CKJ2/5ebCiDr/907VgLM+tdORWGFl0vqqUL2kruavjdKRj1 Hb6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6xaYTr2yWjUBeCP+AGHBbGfXQcj2h+HSqZ43DJ6I6fE=; b=4Ax/2b0eQ0ni2firA6hKhIyOld0TD7cWA3TIEhxjv+U3MThRfeWy0vOBQyQOjYtjZj P+FC4EABbJ2tPTCdR+s0FDwJqfj7gc2vOdRvyenImtkfFqZ9xKqiu6qEdY8HVUpD6kwF hip0igK4ovjaAy/anBotuY57HghJYFlsTgW8iLNfboV9N5vcACIPX4V/Be7E1zuGi2h9 J0C0SdPSh/ABso+kJuXaNRqKTOVeAltM+s7JbxP02UNLujfVfcIzWaUJcoWCpLZDNJen ++F0a2qy2FV1xVikVvRNyDCOXvOO2WUYf2cTxWpEeweTU/m8Uqt3YU7/Yzy6tSj/waMb Mfrw== X-Gm-Message-State: AOAM532eTrluWdXiOaLGz/RqDPZaubShbm2TZlG+hoR4snaWmvTWzrps AkFy99BgdK9/YpJ16YABHBRCRwMdcMo= X-Google-Smtp-Source: ABdhPJwhOvK9K1KwzLWsLl1L0veeKjT2YaiO93eILXxH0bHfrvRElLLZUnAOgsbjiBC+V4lfxcB7qg== X-Received: by 2002:a17:90b:4f90:: with SMTP id qe16mr3138876pjb.137.1635305777687; Tue, 26 Oct 2021 20:36:17 -0700 (PDT) Received: from Laptop-X1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p1sm12080847pfo.143.2021.10.26.20.36.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 20:36:17 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: bpf@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , linux-kselftest@vger.kernel.org, "David S . Miller" , Jiri Benc , Hangbin Liu Subject: [PATCH bpf 3/4] selftests/bpf/xdp_redirect_multi: give tcpdump a chance to terminate cleanly Date: Wed, 27 Oct 2021 11:35:52 +0800 Message-Id: <20211027033553.962413-4-liuhangbin@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027033553.962413-1-liuhangbin@gmail.com> References: <20211027033553.962413-1-liuhangbin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org No need to kill tcpdump with -9. Suggested-by: Jiri Benc Fixes: d23292476297 ("selftests/bpf: Add xdp_redirect_multi test") Signed-off-by: Hangbin Liu --- tools/testing/selftests/bpf/test_xdp_redirect_multi.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh index c2a933caa32d..37e347159ab4 100755 --- a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh +++ b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh @@ -106,7 +106,7 @@ do_egress_tests() sleep 0.5 ip netns exec ns1 ping 192.0.2.254 -i 0.1 -c 4 &> /dev/null sleep 0.5 - pkill -9 tcpdump + pkill tcpdump # mac check grep -q "${veth_mac[2]} > ff:ff:ff:ff:ff:ff" ${LOG_DIR}/mac_ns1-2_${mode}.log && \ @@ -133,7 +133,7 @@ do_ping_tests() # IPv6 test ip netns exec ns1 ping6 2001:db8::2 -i 0.1 -c 2 &> /dev/null sleep 0.5 - pkill -9 tcpdump + pkill tcpdump # All netns should receive the redirect arp requests [ $(grep -cF "who-has 192.0.2.254" ${LOG_DIR}/ns1-1_${mode}.log) -eq 4 ] && \ From patchwork Wed Oct 27 03:35:53 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Hangbin Liu X-Patchwork-Id: 12586333 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E37C4C433F5 for ; Wed, 27 Oct 2021 03:36:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C65EC610F8 for ; Wed, 27 Oct 2021 03:36:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239073AbhJ0Diu (ORCPT ); Tue, 26 Oct 2021 23:38:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36776 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239136AbhJ0Dir (ORCPT ); Tue, 26 Oct 2021 23:38:47 -0400 Received: from mail-pl1-x62f.google.com (mail-pl1-x62f.google.com [IPv6:2607:f8b0:4864:20::62f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 256B3C061570; Tue, 26 Oct 2021 20:36:22 -0700 (PDT) Received: by mail-pl1-x62f.google.com with SMTP id s24so1077946plp.0; Tue, 26 Oct 2021 20:36:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=pYPb2efyJzQDBhhqjROUGYTPzR3Jqq7+OMajb/dAad8=; b=BFqWmCbqZlHgNOPOrWFoxIH+MCAyXjsTf1gje85IHA99GeViPO/+n6IvksCATFf3EF WHVMKEoVzoJTWD1I1DEEmI3zyHjVnlR0XanbY+8BE2v5zobYZCOlyznK1Agdxhl6OjXs weJCBEoCKmIii1TcJ7C2UPuWGKgnnXj2uU9inZ485KbllLudfmIhC5Hm3wSW+AiI/W1M hl2SMlOSk7UeVIWUy9omaqj5aUWaBDMOf1ojHGdv2cSewVMumMeccyAJ6R0nwup7r6K3 fxO5gKqp/Z44/O04WbksAjVuhjZN8TkYp43ADld5CScJzaDrOnvGP2LKJrSKKMPd6ML+ gUpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=pYPb2efyJzQDBhhqjROUGYTPzR3Jqq7+OMajb/dAad8=; b=nk6tw/vEpaKob5R9/3mL794fZwi54KiyVAvzMnkzOqZj/BweiK7Teu+AunE8BIWd9R E9DvlIQ4W94uUh6kzQnZUMt3TVvOB77KNnS3J82Kq/cfH0UZjxyFNtRmWZRAvBWv9Esi Kk9CZiiTa91YqReuoFxWt9DpP1Dt7EqWwMOL//pObhR2YFMgRBUqkdI1VaoWA5l9chbM uD//WXwoUUHRas688Ffr2mRMYeKs7YlE2gWnZ7/GQdbQqyhZ9qBwn2xrblIf4whbTd1B wTMDzGtNkPcuES2rhz5t94dDZqwMCFnJUGCqXzzSEZ1+MwfAQut5SO3EUBLiyWqPt6WE 1n4Q== X-Gm-Message-State: AOAM5323xO/2iLD3o0Su/ANJ0AitFBs0AThtSGHObVpWp8ubpjIeZ62j 0suzFzV/9PyBCV0xRLF2VhSeVO+V6Cs= X-Google-Smtp-Source: ABdhPJxKchfPfShR0g8TsT8phBlwoKhort+IvGCE1nf3z9Uyj6JxGXFfShyH+MH7KTSL1iBbpPPsCw== X-Received: by 2002:a17:90b:4c4a:: with SMTP id np10mr3078589pjb.233.1635305781490; Tue, 26 Oct 2021 20:36:21 -0700 (PDT) Received: from Laptop-X1.redhat.com ([209.132.188.80]) by smtp.gmail.com with ESMTPSA id p1sm12080847pfo.143.2021.10.26.20.36.18 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 26 Oct 2021 20:36:21 -0700 (PDT) From: Hangbin Liu To: netdev@vger.kernel.org Cc: bpf@vger.kernel.org, Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , linux-kselftest@vger.kernel.org, "David S . Miller" , Jiri Benc , Hangbin Liu Subject: [PATCH bpf 4/4] selftests/bpf/xdp_redirect_multi: limit the tests in netns Date: Wed, 27 Oct 2021 11:35:53 +0800 Message-Id: <20211027033553.962413-5-liuhangbin@gmail.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211027033553.962413-1-liuhangbin@gmail.com> References: <20211027033553.962413-1-liuhangbin@gmail.com> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-kselftest@vger.kernel.org As I want to test both DEVMAP and DEVMAP_HASH in XDP multicast redirect, I limited DEVMAP max entries to a small value for performace. When the test runs after amount of interface creating/deleting tests. The interface index will exceed the map max entries and xdp_redirect_multi will error out with "Get interfacesInterface index to large". Fix this issue by limit the tests in netns and specify the ifindex when creating interfaces. Reported-by: Jiri Benc Fixes: d23292476297 ("selftests/bpf: Add xdp_redirect_multi test") Signed-off-by: Hangbin Liu --- .../selftests/bpf/test_xdp_redirect_multi.sh | 23 ++++++++++++------- .../selftests/bpf/xdp_redirect_multi.c | 4 ++-- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh index 37e347159ab4..bedff7aa7023 100755 --- a/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh +++ b/tools/testing/selftests/bpf/test_xdp_redirect_multi.sh @@ -2,11 +2,11 @@ # SPDX-License-Identifier: GPL-2.0 # # Test topology: -# - - - - - - - - - - - - - - - - - - - - - - - - - -# | veth1 veth2 veth3 | ... init net +# - - - - - - - - - - - - - - - - - - - +# | veth1 veth2 veth3 | ns0 # - -| - - - - - - | - - - - - - | - - # --------- --------- --------- -# | veth0 | | veth0 | | veth0 | ... +# | veth0 | | veth0 | | veth0 | # --------- --------- --------- # ns1 ns2 ns3 # @@ -51,6 +51,7 @@ clean_up() ip link del veth$i 2> /dev/null ip netns del ns$i 2> /dev/null done + ip netns del ns0 2> /dev/null } # Kselftest framework requirement - SKIP code is 4. @@ -78,10 +79,12 @@ setup_ns() mode="xdpdrv" fi + ip netns add ns0 for i in $(seq $NUM); do ip netns add ns$i - ip link add veth$i type veth peer name veth0 netns ns$i - ip link set veth$i up + ip -n ns$i link add veth0 index 2 type veth \ + peer name veth$i netns ns0 index $((1 + $i)) + ip -n ns0 link set veth$i up ip -n ns$i link set veth0 up ip -n ns$i addr add 192.0.2.$i/24 dev veth0 @@ -92,7 +95,7 @@ setup_ns() xdp_dummy.o sec xdp_dummy &> /dev/null || \ { test_fail "Unable to load dummy xdp" && exit 1; } IFACES="$IFACES veth$i" - veth_mac[$i]=$(ip link show veth$i | awk '/link\/ether/ {print $2}') + veth_mac[$i]=$(ip -n ns0 link show veth$i | awk '/link\/ether/ {print $2}') done } @@ -177,9 +180,13 @@ do_tests() xdpgeneric) drv_p="-S";; esac - ./xdp_redirect_multi $drv_p $IFACES &> ${LOG_DIR}/xdp_redirect_${mode}.log & + ip netns exec ns0 ./xdp_redirect_multi $drv_p $IFACES &> ${LOG_DIR}/xdp_redirect_${mode}.log & xdp_pid=$! sleep 1 + if ! ps -p $xdp_pid > /dev/null; then + test_fail "$mode xdp_redirect_multi start failed" + return 1 + fi if [ "$mode" = "xdpegress" ]; then do_egress_tests $mode @@ -190,7 +197,7 @@ do_tests() kill $xdp_pid } -trap clean_up 0 2 3 6 9 +trap clean_up EXIT check_env diff --git a/tools/testing/selftests/bpf/xdp_redirect_multi.c b/tools/testing/selftests/bpf/xdp_redirect_multi.c index 3696a8f32c23..f5ffba341c17 100644 --- a/tools/testing/selftests/bpf/xdp_redirect_multi.c +++ b/tools/testing/selftests/bpf/xdp_redirect_multi.c @@ -129,7 +129,7 @@ int main(int argc, char **argv) goto err_out; } - printf("Get interfaces"); + printf("Get interfaces:"); for (i = 0; i < MAX_IFACE_NUM && argv[optind + i]; i++) { ifaces[i] = if_nametoindex(argv[optind + i]); if (!ifaces[i]) @@ -139,7 +139,7 @@ int main(int argc, char **argv) goto err_out; } if (ifaces[i] > MAX_INDEX_NUM) { - printf("Interface index to large\n"); + printf(" interface index too large\n"); goto err_out; } printf(" %d", ifaces[i]);