nm-manager: try assuming connections on managed devices
Commit850c97795
("device: track system interface state in NMDevice") introduced interface states for devices and prevented checking if a connection should be assumed on already managed devices. This prevented to properly manage the event of an ip configuration added externally to NM to a managed but not (yet) activated device. Fixes:850c977953
(cherry picked from commitacf1067a45
)
This commit is contained in:
@@ -1852,6 +1852,7 @@ recheck_assume_connection (NMManager *self,
|
|||||||
gboolean was_unmanaged = FALSE;
|
gboolean was_unmanaged = FALSE;
|
||||||
gboolean generated = FALSE;
|
gboolean generated = FALSE;
|
||||||
NMDeviceState state;
|
NMDeviceState state;
|
||||||
|
NMDeviceSysIfaceState if_state;
|
||||||
|
|
||||||
g_return_val_if_fail (NM_IS_MANAGER (self), FALSE);
|
g_return_val_if_fail (NM_IS_MANAGER (self), FALSE);
|
||||||
g_return_val_if_fail (NM_IS_DEVICE (device), FALSE);
|
g_return_val_if_fail (NM_IS_DEVICE (device), FALSE);
|
||||||
@@ -1866,7 +1867,10 @@ recheck_assume_connection (NMManager *self,
|
|||||||
if (state > NM_DEVICE_STATE_DISCONNECTED)
|
if (state > NM_DEVICE_STATE_DISCONNECTED)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
if (nm_device_sys_iface_state_get (device) != NM_DEVICE_SYS_IFACE_STATE_EXTERNAL)
|
if_state = nm_device_sys_iface_state_get (device);
|
||||||
|
if (if_state == NM_DEVICE_SYS_IFACE_STATE_MANAGED)
|
||||||
|
nm_assert (!guess_assume && (assume_connection_uuid == NULL));
|
||||||
|
else if (if_state != NM_DEVICE_SYS_IFACE_STATE_EXTERNAL)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
connection = get_existing_connection (self, device, guess_assume, assume_connection_uuid, &generated);
|
connection = get_existing_connection (self, device, guess_assume, assume_connection_uuid, &generated);
|
||||||
|
Reference in New Issue
Block a user