diff options
Diffstat (limited to 'src/os-plugins/plugins/qemukvm/files/ifdown')
-rw-r--r-- | src/os-plugins/plugins/qemukvm/files/ifdown | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/os-plugins/plugins/qemukvm/files/ifdown b/src/os-plugins/plugins/qemukvm/files/ifdown index f740cd42..b56be1df 100644 --- a/src/os-plugins/plugins/qemukvm/files/ifdown +++ b/src/os-plugins/plugins/qemukvm/files/ifdown @@ -14,11 +14,21 @@ # ----------------------------------------------------------------------------- # get VM_ID through tap name -#VM_ID=$(echo $1 | grep -oE "0[0-4]$") +VM_ID=$(echo $1 | grep -oE "0[0-4]$") #QKTMPDIR=/tmp/qemukvm/${USER}/${VM_ID} # not optimal if multiple machines run -sudo /opt/openslx/rootfs/usr/bin/killall -9 udhcpd || exit 0 -sudo /opt/openslx/rootfs/bin/ip link set dev $1 down || exit 0 +case "$1" in + tapbridge0*) + sudo /sbin/sysctl -q -w net.ipv4.conf.$1.forwarding=0 || failed=1 + ;; + tapnat0*) + sudo /sbin/sysctl -q -w net.ipv4.conf.$1.forwarding=0 || failed=1 + sudo /sbin/iptables -t nat -D POSTROUTING -s 192.168.1${VM_ID}.0/24 -o br0 \ + -j MASQUERADE || failed=1 + ;; +esac +sudo /opt/openslx/rootfs/usr/bin/killall -9 udhcpd || failed=1 +sudo /opt/openslx/rootfs/bin/ip link set dev $1 down || failed=1 # Produce a clean exit status exit 0 |