summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2016-01-04 11:57:22 +0100
committerLubomir Rintel <lkundrak@v3.sk>2016-01-04 11:57:22 +0100
commit48695df0233a310f883ab2bf23b496b5b8b6569c (patch)
tree6bc28b56458f175eff0b0390bc04ac53b8addd2f
parentd1bd8c7132233adeafff4eb19cdcd21a42682fc8 (diff)
downloadNetworkManager-48695df0233a310f883ab2bf23b496b5b8b6569c.tar.gz
vlan: make connection available if the device is not real
Otherwise NMDevice would do and always fail a carrier check, making it impossible to ever manually activate a vlan connection.
-rw-r--r--src/devices/nm-device-vlan.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c
index 9f37cafb6f..8e79ce7ef5 100644
--- a/src/devices/nm-device-vlan.c
+++ b/src/devices/nm-device-vlan.c
@@ -433,6 +433,18 @@ check_connection_compatible (NMDevice *device, NMConnection *connection)
}
static gboolean
+check_connection_available (NMDevice *device,
+ NMConnection *connection,
+ NMDeviceCheckConAvailableFlags flags,
+ const char *specific_object)
+{
+ if (!nm_device_is_real (device))
+ return TRUE;
+
+ return NM_DEVICE_CLASS (nm_device_vlan_parent_class)->check_connection_available (device, connection, flags, specific_object);
+}
+
+static gboolean
complete_connection (NMDevice *device,
NMConnection *connection,
const char *specific_object,
@@ -691,6 +703,7 @@ nm_device_vlan_class_init (NMDeviceVlanClass *klass)
parent_class->notify_new_device_added = notify_new_device_added;
parent_class->check_connection_compatible = check_connection_compatible;
+ parent_class->check_connection_available = check_connection_available;
parent_class->complete_connection = complete_connection;
parent_class->update_connection = update_connection;