Commit a6fb37ba authored by Lubomir Rintel's avatar Lubomir Rintel 🥕
Browse files

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 f72816bf.
parent f72816bf
......@@ -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);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment