From patchwork Sat Dec 15 15:33:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Luca Boccassi X-Patchwork-Id: 1013951 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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; dmarc=none (p=none dis=none) header.from=debian.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43HBJv1BfWz9s9h for ; Sun, 16 Dec 2018 02:33:35 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730737AbeLOPde (ORCPT ); Sat, 15 Dec 2018 10:33:34 -0500 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52337 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730419AbeLOPdb (ORCPT ); Sat, 15 Dec 2018 10:33:31 -0500 Received: by mail-wm1-f67.google.com with SMTP id m1so8356013wml.2 for ; Sat, 15 Dec 2018 07:33:29 -0800 (PST) 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:mime-version:content-transfer-encoding; bh=uOVaZlwiAKZsnZvyI1s/d+S2ZOhY85yT6O7zcjIcuJc=; b=DZqzbZEW98RJMrbTGCGNp8Qp9nyCGzfRfb2a3EhsMxwuwSpLg/aGKOTL4OPNtTFGz9 YRuUi90bSv8riKPDfzMdEiDPSQ+o/RbTo84aN079uJFsAZl+X3PSy/XPL/ldZJYZtj3I sAMGwp+9uFzOFvyX1qeuwGkeA4HVi6ahQeniEjITqtP4NOz3i8iZ9zLCGUIXLpx5nrTI 0XtJjj+tsc0yHakOi9rec/9g9jCA947xTsGE0dZqlI7YwhGvLA/vICj/X5rt3DnFw3Zv zyPcf7KsK7c+Nigw+nfEQq42A8pch0IFKosp5OSSNcTsf3O7coqmlffW3WYP0VRzPsdR leRg== X-Gm-Message-State: AA+aEWaA984uy6R0kVR8yOeIZ0f40DpMCd9avbaTqz7d73xw82fypf16 frKgSPN9y8uApt59jqb2ZOY/d2nS X-Google-Smtp-Source: AFSGD/Vmn5yX03FU1Vt94YeLyBOw3+O5xHxk83heuzGcSqFsniQyTacwtjbYB57jbBTn94LViBN+bQ== X-Received: by 2002:a1c:1dc6:: with SMTP id d189mr6314644wmd.112.1544888008355; Sat, 15 Dec 2018 07:33:28 -0800 (PST) Received: from localhost ([2a01:4b00:f419:6f00:4441:b71:c640:c3f7]) by smtp.gmail.com with ESMTPSA id j202sm15655975wmf.15.2018.12.15.07.33.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 15 Dec 2018 07:33:27 -0800 (PST) From: Luca Boccassi To: netdev@vger.kernel.org Cc: stephen@networkplumber.org, Luca Boccassi Subject: [PATCH iproute2 4/4] testsuite: remove gre kmods if the test loads them Date: Sat, 15 Dec 2018 15:33:20 +0000 Message-Id: <20181215153320.14113-1-bluca@debian.org> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20181215153051.13166-1-bluca@debian.org> References: <20181215153051.13166-1-bluca@debian.org> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org The tunnel test leaves behind link devices created by the GRE kernel modules: $ ip -br link ... gre0@NONE DOWN 0.0.0.0 gretap0@NONE DOWN 00:00:00:00:00:00 erspan0@NONE DOWN 00:00:00:00:00:00 ip6tnl0@NONE DOWN :: ip6gre0@NONE DOWN 00:00:00:00: $ lsmod | grep gre ip6_gre 40960 0 ip6_tunnel 40960 1 ip6_gre ip_gre 32768 0 ip_tunnel 24576 1 ip_gre gre 16384 2 ip6_gre,ip_gre Check beforehand if the gre kernel module is loaded, and if not unload them all at the end of the test. This should avoid causing problems if a user is already using GRE for other purposes. Signed-off-by: Luca Boccassi Reviewed-by: Petr Vorel --- testsuite/tests/ip/tunnel/add_tunnel.t | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/testsuite/tests/ip/tunnel/add_tunnel.t b/testsuite/tests/ip/tunnel/add_tunnel.t index 3f5a9d3c..76f8b011 100755 --- a/testsuite/tests/ip/tunnel/add_tunnel.t +++ b/testsuite/tests/ip/tunnel/add_tunnel.t @@ -4,6 +4,15 @@ TUNNEL_NAME="tunnel_test_ip" +# note that checkbashism reports command -v, but dash supports it and it's posix compliant +if command -v lsmod >/dev/null 2>&1 && command -v rmmod >/dev/null 2>&1 +then + KMODS="ip6_gre ip6_tunnel ip_gre ip_tunnel gre" + COUNT_KMODS_BEFORE=$(lsmod | grep -c -e "^ip6_gre" -e "^ip6_tunnel" -e "^ip_gre" -e "^ip_tunnel" -e "^gre") +else + KMODS="" +fi + ts_log "[Testing add/del tunnels]" ts_ip "$0" "Add GRE tunnel over IPv4" tunnel add name $TUNNEL_NAME mode gre local 1.1.1.1 remote 2.2.2.2 @@ -12,3 +21,18 @@ ts_ip "$0" "Del GRE tunnel over IPv4" tunnel del $TUNNEL_NAME ts_ip "$0" "Add GRE tunnel over IPv6" tunnel add name $TUNNEL_NAME mode ip6gre local dead:beef::1 remote dead:beef::2 ts_ip "$0" "Del GRE tunnel over IPv6" tunnel del $TUNNEL_NAME + +if [ -n "$KMODS" ] +then + # unload kernel modules to remove dummy interfaces only if they were not in use beforehand + COUNT_KMODS_AFTER=$(lsmod | grep -c -e "^ip6_gre" -e "^ip6_tunnel" -e "^ip_gre" -e "^ip_tunnel" -e "^gre") + if [ "$COUNT_KMODS_BEFORE" -eq 0 ] && [ "$COUNT_KMODS_AFTER" -gt 0 ] + then + for mod in $KMODS + do + sudo rmmod "$mod" + done + else + ts_log "[gre kernel module was loaded before test, not removing]" + fi +fi