mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-24 14:50:07 +01:00
Revert "manager: don't remove the device before policy learns of ip config change"
This doesn't unexport the connection on disconnect (as opposed to device
removal).
This reverts commit f72816bf10.
This commit is contained in:
parent
f72816bf10
commit
a6fb37bae2
3 changed files with 8 additions and 12 deletions
|
|
@ -2570,7 +2570,6 @@ void
|
|||
nm_device_removed (NMDevice *self)
|
||||
{
|
||||
NMDevicePrivate *priv;
|
||||
NMDeviceStateReason ignored = NM_DEVICE_STATE_REASON_NONE;
|
||||
|
||||
g_return_if_fail (NM_IS_DEVICE (self));
|
||||
|
||||
|
|
@ -2580,13 +2579,6 @@ nm_device_removed (NMDevice *self)
|
|||
* Release the slave from master, but don't touch the device. */
|
||||
nm_device_master_release_one_slave (priv->master, self, FALSE, NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED);
|
||||
}
|
||||
|
||||
/* Clean up IP configs; this does not actually deconfigure the
|
||||
* interface, it just disowns the configuration so that policy
|
||||
* unregisters it from the dns manager before the device itself
|
||||
* is gone from manager. */
|
||||
nm_device_set_ip4_config (self, NULL, 0, TRUE, TRUE, &ignored);
|
||||
nm_device_set_ip6_config (self, NULL, TRUE, TRUE, &ignored);
|
||||
}
|
||||
|
||||
static gboolean
|
||||
|
|
@ -9979,6 +9971,7 @@ static void
|
|||
_cleanup_generic_post (NMDevice *self, CleanupType cleanup_type)
|
||||
{
|
||||
NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
|
||||
NMDeviceStateReason ignored = NM_DEVICE_STATE_REASON_NONE;
|
||||
|
||||
priv->default_route.v4_has = FALSE;
|
||||
priv->default_route.v6_has = FALSE;
|
||||
|
|
@ -10000,6 +9993,11 @@ _cleanup_generic_post (NMDevice *self, CleanupType cleanup_type)
|
|||
|
||||
priv->linklocal6_dad_counter = 0;
|
||||
|
||||
/* Clean up IP configs; this does not actually deconfigure the
|
||||
* interface; the caller must flush routes and addresses explicitly.
|
||||
*/
|
||||
nm_device_set_ip4_config (self, NULL, 0, TRUE, TRUE, &ignored);
|
||||
nm_device_set_ip6_config (self, NULL, TRUE, TRUE, &ignored);
|
||||
g_clear_object (&priv->con_ip4_config);
|
||||
g_clear_object (&priv->dev_ip4_config);
|
||||
g_clear_object (&priv->ext_ip4_config);
|
||||
|
|
|
|||
|
|
@ -1175,9 +1175,7 @@ _ipx_get_best_config (const VTableIP *vtable,
|
|||
config_result = nm_device_get_ip4_config (device);
|
||||
else
|
||||
config_result = nm_device_get_ip6_config (device);
|
||||
if (!config_result)
|
||||
continue;
|
||||
|
||||
g_assert (config_result);
|
||||
req = nm_device_get_act_request (device);
|
||||
g_assert (req);
|
||||
|
||||
|
|
|
|||
|
|
@ -872,8 +872,8 @@ remove_device (NMManager *self,
|
|||
if (nm_device_is_real (device)) {
|
||||
g_signal_emit (self, signals[DEVICE_REMOVED], 0, device);
|
||||
_notify (self, PROP_DEVICES);
|
||||
nm_device_removed (device);
|
||||
}
|
||||
nm_device_removed (device);
|
||||
g_signal_emit (self, signals[INTERNAL_DEVICE_REMOVED], 0, device);
|
||||
_notify (self, PROP_ALL_DEVICES);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue