NMActRequest *req,
GError **error);
static void nm_device_deactivate (NMDeviceInterface *device, NMDeviceStateReason reason);
-static gboolean nm_device_spec_match_list (NMDeviceInterface *device, const GSList *specs);
+static gboolean spec_match_list (NMDeviceInterface *device, const GSList *specs);
+static NMConnection *connection_match_config (NMDeviceInterface *device, const GSList *connections);
- static void nm_device_activate_schedule_stage5_ip_config_commit (NMDevice *self);
+ static void nm_device_activate_schedule_stage5_ip_config_commit (NMDevice *self, int family);
static void nm_device_take_down (NMDevice *dev, gboolean wait, NMDeviceStateReason reason);
clear_act_request (self);
- activation_source_clear (self, TRUE);
+ activation_source_clear (self, TRUE, AF_INET);
+ activation_source_clear (self, TRUE, AF_INET6);
- nm_device_set_use_dhcp (self, FALSE);
+ if (!take_down)
+ nm_device_set_use_dhcp (self, FALSE);
if (priv->dnsmasq_manager) {
if (priv->dnsmasq_state_id) {