summaryrefslogtreecommitdiff
path: root/src/devices/nm-device-vlan.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/nm-device-vlan.c')
-rw-r--r--src/devices/nm-device-vlan.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c
index 1712a81385..0f7b0d9f80 100644
--- a/src/devices/nm-device-vlan.c
+++ b/src/devices/nm-device-vlan.c
@@ -256,6 +256,16 @@ create_and_realize (NMDevice *device,
return TRUE;
}
+static void
+unrealize (NMDevice *device, gboolean remove_resources)
+{
+ NM_DEVICE_CLASS (nm_device_vlan_parent_class)->unrealize (device, remove_resources);
+
+ NM_DEVICE_VLAN_GET_PRIVATE (device)->vlan_id = 0;
+ g_object_notify (G_OBJECT (device), NM_DEVICE_VLAN_ID);
+ nm_device_vlan_set_parent (NM_DEVICE_VLAN (device), NULL);
+}
+
/******************************************************************/
static NMDeviceCapabilities
@@ -663,6 +673,7 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
parent_class->create_and_realize = create_and_realize;
parent_class->realize = realize;
parent_class->setup = setup;
+ parent_class->unrealize = unrealize;
parent_class->get_generic_capabilities = get_generic_capabilities;
parent_class->bring_up = bring_up;
parent_class->act_stage1_prepare = act_stage1_prepare;