Browse Source

runqemu-ifdown: ensure to clean up TAP

In runqemu-ifup, ip command is used to add TAP; in runqemu-ifdown,
we should do the reversed logic, using ip command to delete TAP, to
make sure TAP is cleaned up by ourselves.

I can see that in runqemu-ifdown script, 'tunctl -d' and 'iptables'
commands are used to deal with TAP, but these two commands cannot
make sure that the TAP is cleaned up.

runqemu-ifup uses 'ip' to set up TAP, we really need to do the opposite
in runqemu-ifdown.

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Chen Qi 6 years ago
parent
commit
322e41de7f
1 changed files with 10 additions and 0 deletions
  1. 10 0
      scripts/runqemu-ifdown

+ 10 - 0
scripts/runqemu-ifdown

@@ -51,6 +51,16 @@ fi
 
 $TUNCTL -d $TAP
 
+IFCONFIG=`which ip 2> /dev/null`
+if [ "x$IFCONFIG" = "x" ]; then
+	# better than nothing...
+	IFCONFIG=/sbin/ip
+fi
+if [ -x "$IFCONFIG" ]; then
+	if `$IFCONFIG link show $TAP > /dev/null 2>&1`; then
+		$IFCONFIG link del $TAP
+	fi
+fi
 # cleanup the remaining iptables rules
 IPTABLES=`which iptables 2> /dev/null`
 if [ "x$IPTABLES" = "x" ]; then