From: Luca Boccassi <bluca@debian.org>
To: netdev@vger.kernel.org
Cc: stephen@networkplumber.org, petr.vorel@gmail.com,
Luca Boccassi <bluca@debian.org>
Subject: [PATCH iproute2 v2 4/4] testsuite: remove gre kmods if the test loads them
Date: Sun, 16 Dec 2018 13:47:27 +0000 [thread overview]
Message-ID: <20181216134727.8342-4-bluca@debian.org> (raw)
In-Reply-To: <20181216134727.8342-1-bluca@debian.org>
The tunnel test leaves behind link devices created by the GRE kernel
modules:
$ ip -br link
...
gre0@NONE DOWN 0.0.0.0 <NOARP>
gretap0@NONE DOWN 00:00:00:00:00:00 <BROADCAST,MULTICAST>
erspan0@NONE DOWN 00:00:00:00:00:00 <BROADCAST,MULTICAST>
ip6tnl0@NONE DOWN :: <NOARP>
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 <bluca@debian.org>
Reviewed-by: Petr Vorel <pvorel@suse.cz>
---
v2: applied suggestions from Petr to simplify the modules parsing/unloading
testsuite/tests/ip/tunnel/add_tunnel.t | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/testsuite/tests/ip/tunnel/add_tunnel.t b/testsuite/tests/ip/tunnel/add_tunnel.t
index 3f5a9d3c..78c1e463 100755
--- a/testsuite/tests/ip/tunnel/add_tunnel.t
+++ b/testsuite/tests/ip/tunnel/add_tunnel.t
@@ -4,6 +4,16 @@
TUNNEL_NAME="tunnel_test_ip"
+# unload kernel modules to remove dummy interfaces only if they were not in use beforehand
+KMODS_REMOVE=
+# note that checkbashism reports command -v, but dash supports it and it's POSIX 2008 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"
+ for i in $KMODS; do
+ lsmod | grep -q "^$i" || KMODS_REMOVE="$KMODS_REMOVE $i";
+ done
+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 +22,6 @@ 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
+for mod in $KMODS_REMOVE; do
+ sudo rmmod "$mod"
+done
--
2.19.2
next prev parent reply other threads:[~2018-12-16 13:47 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-15 15:30 [PATCH iproute2 1/4] Makefile: have check target depend on all Luca Boccassi
2018-12-15 15:30 ` [PATCH iproute2 2/4] testsuite: declare dependency between $(TESTS) and generate_nlmsg Luca Boccassi
2018-12-15 16:22 ` Petr Vorel
2018-12-15 15:30 ` [PATCH iproute2 3/4] tests: delete dummy interface after default route test Luca Boccassi
2018-12-15 16:32 ` Petr Vorel
2018-12-16 13:52 ` Luca Boccassi
2018-12-15 15:33 ` [PATCH iproute2 4/4] testsuite: remove gre kmods if the test loads them Luca Boccassi
2018-12-15 17:37 ` Petr Vorel
2018-12-16 13:52 ` Luca Boccassi
2018-12-15 16:13 ` [PATCH iproute2 1/4] Makefile: have check target depend on all Petr Vorel
2018-12-16 13:47 ` [PATCH iproute2 v2 " Luca Boccassi
2018-12-16 13:47 ` [PATCH iproute2 v2 2/4] testsuite: declare dependency between $(TESTS) and generate_nlmsg Luca Boccassi
2018-12-16 13:47 ` [PATCH iproute2 v2 3/4] testsuite: delete dummy interface after default route test Luca Boccassi
2018-12-16 20:13 ` Petr Vorel
2018-12-16 13:47 ` Luca Boccassi [this message]
2018-12-16 20:21 ` [PATCH iproute2 v2 4/4] testsuite: remove gre kmods if the test loads them Petr Vorel
2018-12-16 20:57 ` Luca Boccassi
2018-12-16 20:55 ` [PATCH iproute2 v3 1/4] Makefile: have check target depend on all Luca Boccassi
2018-12-16 20:55 ` [PATCH iproute2 v3 2/4] testsuite: declare dependency between $(TESTS) and generate_nlmsg Luca Boccassi
2018-12-16 20:55 ` [PATCH iproute2 v3 3/4] testsuite: delete dummy interface after default route test Luca Boccassi
2018-12-16 20:55 ` [PATCH iproute2 v3 4/4] testsuite: remove gre kmods if the test loads them Luca Boccassi
2018-12-16 21:10 ` Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181216134727.8342-4-bluca@debian.org \
--to=bluca@debian.org \
--cc=netdev@vger.kernel.org \
--cc=petr.vorel@gmail.com \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).