about summary refs log tree commit diff
path: root/src/core/devices/ovs
diff options
context:
space:
mode:
authorJeremy Bicha <jeremy.bicha@canonical.com>2022-03-08 14:36:58 -0500
committerJeremy Bicha <jeremy.bicha@canonical.com>2022-03-08 14:36:58 -0500
commit53010f05df012183a1f9d9e7ca684b5fe722563d (patch)
treee1e0cc839b8517d9392787d79bf4265a5e6f9b33 /src/core/devices/ovs
parent9a04f21da9a5ab80d69c0d2832360d82c471916c (diff)
parent0514770b02f34ccb56b6bc52010452663c6717ed (diff)
Merge tag 'debian/1.36.2-1' into ubuntu/master
network-manager Debian release 1.36.2-1
Diffstat (limited to 'src/core/devices/ovs')
-rw-r--r--src/core/devices/ovs/nm-device-ovs-port.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/devices/ovs/nm-device-ovs-port.c b/src/core/devices/ovs/nm-device-ovs-port.c
index 8406c364..116f58c4 100644
--- a/src/core/devices/ovs/nm-device-ovs-port.c
+++ b/src/core/devices/ovs/nm-device-ovs-port.c
@@ -188,8 +188,10 @@ del_iface_cb(GError *error, gpointer user_data)
 static void
 release_slave(NMDevice *device, NMDevice *slave, gboolean configure)
 {
-    NMDeviceOvsPort *self = NM_DEVICE_OVS_PORT(device);
-    bool slave_removed = nm_device_sys_iface_state_get(slave) == NM_DEVICE_SYS_IFACE_STATE_REMOVED;
+    NMDeviceOvsPort *self              = NM_DEVICE_OVS_PORT(device);
+    bool             slave_not_managed = !NM_IN_SET(nm_device_sys_iface_state_get(slave),
+                                        NM_DEVICE_SYS_IFACE_STATE_MANAGED,
+                                        NM_DEVICE_SYS_IFACE_STATE_ASSUME);
 
     _LOGI(LOGD_DEVICE, "releasing ovs interface %s", nm_device_get_ip_iface(slave));
 
@@ -197,7 +199,7 @@ release_slave(NMDevice *device, NMDevice *slave, gboolean configure)
      * removed and thus we're called with configure=FALSE), we still need
      * to make sure its OVSDB entry is gone.
      */
-    if (configure || slave_removed) {
+    if (configure || slave_not_managed) {
         nm_ovsdb_del_interface(nm_ovsdb_get(),
                                nm_device_get_iface(slave),
                                del_iface_cb,