From patchwork Tue Feb 13 16:37:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 872969 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="fpO1Nw56"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zgpBB2bDyz9s7M for ; Wed, 14 Feb 2018 03:38:10 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965347AbeBMQiI (ORCPT ); Tue, 13 Feb 2018 11:38:08 -0500 Received: from mail-pl0-f68.google.com ([209.85.160.68]:42869 "EHLO mail-pl0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934943AbeBMQho (ORCPT ); Tue, 13 Feb 2018 11:37:44 -0500 Received: by mail-pl0-f68.google.com with SMTP id 31so1368140ple.9 for ; Tue, 13 Feb 2018 08:37:44 -0800 (PST) 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; bh=Ggwy1YLcqluVF6ahoksY9yG1M/iFbZ3Ic+HzEuk+4eQ=; b=fpO1Nw56KgTRm1AXTW2+caVoTyirQpb+neh8BXxfVZgj/06s5LqzOZgRKFfxtYxi9b u0FYYTUJTpylUToEzp7BmdpLOgvZyuGGhOnYgHFyU1QXTbuiAe4CBY8bMIg8TqydyhJ9 7t7kicp4N3/8nzSUwiSd8Waa79M3PrROjhwjEaxA+iuXj3YyRsflHQLiWbppJ2RzWwij h/ASQL6rTAfbHb5WfhDMxrIcJEbZKsfJ8GJdo+Cv/uP8HesYh4lFOp8ghg+3oQoryAHb 0vdW7DuzH5iRjDNabzAK179P9sxNDUfTqOqKQRWoG91/50JDcWQNZe3EB9XzCos0Tq+m AqYA== 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; bh=Ggwy1YLcqluVF6ahoksY9yG1M/iFbZ3Ic+HzEuk+4eQ=; b=UfSG76MX0Yixrz8TtM+v49+vGIyUU9rt3RVCeDNngyBxymfVNkrVzjBcJ5nI6gmg/f FeCJnD7kj4DftS4F8XOk+46Jz2g/bA4s3YHYdEf4WVKl52gJwwRipv3EDIRCoXn+4uvk upfBA6CzxU8MqwfFnX+3Bfd2BaoUGJmFZl8pLuCmzkmQQgaAOdm/4WGzfXjNfgmMAcDm goxHKLuquhI1VNDqzZYh2IoaLFP+YQ86pyWb0zddXJn6F69foh1aJOU3/btfAQ4y/t4B anr52/RWQFbL53EAcTvVJciDMxbj2PWXLQoffj6Lr5O/3tPMwWijiahmX1KHFBI1yH6D uM5w== X-Gm-Message-State: APf1xPCRSjmmZ7aLlGDhzilKBFVP+txAi0VjonhoH2q42xcQ3rqGoQxw tIn8TxCC+V/K5jR68BsH8zPJyA== X-Google-Smtp-Source: AH8x227vKciRasX2uhEWE3JZ1n26LNlht81m9+qyJG6rnUUXH5d0vQmG7ejq5/4alBuV61tc0obgSQ== X-Received: by 2002:a17:902:860b:: with SMTP id f11-v6mr1689381plo.135.1518539863278; Tue, 13 Feb 2018 08:37:43 -0800 (PST) Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com. [216.129.126.126]) by smtp.googlemail.com with ESMTPSA id i69sm29563334pfk.24.2018.02.13.08.37.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 08:37:42 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org Cc: idosch@mellanox.com, David Ahern Subject: [PATCH net-next 1/4] selftests: fib_tests: simplify ip commands in a namespace Date: Tue, 13 Feb 2018 08:37:33 -0800 Message-Id: <20180213163736.1538-2-dsahern@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180213163736.1538-1-dsahern@gmail.com> References: <20180213163736.1538-1-dsahern@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org 'ip netns exec testns ip' is more efficiently handled using 'ip -netns'; runs the ip command after switching the namespace and avoids an exec. Signed-off-by: David Ahern --- tools/testing/selftests/net/fib_tests.sh | 210 +++++++++++++++---------------- 1 file changed, 105 insertions(+), 105 deletions(-) diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh index a9154eefb2e2..672f263f8f53 100755 --- a/tools/testing/selftests/net/fib_tests.sh +++ b/tools/testing/selftests/net/fib_tests.sh @@ -34,23 +34,23 @@ fib_unreg_unicast_test() netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_err $? - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy0 check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_fail $? ip netns del testns @@ -68,40 +68,40 @@ fib_unreg_multipath_test() netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip link add dummy1 type dummy - ip netns exec testns ip link set dev dummy1 up + ip -netns testns link add dummy1 type dummy + ip -netns testns link set dev dummy1 up - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip address add 192.0.2.1/24 dev dummy1 - ip netns exec testns ip -6 address add 2001:db8:2::1/64 dev dummy1 + ip -netns testns address add 192.0.2.1/24 dev dummy1 + ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy1 - ip netns exec testns ip route add 203.0.113.0/24 \ + ip -netns testns route add 203.0.113.0/24 \ nexthop via 198.51.100.2 dev dummy0 \ nexthop via 192.0.2.2 dev dummy1 - ip netns exec testns ip -6 route add 2001:db8:3::/64 \ + ip -netns testns -6 route add 2001:db8:3::/64 \ nexthop via 2001:db8:1::2 dev dummy0 \ nexthop via 2001:db8:2::2 dev dummy1 - ip netns exec testns ip route get fibmatch 203.0.113.1 &> /dev/null + ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null check_err $? - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy0 check_err $? - ip netns exec testns ip route get fibmatch 203.0.113.1 &> /dev/null + ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null # In IPv6 we do not flush the entire multipath route. check_err $? - ip netns exec testns ip link del dev dummy1 + ip -netns testns link del dev dummy1 ip netns del testns @@ -126,26 +126,26 @@ fib_down_unicast_test() netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_err $? - ip netns exec testns ip link set dev dummy0 down + ip -netns testns link set dev dummy0 down check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_fail $? - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy0 ip netns del testns @@ -161,31 +161,31 @@ fib_down_multipath_test_do() local down_dev=$1 local up_dev=$2 - ip netns exec testns ip route get fibmatch 203.0.113.1 \ + ip -netns testns route get fibmatch 203.0.113.1 \ oif $down_dev &> /dev/null check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 \ + ip -netns testns -6 route get fibmatch 2001:db8:3::1 \ oif $down_dev &> /dev/null check_fail $? - ip netns exec testns ip route get fibmatch 203.0.113.1 \ + ip -netns testns route get fibmatch 203.0.113.1 \ oif $up_dev &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 \ + ip -netns testns -6 route get fibmatch 2001:db8:3::1 \ oif $up_dev &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 203.0.113.1 | \ + ip -netns testns route get fibmatch 203.0.113.1 | \ grep $down_dev | grep -q "dead linkdown" check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 | \ + ip -netns testns -6 route get fibmatch 2001:db8:3::1 | \ grep $down_dev | grep -q "dead linkdown" check_err $? - ip netns exec testns ip route get fibmatch 203.0.113.1 | \ + ip -netns testns route get fibmatch 203.0.113.1 | \ grep $up_dev | grep -q "dead linkdown" check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 | \ + ip -netns testns -6 route get fibmatch 2001:db8:3::1 | \ grep $up_dev | grep -q "dead linkdown" check_fail $? } @@ -196,52 +196,52 @@ fib_down_multipath_test() netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip link add dummy1 type dummy - ip netns exec testns ip link set dev dummy1 up + ip -netns testns link add dummy1 type dummy + ip -netns testns link set dev dummy1 up - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip address add 192.0.2.1/24 dev dummy1 - ip netns exec testns ip -6 address add 2001:db8:2::1/64 dev dummy1 + ip -netns testns address add 192.0.2.1/24 dev dummy1 + ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy1 - ip netns exec testns ip route add 203.0.113.0/24 \ + ip -netns testns route add 203.0.113.0/24 \ nexthop via 198.51.100.2 dev dummy0 \ nexthop via 192.0.2.2 dev dummy1 - ip netns exec testns ip -6 route add 2001:db8:3::/64 \ + ip -netns testns -6 route add 2001:db8:3::/64 \ nexthop via 2001:db8:1::2 dev dummy0 \ nexthop via 2001:db8:2::2 dev dummy1 - ip netns exec testns ip route get fibmatch 203.0.113.1 &> /dev/null + ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null check_err $? - ip netns exec testns ip link set dev dummy0 down + ip -netns testns link set dev dummy0 down check_err $? fib_down_multipath_test_do "dummy0" "dummy1" - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link set dev dummy0 up check_err $? - ip netns exec testns ip link set dev dummy1 down + ip -netns testns link set dev dummy1 down check_err $? fib_down_multipath_test_do "dummy1" "dummy0" - ip netns exec testns ip link set dev dummy0 down + ip -netns testns link set dev dummy0 down check_err $? - ip netns exec testns ip route get fibmatch 203.0.113.1 &> /dev/null + ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:3::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null check_fail $? - ip netns exec testns ip link del dev dummy1 - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy1 + ip -netns testns link del dev dummy0 ip netns del testns @@ -267,56 +267,56 @@ fib_carrier_local_test() # Local routes should not be affected when carrier changes. netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip link set dev dummy0 carrier on + ip -netns testns link set dev dummy0 carrier on - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 198.51.100.1 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.1 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::1 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.1 | \ + ip -netns testns route get fibmatch 198.51.100.1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::1 | \ + ip -netns testns -6 route get fibmatch 2001:db8:1::1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip link set dev dummy0 carrier off + ip -netns testns link set dev dummy0 carrier off - ip netns exec testns ip route get fibmatch 198.51.100.1 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.1 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::1 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.1 | \ + ip -netns testns route get fibmatch 198.51.100.1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::1 | \ + ip -netns testns -6 route get fibmatch 2001:db8:1::1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip address add 192.0.2.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:2::1/64 dev dummy0 + ip -netns testns address add 192.0.2.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 192.0.2.1 &> /dev/null + ip -netns testns route get fibmatch 192.0.2.1 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:2::1 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:2::1 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 192.0.2.1 | \ + ip -netns testns route get fibmatch 192.0.2.1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:2::1 | \ + ip -netns testns -6 route get fibmatch 2001:db8:2::1 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy0 ip netns del testns @@ -333,56 +333,56 @@ fib_carrier_unicast_test() netns_create "testns" - ip netns exec testns ip link add dummy0 type dummy - ip netns exec testns ip link set dev dummy0 up + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up - ip netns exec testns ip link set dev dummy0 carrier on + ip -netns testns link set dev dummy0 carrier on - ip netns exec testns ip address add 198.51.100.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:1::1/64 dev dummy0 + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.2 | \ + ip -netns testns route get fibmatch 198.51.100.2 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 | \ + ip -netns testns -6 route get fibmatch 2001:db8:1::2 | \ grep -q "linkdown" check_fail $? - ip netns exec testns ip link set dev dummy0 carrier off + ip -netns testns link set dev dummy0 carrier off - ip netns exec testns ip route get fibmatch 198.51.100.2 &> /dev/null + ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 198.51.100.2 | \ + ip -netns testns route get fibmatch 198.51.100.2 | \ grep -q "linkdown" check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:1::2 | \ + ip -netns testns -6 route get fibmatch 2001:db8:1::2 | \ grep -q "linkdown" check_err $? - ip netns exec testns ip address add 192.0.2.1/24 dev dummy0 - ip netns exec testns ip -6 address add 2001:db8:2::1/64 dev dummy0 + ip -netns testns address add 192.0.2.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy0 - ip netns exec testns ip route get fibmatch 192.0.2.2 &> /dev/null + ip -netns testns route get fibmatch 192.0.2.2 &> /dev/null check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:2::2 &> /dev/null + ip -netns testns -6 route get fibmatch 2001:db8:2::2 &> /dev/null check_err $? - ip netns exec testns ip route get fibmatch 192.0.2.2 | \ + ip -netns testns route get fibmatch 192.0.2.2 | \ grep -q "linkdown" check_err $? - ip netns exec testns ip -6 route get fibmatch 2001:db8:2::2 | \ + ip -netns testns -6 route get fibmatch 2001:db8:2::2 | \ grep -q "linkdown" check_err $? - ip netns exec testns ip link del dev dummy0 + ip -netns testns link del dev dummy0 ip netns del testns From patchwork Tue Feb 13 16:37:34 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 872965 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="hM1rN3W2"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zgp9p5bTmz9s7M for ; Wed, 14 Feb 2018 03:37:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965286AbeBMQhr (ORCPT ); Tue, 13 Feb 2018 11:37:47 -0500 Received: from mail-pg0-f47.google.com ([74.125.83.47]:44720 "EHLO mail-pg0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965235AbeBMQhq (ORCPT ); Tue, 13 Feb 2018 11:37:46 -0500 Received: by mail-pg0-f47.google.com with SMTP id j9so208424pgp.11 for ; Tue, 13 Feb 2018 08:37:45 -0800 (PST) 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; bh=wxsQBeQZKlUxKJ0qzpq3/bLuburj8xg/5wnzeNbMegk=; b=hM1rN3W2wP+wX9A0On3RLSFMT80OShg+Y6LgnM2AE4th7EVGnLr5fvkj7JYm9kg6Sq lmrmgbxahjBO70grsktyKagnoG5k31306niQGzfQMmVbhnIIX4WQUxn1uk2GvLcrlgG8 hKHRgcYYYejRbudpSuWobxyYZdJxUeULKimIBG+95nRGycXYZEW6iYQw4aHgYjkYE0GL EisJD7m3Z9FB3ODcTPxpn+na14P192FtSxGuvjisq3Riuwrs5buMsj+KWn05OfeFeUgc xWSJHbctkM40A9/Qmg2180lG/XbnxKNakI8av6NtMwdaFn17uZFNWSjqKIpKmVz2xfpF ZMmg== 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; bh=wxsQBeQZKlUxKJ0qzpq3/bLuburj8xg/5wnzeNbMegk=; b=oVpu4+1UaciRo8mscj8wV8TEG5GZTzT/q4XBi3s9y80MARjKnB8vaT2BDOXJ3oe9yI LlJ0cUZj5xwdBLM8UNlkG7aIOFJg02+vEJsK/A0hpj5EctNf66rzYAU+3VZvryxz5fXF xrdmyFjwGdxL/EmdIUdwozYjvXqkGi+DDGEXcDEhejiFTsWnosGXWPeRnfMAeEkl7at9 oeMJ2/61nu4LT2b1jlalIEmRrvi4P82yBD4Zht2e/DTv1DBHP4QxR2+QEf2In7z0M9oW uBhAqv1NEGODz5cj7AP2kZNYPD8rFB5dwVTwXkQWi3nZMWZ5KsNgoiAPdovlrEsTIP0H aCXw== X-Gm-Message-State: APf1xPAjVIU2eIQR3dWMJowAUiZfP/UlwoS4VI4S9fyKwkbFhgGq6xIq +bvi7n8nrtMiDD6RKvQfTbU1sg== X-Google-Smtp-Source: AH8x224f43eHPliCEDlxEiN6BsZ5boBUMOyvYcMPmdGkpiuXMPQXPtFuml8Nf2gafoDBoAWWUFz2xQ== X-Received: by 10.99.125.13 with SMTP id y13mr1432213pgc.282.1518539864957; Tue, 13 Feb 2018 08:37:44 -0800 (PST) Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com. [216.129.126.126]) by smtp.googlemail.com with ESMTPSA id i69sm29563334pfk.24.2018.02.13.08.37.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 08:37:43 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org Cc: idosch@mellanox.com, David Ahern Subject: [PATCH net-next 2/4] selftests: fib_tests: Make test results more verbose Date: Tue, 13 Feb 2018 08:37:34 -0800 Message-Id: <20180213163736.1538-3-dsahern@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180213163736.1538-1-dsahern@gmail.com> References: <20180213163736.1538-1-dsahern@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org fib_tests.sh is failing in a VM: $ fib_tests.sh Running netdev unregister tests PASS: unicast route test PASS: multipath route test Running netdev down tests PASS: unicast route test PASS: multipath route test Running netdev carrier change tests PASS: local route carrier test FAIL: unicast route carrier test The last test corresponds to fib_carrier_unicast_test which 12 places that could be failing. Be more verbose in the output so a failure is easier to track down and separate test setup failures with set -e and set +e pairs. With the verbose logging it is easier to see which checks are failing: $fib_tests.sh Single path route carrier test .... Carrier down IPv4 fibmatch [ OK ] IPv6 fibmatch [ OK ] IPv4 linkdown flag set [FAIL] IPv6 linkdown flag set [FAIL] Second address added with carrier down IPv4 fibmatch [ OK ] IPv6 fibmatch [ OK ] IPv4 linkdown flag set [FAIL] IPv6 linkdown flag set [ OK ] Signed-off-by: David Ahern --- tools/testing/selftests/net/fib_tests.sh | 248 +++++++++++++++++-------------- 1 file changed, 135 insertions(+), 113 deletions(-) diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh index 672f263f8f53..d4e0b5cb4355 100755 --- a/tools/testing/selftests/net/fib_tests.sh +++ b/tools/testing/selftests/net/fib_tests.sh @@ -6,17 +6,25 @@ ret=0 -check_err() -{ - if [ $ret -eq 0 ]; then - ret=$1 - fi -} +PAUSE_ON_FAIL=${PAUSE_ON_FAIL:=no} -check_fail() +log_test() { - if [ $1 -eq 0 ]; then + local rc=$1 + local expected=$2 + local msg="$3" + + if [ ${rc} -eq ${expected} ]; then + printf " %-60s [ OK ]\n" "${msg}" + else ret=1 + printf " %-60s [FAIL]\n" "${msg}" + if [ "${PAUSE_ON_FAIL}" = "yes" ]; then + echo + echo "hit enter to continue, 'q' to quit" + read a + [ "$a" = "q" ] && exit 1 + fi fi } @@ -30,42 +38,44 @@ netns_create() fib_unreg_unicast_test() { - ret=0 + echo + echo "Single path route test" + set -e netns_create "testns" ip -netns testns link add dummy0 type dummy ip -netns testns link set dev dummy0 up - ip -netns testns address add 198.51.100.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 + set +e + echo " Start point" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" + set -e ip -netns testns link del dev dummy0 - check_err $? + set +e + echo " Nexthop device deleted" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_fail $? + log_test $? 2 "IPv4 fibmatch - no route" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_fail $? + log_test $? 2 "IPv6 fibmatch - no route" ip netns del testns - - if [ $ret -ne 0 ]; then - echo "FAIL: unicast route test" - return 1 - fi - echo "PASS: unicast route test" } fib_unreg_multipath_test() { - ret=0 + echo + echo "Multipath route test" + + set -e netns_create "testns" ip -netns testns link add dummy0 type dummy @@ -86,44 +96,49 @@ fib_unreg_multipath_test() ip -netns testns -6 route add 2001:db8:3::/64 \ nexthop via 2001:db8:1::2 dev dummy0 \ nexthop via 2001:db8:2::2 dev dummy1 + set +e + echo " Start point" ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" + set -e ip -netns testns link del dev dummy0 - check_err $? + set +e + echo " One nexthop device deleted" ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null - check_fail $? + log_test $? 2 "IPv4 - multipath route removed on delete" + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null # In IPv6 we do not flush the entire multipath route. - check_err $? + log_test $? 0 "IPv6 - multipath down to single path" + set -e ip -netns testns link del dev dummy1 + set +e - ip netns del testns + echo " Second nexthop device deleted" + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null + log_test $? 2 "IPv6 - no route" - if [ $ret -ne 0 ]; then - echo "FAIL: multipath route test" - return 1 - fi - echo "PASS: multipath route test" + ip netns del testns } fib_unreg_test() { - echo "Running netdev unregister tests" - fib_unreg_unicast_test fib_unreg_multipath_test } fib_down_unicast_test() { - ret=0 + echo + echo "Single path, admin down" + set -e netns_create "testns" ip -netns testns link add dummy0 type dummy @@ -131,29 +146,27 @@ fib_down_unicast_test() ip -netns testns address add 198.51.100.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 + set +e + echo " Start point" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" + set -e ip -netns testns link set dev dummy0 down - check_err $? + set +e + echo " Route deleted on down" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_fail $? + log_test $? 2 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_fail $? + log_test $? 2 "IPv6 fibmatch" ip -netns testns link del dev dummy0 ip netns del testns - - if [ $ret -ne 0 ]; then - echo "FAIL: unicast route test" - return 1 - fi - echo "PASS: unicast route test" } fib_down_multipath_test_do() @@ -163,37 +176,39 @@ fib_down_multipath_test_do() ip -netns testns route get fibmatch 203.0.113.1 \ oif $down_dev &> /dev/null - check_fail $? + log_test $? 2 "IPv4 fibmatch on down device" ip -netns testns -6 route get fibmatch 2001:db8:3::1 \ oif $down_dev &> /dev/null - check_fail $? + log_test $? 2 "IPv6 fibmatch on down device" ip -netns testns route get fibmatch 203.0.113.1 \ oif $up_dev &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch on up device" ip -netns testns -6 route get fibmatch 2001:db8:3::1 \ oif $up_dev &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch on up device" ip -netns testns route get fibmatch 203.0.113.1 | \ grep $down_dev | grep -q "dead linkdown" - check_err $? + log_test $? 0 "IPv4 flags on down device" ip -netns testns -6 route get fibmatch 2001:db8:3::1 | \ grep $down_dev | grep -q "dead linkdown" - check_err $? + log_test $? 0 "IPv6 flags on down device" ip -netns testns route get fibmatch 203.0.113.1 | \ grep $up_dev | grep -q "dead linkdown" - check_fail $? + log_test $? 1 "IPv4 flags on up device" ip -netns testns -6 route get fibmatch 2001:db8:3::1 | \ grep $up_dev | grep -q "dead linkdown" - check_fail $? + log_test $? 1 "IPv6 flags on up device" } fib_down_multipath_test() { - ret=0 + echo + echo "Admin down multipath" + set -e netns_create "testns" ip -netns testns link add dummy0 type dummy @@ -214,57 +229,58 @@ fib_down_multipath_test() ip -netns testns -6 route add 2001:db8:3::/64 \ nexthop via 2001:db8:1::2 dev dummy0 \ nexthop via 2001:db8:2::2 dev dummy1 + set +e + echo " Verify start point" ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" + ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" + set -e ip -netns testns link set dev dummy0 down - check_err $? + set +e + echo " One device down, one up" fib_down_multipath_test_do "dummy0" "dummy1" + set -e ip -netns testns link set dev dummy0 up - check_err $? ip -netns testns link set dev dummy1 down - check_err $? + set +e + echo " Other device down and up" fib_down_multipath_test_do "dummy1" "dummy0" + set -e ip -netns testns link set dev dummy0 down - check_err $? + set +e + echo " Both devices down" ip -netns testns route get fibmatch 203.0.113.1 &> /dev/null - check_fail $? + log_test $? 2 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null - check_fail $? + log_test $? 2 "IPv6 fibmatch" ip -netns testns link del dev dummy1 ip -netns testns link del dev dummy0 - ip netns del testns - - if [ $ret -ne 0 ]; then - echo "FAIL: multipath route test" - return 1 - fi - echo "PASS: multipath route test" } fib_down_test() { - echo "Running netdev down tests" - fib_down_unicast_test fib_down_multipath_test } +# Local routes should not be affected when carrier changes. fib_carrier_local_test() { - ret=0 + echo + echo "Local carrier tests - single path" - # Local routes should not be affected when carrier changes. + set -e netns_create "testns" ip -netns testns link add dummy0 type dummy @@ -274,65 +290,71 @@ fib_carrier_local_test() ip -netns testns address add 198.51.100.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 + set +e + echo " Start point" ip -netns testns route get fibmatch 198.51.100.1 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::1 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 198.51.100.1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv4 - no linkdown flag" ip -netns testns -6 route get fibmatch 2001:db8:1::1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv6 - no linkdown flag" + set -e ip -netns testns link set dev dummy0 carrier off + set +e + echo " Carrier off on nexthop" ip -netns testns route get fibmatch 198.51.100.1 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::1 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 198.51.100.1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv4 - linkdown flag set" ip -netns testns -6 route get fibmatch 2001:db8:1::1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv6 - linkdown flag set" + set -e ip -netns testns address add 192.0.2.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy0 + set +e + echo " Route to local address with carrier down" ip -netns testns route get fibmatch 192.0.2.1 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:2::1 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 192.0.2.1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv4 linkdown flag set" ip -netns testns -6 route get fibmatch 2001:db8:2::1 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv6 linkdown flag set" ip -netns testns link del dev dummy0 ip netns del testns - - if [ $ret -ne 0 ]; then - echo "FAIL: local route carrier test" - return 1 - fi - echo "PASS: local route carrier test" } fib_carrier_unicast_test() { ret=0 + echo + echo "Single path route carrier test" + netns_create "testns" + set -e ip -netns testns link add dummy0 type dummy ip -netns testns link set dev dummy0 up @@ -340,63 +362,63 @@ fib_carrier_unicast_test() ip -netns testns address add 198.51.100.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 + set +e + echo " Start point" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 198.51.100.2 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv4 no linkdown flag" ip -netns testns -6 route get fibmatch 2001:db8:1::2 | \ grep -q "linkdown" - check_fail $? + log_test $? 1 "IPv6 no linkdown flag" + set -e ip -netns testns link set dev dummy0 carrier off + set +e + echo " Carrier down" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 198.51.100.2 | \ grep -q "linkdown" - check_err $? + log_test $? 0 "IPv4 linkdown flag set" ip -netns testns -6 route get fibmatch 2001:db8:1::2 | \ grep -q "linkdown" - check_err $? + log_test $? 0 "IPv6 linkdown flag set" + set -e ip -netns testns address add 192.0.2.1/24 dev dummy0 ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy0 + set +e + echo " Second address added with carrier down" ip -netns testns route get fibmatch 192.0.2.2 &> /dev/null - check_err $? + log_test $? 0 "IPv4 fibmatch" ip -netns testns -6 route get fibmatch 2001:db8:2::2 &> /dev/null - check_err $? + log_test $? 0 "IPv6 fibmatch" ip -netns testns route get fibmatch 192.0.2.2 | \ grep -q "linkdown" - check_err $? + log_test $? 0 "IPv4 linkdown flag set" ip -netns testns -6 route get fibmatch 2001:db8:2::2 | \ grep -q "linkdown" - check_err $? + log_test $? 0 "IPv6 linkdown flag set" ip -netns testns link del dev dummy0 ip netns del testns - - if [ $ret -ne 0 ]; then - echo "FAIL: unicast route carrier test" - return 1 - fi - echo "PASS: unicast route carrier test" } fib_carrier_test() { - echo "Running netdev carrier change tests" - fib_carrier_local_test fib_carrier_unicast_test } From patchwork Tue Feb 13 16:37:35 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 872968 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="KSGrbFsy"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zgpB03tf4z9s7M for ; Wed, 14 Feb 2018 03:38:00 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965336AbeBMQh6 (ORCPT ); Tue, 13 Feb 2018 11:37:58 -0500 Received: from mail-pg0-f66.google.com ([74.125.83.66]:42303 "EHLO mail-pg0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965253AbeBMQhr (ORCPT ); Tue, 13 Feb 2018 11:37:47 -0500 Received: by mail-pg0-f66.google.com with SMTP id y8so213300pgr.9 for ; Tue, 13 Feb 2018 08:37:47 -0800 (PST) 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; bh=5hB9WWSBHx2gQV4sgZ5S+zEJb20nVR31jBEQcn/2XY8=; b=KSGrbFsyPZeoRbEhGq4ZahdrECS2rZRps3LJAIR1/Vr3jD+UcWXunBAuOToxIK1nn6 E+v6al9TOvMSFqLpbV9rKg7+xPnu1wNgqDMjLeYY5uti7X8Y8yiRotEsk3kwf0cTzo5W Uq5f4wk415icQv57WDtWv7GeOePOY1LEfro6Z6GY5MjvxNYUjCp7lonPllxi/mORXq3j OcXiPbE6lZvhmrfks2NwYmFOS29RmNPzHQIrxZzeslgfeJUAnP54ppyAmc3rBstvA312 1zRg1jU9H5xSRnoM8UK/ERjbTwW4B+5ebMKARD5gPmvK+J6t680GfaviIJlWmyGSoVd1 yK/Q== 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; bh=5hB9WWSBHx2gQV4sgZ5S+zEJb20nVR31jBEQcn/2XY8=; b=iAdBTJutO5NcSuVjCN2+9aIjxXA1SfviWu20r8WdbLwnjytT4AWnY3tEE+EfIk0jDS qgc0TVuS59aP8TekxCC/mSuacFYaDTT5NVTrdlIgNMm56pOhv+NhoOjNjgwjccFwMluk TiBe78wQU88LCcb2zUSEud4CS+X+WTKKRk2X+G0w6dzY6j4KCMkCh9CpwZPw76Okraaw PEIraj50ybuoVO73htEzsLFUfKqQfbed8zCbCr1pRCexvmRtTWZzM9pPUCRzV974q2F8 TWpNdxfdPR/ed7gHQrdrajoKN2vvOTkiuhdwTJgWLnqImfXTEicbpDS1ayd2fzJfd4oF gkaQ== X-Gm-Message-State: APf1xPDMNglMJoUoOJ4wc1phoBs2CpD9nbokN4vmlT/nsVQsKLRaJfF0 DV0vkheoW5Jq3vXrBsqTxeZLpw== X-Google-Smtp-Source: AH8x227Blb/IMV9ewZF9VB9NmffNcqNylJ4R5q/9UAhgq5E00e7tDEvkRz0BOkJoHSyiHcdRD1UNEw== X-Received: by 10.99.96.200 with SMTP id u191mr1461891pgb.252.1518539866128; Tue, 13 Feb 2018 08:37:46 -0800 (PST) Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com. [216.129.126.126]) by smtp.googlemail.com with ESMTPSA id i69sm29563334pfk.24.2018.02.13.08.37.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 08:37:45 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org Cc: idosch@mellanox.com, David Ahern Subject: [PATCH net-next 3/4] selftests: fib_tests: Move admin of dummy0 to helpers Date: Tue, 13 Feb 2018 08:37:35 -0800 Message-Id: <20180213163736.1538-4-dsahern@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180213163736.1538-1-dsahern@gmail.com> References: <20180213163736.1538-1-dsahern@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Move setup and teardown of testns and dummy0 to helpers. Signed-off-by: David Ahern --- tools/testing/selftests/net/fib_tests.sh | 100 +++++++++++-------------------- 1 file changed, 34 insertions(+), 66 deletions(-) diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh index d4e0b5cb4355..e113cfd659fc 100755 --- a/tools/testing/selftests/net/fib_tests.sh +++ b/tools/testing/selftests/net/fib_tests.sh @@ -28,12 +28,24 @@ log_test() fi } -netns_create() +setup() { - local testns=$1 + set -e + ip netns add testns + ip -netns testns link set dev lo up + + ip -netns testns link add dummy0 type dummy + ip -netns testns link set dev dummy0 up + ip -netns testns address add 198.51.100.1/24 dev dummy0 + ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 + set +e + +} - ip netns add $testns - ip netns exec $testns ip link set dev lo up +cleanup() +{ + ip -netns testns link del dev dummy0 &> /dev/null + ip netns del testns } fib_unreg_unicast_test() @@ -41,14 +53,7 @@ fib_unreg_unicast_test() echo echo "Single path route test" - set -e - netns_create "testns" - - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - set +e + setup echo " Start point" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null @@ -66,7 +71,7 @@ fib_unreg_unicast_test() ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null log_test $? 2 "IPv6 fibmatch - no route" - ip netns del testns + cleanup } fib_unreg_multipath_test() @@ -75,18 +80,11 @@ fib_unreg_multipath_test() echo echo "Multipath route test" - set -e - netns_create "testns" - - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up + setup + set -e ip -netns testns link add dummy1 type dummy ip -netns testns link set dev dummy1 up - - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip -netns testns address add 192.0.2.1/24 dev dummy1 ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy1 @@ -124,7 +122,7 @@ fib_unreg_multipath_test() ip -netns testns -6 route get fibmatch 2001:db8:3::1 &> /dev/null log_test $? 2 "IPv6 - no route" - ip netns del testns + cleanup } fib_unreg_test() @@ -138,15 +136,7 @@ fib_down_unicast_test() echo echo "Single path, admin down" - set -e - netns_create "testns" - - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up - - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - set +e + setup echo " Start point" ip -netns testns route get fibmatch 198.51.100.2 &> /dev/null @@ -164,9 +154,7 @@ fib_down_unicast_test() ip -netns testns -6 route get fibmatch 2001:db8:1::2 &> /dev/null log_test $? 2 "IPv6 fibmatch" - ip -netns testns link del dev dummy0 - - ip netns del testns + cleanup } fib_down_multipath_test_do() @@ -208,18 +196,12 @@ fib_down_multipath_test() echo echo "Admin down multipath" - set -e - netns_create "testns" - - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up + setup + set -e ip -netns testns link add dummy1 type dummy ip -netns testns link set dev dummy1 up - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 - ip -netns testns address add 192.0.2.1/24 dev dummy1 ip -netns testns -6 address add 2001:db8:2::1/64 dev dummy1 @@ -264,8 +246,7 @@ fib_down_multipath_test() log_test $? 2 "IPv6 fibmatch" ip -netns testns link del dev dummy1 - ip -netns testns link del dev dummy0 - ip netns del testns + cleanup } fib_down_test() @@ -280,16 +261,10 @@ fib_carrier_local_test() echo echo "Local carrier tests - single path" - set -e - netns_create "testns" - - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up + setup + set -e ip -netns testns link set dev dummy0 carrier on - - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 set +e echo " Start point" @@ -340,9 +315,7 @@ fib_carrier_local_test() grep -q "linkdown" log_test $? 1 "IPv6 linkdown flag set" - ip -netns testns link del dev dummy0 - - ip netns del testns + cleanup } fib_carrier_unicast_test() @@ -352,16 +325,10 @@ fib_carrier_unicast_test() echo echo "Single path route carrier test" - netns_create "testns" + setup set -e - ip -netns testns link add dummy0 type dummy - ip -netns testns link set dev dummy0 up - ip -netns testns link set dev dummy0 carrier on - - ip -netns testns address add 198.51.100.1/24 dev dummy0 - ip -netns testns -6 address add 2001:db8:1::1/64 dev dummy0 set +e echo " Start point" @@ -412,9 +379,7 @@ fib_carrier_unicast_test() grep -q "linkdown" log_test $? 0 "IPv6 linkdown flag set" - ip -netns testns link del dev dummy0 - - ip netns del testns + cleanup } fib_carrier_test() @@ -446,6 +411,9 @@ if [ $? -ne 0 ]; then exit 0 fi +# start clean +cleanup &> /dev/null + fib_test exit $ret From patchwork Tue Feb 13 16:37:36 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Ahern X-Patchwork-Id: 872966 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="gGZut7y9"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zgp9s3jbfz9t3F for ; Wed, 14 Feb 2018 03:37:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S965331AbeBMQhv (ORCPT ); Tue, 13 Feb 2018 11:37:51 -0500 Received: from mail-pg0-f47.google.com ([74.125.83.47]:40207 "EHLO mail-pg0-f47.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S965272AbeBMQhr (ORCPT ); Tue, 13 Feb 2018 11:37:47 -0500 Received: by mail-pg0-f47.google.com with SMTP id g2so217304pgn.7 for ; Tue, 13 Feb 2018 08:37:47 -0800 (PST) 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; bh=9Ud8OyAQxkpDtN3uH/N2xi+5Bbjid1Xqj7F5/zGMyJE=; b=gGZut7y9w0TCmD4gRe/oBX1nkeT9WUD/1KY1lUHNRvGvH12WnqAb5c/cj+jz78g4Gs MiJ7TL25ahNaAUI4hhVRt8o8/cbAqIDtgbTfQGatNrZg6FQqzXf/ufLyfuA89OY6IrUs opY/k+dH13ABHDVEf0QS9dIHvY7xSOBbxOP+EXTRVjPcmo2vr2pxzsjzusTigZtX+K+H +xbDMYBGC+ljtQr5UDi3fqMuHCtDHSRjyuckB0uZwzCjHhLIkAqIR6uvYbETr4ga+9x/ vi2/BAL4nWZjHypXLuPxSHtzcHn/JE10lHZM3WBv0aSKWw1G46hcVIxhbI18uWZR1r9J WcBw== 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; bh=9Ud8OyAQxkpDtN3uH/N2xi+5Bbjid1Xqj7F5/zGMyJE=; b=Xo4oWqiD+GXfs89u6HP80we+eIjM3Mp6NsmQn9PnSewtqlk9NfPjNLR5d9nNxsHhbo YZvk//NtBX6QpoEtAPOBIo89AViUAVCKO7CzI7FYeDmv9lybRdFrgOue9yCPwec1xhdp tcrkisYqRHNzZ9cC7b7uLGoWCwfDcYNmBpdpBeXG7kiMhZuUyCa/kCBc+DepMDQKDIdC n6nn/i4ZMoaFpj+kjVtAEWDAXCRHGzEayzQsZK9UpKFkMfWJpa2tBVK0nprySOObG4oH EimrhBGVcZflu/bDD9I5qCHismi6AeY+MQ2TNzYMG3dH17aZjfhLWh0vCime4PyjEXy7 QsRg== X-Gm-Message-State: APf1xPDCix6tHsvjgAbgTpUgWRaWFVhdlQkX+DhtUtL8oBQubNVaKvgm xNYVCpbBa/ze8sEacQ+KBq7L6w== X-Google-Smtp-Source: AH8x227NuRdAYJmvtWAlNyCydrY5mNoUFl24uoBCujBKs0o1g0xhyBLoImoEhOsuTXJR6lJ7MViWsg== X-Received: by 10.99.120.143 with SMTP id t137mr1460540pgc.79.1518539867103; Tue, 13 Feb 2018 08:37:47 -0800 (PST) Received: from kenny.it.cumulusnetworks.com. (fw.cumulusnetworks.com. [216.129.126.126]) by smtp.googlemail.com with ESMTPSA id i69sm29563334pfk.24.2018.02.13.08.37.46 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 13 Feb 2018 08:37:46 -0800 (PST) From: David Ahern To: netdev@vger.kernel.org Cc: idosch@mellanox.com, David Ahern Subject: [PATCH net-next 4/4] selftests: fib_tests: sleep after changing carrier Date: Tue, 13 Feb 2018 08:37:36 -0800 Message-Id: <20180213163736.1538-5-dsahern@gmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20180213163736.1538-1-dsahern@gmail.com> References: <20180213163736.1538-1-dsahern@gmail.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org sleep for a second after setting carrier down to allow linkwatch to propagate the change to the routing stack via netdev_state_change. As it stands there is a race setting carrier down on the dummy device and then checking the linkdown flag in the routes. Signed-off-by: David Ahern --- tools/testing/selftests/net/fib_tests.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/net/fib_tests.sh b/tools/testing/selftests/net/fib_tests.sh index e113cfd659fc..b617985ecdc1 100755 --- a/tools/testing/selftests/net/fib_tests.sh +++ b/tools/testing/selftests/net/fib_tests.sh @@ -282,6 +282,7 @@ fib_carrier_local_test() set -e ip -netns testns link set dev dummy0 carrier off + sleep 1 set +e echo " Carrier off on nexthop"