From 238ec6875e81d3525c33692e39c752ba527a11e1 Mon Sep 17 00:00:00 2001 From: Chen Qi Date: Thu, 7 Jun 2018 15:52:47 +0800 Subject: 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 Signed-off-by: Richard Purdie --- scripts/runqemu-ifdown | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/scripts/runqemu-ifdown b/scripts/runqemu-ifdown index ffbc9de442..2486968588 100755 --- a/scripts/runqemu-ifdown +++ b/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 -- cgit 1.2.3-korg