summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2019-03-12 15:50:47 +0100
committerLubomir Rintel <lkundrak@v3.sk>2019-04-08 09:31:49 +0200
commitc5539c2931eb2799de48e6ad62f66f5678adb7e9 (patch)
tree797825809cb0e6d62a09c9a332cf2d4569f1b875
parentb634c5434db1609c6a9b728246634af4d26c6c6b (diff)
downloadNetworkManager-c5539c2931eb2799de48e6ad62f66f5678adb7e9.tar.gz
ovs-interface: dissociate the link on deleting it from ovsdb
Open vSwitch is the special kid on the block -- it likes to be in charge of the link lifetime and so we shouldn't be. This means that we shouldn't be attempting to remove the link: we'd just (gracefully) fail anyways. More importantly, this also means that we shouldn't care if we see the link go away. https://bugzilla.redhat.com/show_bug.cgi?id=1543557
-rw-r--r--src/devices/ovs/nm-device-ovs-port.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/devices/ovs/nm-device-ovs-port.c b/src/devices/ovs/nm-device-ovs-port.c
index b96eba686a..35eb739f9a 100644
--- a/src/devices/ovs/nm-device-ovs-port.c
+++ b/src/devices/ovs/nm-device-ovs-port.c
@@ -20,6 +20,7 @@
#include "nm-default.h"
#include "nm-device-ovs-port.h"
+#include "nm-device-ovs-interface.h"
#include "nm-ovsdb.h"
#include "devices/nm-device-private.h"
@@ -141,6 +142,11 @@ release_slave (NMDevice *device, NMDevice *slave, gboolean configure)
{
nm_ovsdb_del_interface (nm_ovsdb_get (), nm_device_get_iface (slave),
del_iface_cb, g_object_ref (slave));
+
+ /* Open VSwitch is going to delete this one. We must ignore what happens
+ * next with the interface. */
+ if (NM_IS_DEVICE_OVS_INTERFACE (slave))
+ nm_device_update_from_platform_link (slave, NULL);
}
/*****************************************************************************/