From 4b2e375b3393ca4ebb1069279e919cd5fc9fd2ee Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Thu, 23 Jun 2016 15:57:37 +0200 Subject: [PATCH] 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. --- src/devices/nm-device-ethernet.c | 2 -- src/devices/nm-device-macvlan.c | 7 ------- src/devices/nm-device-vlan.c | 7 ------- src/devices/nm-device.c | 2 ++ 4 files changed, 2 insertions(+), 16 deletions(-) diff --git a/src/devices/nm-device-ethernet.c b/src/devices/nm-device-ethernet.c index 6cf544a3e5..5f7c9f0da6 100644 --- a/src/devices/nm-device-ethernet.c +++ b/src/devices/nm-device-ethernet.c @@ -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 diff --git a/src/devices/nm-device-macvlan.c b/src/devices/nm-device-macvlan.c index 390c2a3975..2bfc65cb2d 100644 --- a/src/devices/nm-device-macvlan.c +++ b/src/devices/nm-device-macvlan.c @@ -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; diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c index f4513d530c..16edc0d2ba 100644 --- a/src/devices/nm-device-vlan.c +++ b/src/devices/nm-device-vlan.c @@ -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; diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index 4bd8c25ad6..fb15f0fdc4 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -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);