]> git.proxmox.com Git - mirror_iproute2.git/blobdiff - testsuite/tests/ip/tunnel/add_tunnel.t
testsuite: remove gre kmods if the test loads them
[mirror_iproute2.git] / testsuite / tests / ip / tunnel / add_tunnel.t
index 3f5a9d3c1acfc581dce677a1a3871c2cfcdf6ad0..65db431cdefe5b445d8373628f270430d6b38479 100755 (executable)
@@ -3,6 +3,16 @@
 . lib/generic.sh
 
 TUNNEL_NAME="tunnel_test_ip"
+KMODS="ip6_gre ip6_tunnel ip_gre ip_tunnel gre"
+
+# 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
+    for i in $KMODS; do
+        lsmod | grep -q "^$i" || kmods_remove="$kmods_remove $i";
+    done
+fi
 
 ts_log "[Testing add/del tunnels]"
 
@@ -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