mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-03-01 15:01:48 +01:00
ovs-port: fix removal of ovsdb entry if the interface goes away
Hope third time is the charm. The idea here is to remove the OVSDB entry if the device actually went away violently (like, the it was actually removed from the platform), but keep it if we're shutting down. Fixes-test: @ovs_nmstate Fixes:966413e78f('ovs-port: avoid removing the OVSDB entry if we're shutting down') Fixes:ecc73eb239('ovs-port: always remove the OVSDB entry on slave release') https://bugzilla.redhat.com/show_bug.cgi?id=2055665 (cherry picked from commit65fdfb2500)
This commit is contained in:
parent
e8cb26d57a
commit
fee7328c86
1 changed files with 5 additions and 3 deletions
|
|
@ -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,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue