From 807d94bb2e41aa7bb46f4b032b38e712e32b45d4 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 12 Apr 2016 16:03:50 +0200 Subject: [PATCH] Fix #908: cleanup OVS ports in tap_unplug tap_unplug() is only called in hotplugging functions which perform a tap_plug() afterwards, and and in qemu-server's bridge-down script. The OVS port cleanup for non-firewall ports was done only in tap_plug(), which means that in the case when qemu exits and the tap device disappears, the OVS port for it stays. With this patch the cleanup happens in both tap_unplug() and tap_plug() to avoid problems with upgrades on systems where there have already been ports leaked. --- data/PVE/Network.pm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/PVE/Network.pm b/data/PVE/Network.pm index eda3700..f0d76f1 100644 --- a/data/PVE/Network.pm +++ b/data/PVE/Network.pm @@ -259,6 +259,8 @@ sub tap_unplug { } &$cleanup_firewall_bridge($iface); + #cleanup old port config from any openvswitch bridge + eval {run_command("/usr/bin/ovs-vsctl del-port $iface", outfunc => sub {}, errfunc => sub {}) }; } sub copy_bridge_config {