diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2019-03-12 15:50:47 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2019-04-08 09:31:49 +0200 |
commit | c5539c2931eb2799de48e6ad62f66f5678adb7e9 (patch) | |
tree | 797825809cb0e6d62a09c9a332cf2d4569f1b875 | |
parent | b634c5434db1609c6a9b728246634af4d26c6c6b (diff) | |
download | NetworkManager-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.c | 6 |
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); } /*****************************************************************************/ |