device: reset MAC address in NMDevice's deactivate()

Instead of letting different subclasses call reset in their
virtual deactivate() function, do it in the parent class.

This works nicely, because the parent know whether the MAC
address is currently modified.
This commit is contained in:
Thomas Haller 2016-06-23 15:57:37 +02:00
parent 96cabbcbb8
commit 4b2e375b33
4 changed files with 2 additions and 16 deletions

View file

@ -1352,8 +1352,6 @@ deactivate (NMDevice *device)
/* Set last PPPoE connection time */
if (nm_device_get_applied_setting (device, NM_TYPE_SETTING_PPPOE))
NM_DEVICE_ETHERNET_GET_PRIVATE (device)->last_pppoe_time = nm_utils_get_monotonic_timestamp_s ();
nm_device_hw_addr_reset (device, "deactivate");
}
static gboolean

View file

@ -541,12 +541,6 @@ realize_start_notify (NMDevice *device, const NMPlatformLink *plink)
update_properties (device);
}
static void
deactivate (NMDevice *device)
{
nm_device_hw_addr_reset (device, "deactivate");
}
/******************************************************************/
static void
@ -627,7 +621,6 @@ nm_device_macvlan_class_init (NMDeviceMacvlanClass *klass)
device_class->complete_connection = complete_connection;
device_class->connection_type = NM_SETTING_MACVLAN_SETTING_NAME;
device_class->create_and_realize = create_and_realize;
device_class->deactivate = deactivate;
device_class->get_generic_capabilities = get_generic_capabilities;
device_class->ip4_config_pre_commit = ip4_config_pre_commit;
device_class->is_available = is_available;

View file

@ -613,12 +613,6 @@ ip4_config_pre_commit (NMDevice *device, NMIP4Config *config)
}
}
static void
deactivate (NMDevice *device)
{
nm_device_hw_addr_reset (device, "deactivate");
}
/******************************************************************/
static void
@ -682,7 +676,6 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
parent_class->bring_up = bring_up;
parent_class->act_stage1_prepare = act_stage1_prepare;
parent_class->ip4_config_pre_commit = ip4_config_pre_commit;
parent_class->deactivate = deactivate;
parent_class->is_available = is_available;
parent_class->notify_new_device_added = notify_new_device_added;

View file

@ -10653,6 +10653,8 @@ nm_device_cleanup (NMDevice *self, NMDeviceStateReason reason, CleanupType clean
nm_device_ipv6_sysctl_set (self, "use_tempaddr", "0");
}
nm_device_hw_addr_reset (self, "deactivate");
/* Call device type-specific deactivation */
if (NM_DEVICE_GET_CLASS (self)->deactivate)
NM_DEVICE_GET_CLASS (self)->deactivate (self);