summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2016-02-17 15:11:02 +0100
committerLubomir Rintel <lkundrak@v3.sk>2016-02-17 16:33:38 +0100
commit3b875fc2640b57257237d4ee9b5ad247b51b9362 (patch)
tree75a3f52df0db27d7c5afb718123c26da1668a623
parent8c1a9bbb8ca977e26c19b52c8aac29d70e28f535 (diff)
downloadNetworkManager-3b875fc2640b57257237d4ee9b5ad247b51b9362.tar.gz
device-factory: always use the factory to determine the connection's interface name
This makes things a bit simpler when determining if any connection is activatable on an existing device.
-rw-r--r--src/devices/nm-device-factory.c45
-rw-r--r--src/devices/nm-device-factory.h20
-rw-r--r--src/devices/nm-device-infiniband.c8
-rw-r--r--src/devices/nm-device-ip-tunnel.c8
-rw-r--r--src/devices/nm-device-macvlan.c8
-rw-r--r--src/devices/nm-device-vlan.c8
-rw-r--r--src/devices/nm-device-vxlan.c8
-rw-r--r--src/nm-manager.c8
8 files changed, 49 insertions, 64 deletions
diff --git a/src/devices/nm-device-factory.c b/src/devices/nm-device-factory.c
index 2c2aae9d27..ddf798dfc1 100644
--- a/src/devices/nm-device-factory.c
+++ b/src/devices/nm-device-factory.c
@@ -158,25 +158,19 @@ nm_device_factory_get_connection_parent (NMDeviceFactory *factory,
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
- const char *iface;
-
- /* For any other virtual connection, NMSettingConnection:interface-name is
- * the virtual device name.
- */
- iface = nm_connection_get_interface_name (connection);
- g_return_val_if_fail (iface != NULL, NULL);
- return g_strdup (iface);
+ /* Default to just using NMSettingConnection:interface-name */
+ return g_strdup (nm_connection_get_interface_name (connection));
}
char *
-nm_device_factory_get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface,
- GError **error)
+nm_device_factory_get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface,
+ GError **error)
{
char *ifname;
@@ -184,30 +178,21 @@ nm_device_factory_get_virtual_iface_name (NMDeviceFactory *factory,
g_return_val_if_fail (connection != NULL, NULL);
g_return_val_if_fail (!error || !*error, NULL);
- if (!nm_connection_is_virtual (connection)) {
+ if (!NM_DEVICE_FACTORY_GET_INTERFACE (factory)->get_connection_iface) {
g_set_error (error,
NM_MANAGER_ERROR,
NM_MANAGER_ERROR_FAILED,
- "failed to determine virtual interface name: connection type '%s' is not a software device",
+ "failed to determine interface name: cannot determine name for %s",
nm_connection_get_connection_type (connection));
return NULL;
}
- if (!NM_DEVICE_FACTORY_GET_INTERFACE (factory)->get_virtual_iface_name) {
- g_set_error (error,
- NM_MANAGER_ERROR,
- NM_MANAGER_ERROR_FAILED,
- "failed to determine virtual interface name: cannot generate name for %s",
- nm_connection_get_connection_type (connection));
- return NULL;
- }
-
- ifname = NM_DEVICE_FACTORY_GET_INTERFACE (factory)->get_virtual_iface_name (factory, connection, parent_iface);
+ ifname = NM_DEVICE_FACTORY_GET_INTERFACE (factory)->get_connection_iface (factory, connection, parent_iface);
if (!ifname) {
g_set_error (error,
NM_MANAGER_ERROR,
NM_MANAGER_ERROR_FAILED,
- "failed to determine virtual interface name: error generating name for %s",
+ "failed to determine interface name: error determine name for %s",
nm_connection_get_connection_type (connection));
return NULL;
}
@@ -216,7 +201,7 @@ nm_device_factory_get_virtual_iface_name (NMDeviceFactory *factory,
g_set_error (error,
NM_MANAGER_ERROR,
NM_MANAGER_ERROR_FAILED,
- "failed to determine virtual interface name: invalid name \"%s\" generated",
+ "failed to determine interface name: name \"%s\" is invalid",
ifname);
g_free (ifname);
return NULL;
@@ -230,7 +215,7 @@ nm_device_factory_get_virtual_iface_name (NMDeviceFactory *factory,
static void
nm_device_factory_default_init (NMDeviceFactoryInterface *factory_iface)
{
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
/* Signals */
signals[DEVICE_ADDED] = g_signal_new (NM_DEVICE_FACTORY_DEVICE_ADDED,
diff --git a/src/devices/nm-device-factory.h b/src/devices/nm-device-factory.h
index 943fc5cd13..ae78968a42 100644
--- a/src/devices/nm-device-factory.h
+++ b/src/devices/nm-device-factory.h
@@ -101,19 +101,19 @@ typedef struct {
NMConnection *connection);
/**
- * get_virtual_iface_name:
+ * get_connection_iface:
* @factory: the #NMDeviceFactory
- * @connection: the #NMConnection to return the virtual interface name for
- * @parent_iface: parent interface name
+ * @connection: the #NMConnection to return the interface name for
+ * @parent_iface: optional parent interface name for virtual devices
*
* Given a connection, returns the interface name that a device activating
* that connection would have.
*
* Returns: the interface name, or %NULL
*/
- char * (*get_virtual_iface_name) (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface);
+ char * (*get_connection_iface) (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface);
/**
* create_device:
@@ -175,10 +175,10 @@ void nm_device_factory_get_supported_types (NMDeviceFactory *factory,
const char *nm_device_factory_get_connection_parent (NMDeviceFactory *factory,
NMConnection *connection);
-char * nm_device_factory_get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface,
- GError **error);
+char * nm_device_factory_get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface,
+ GError **error);
void nm_device_factory_start (NMDeviceFactory *factory);
diff --git a/src/devices/nm-device-infiniband.c b/src/devices/nm-device-infiniband.c
index c5e73c9920..a2a686e334 100644
--- a/src/devices/nm-device-infiniband.c
+++ b/src/devices/nm-device-infiniband.c
@@ -399,9 +399,9 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
NMSettingInfiniband *s_infiniband;
@@ -423,6 +423,6 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (INFINIBAND, Infiniband, infiniband,
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_INFINIBAND_SETTING_NAME),
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
)
diff --git a/src/devices/nm-device-ip-tunnel.c b/src/devices/nm-device-ip-tunnel.c
index 7923d545ba..47e5ab6151 100644
--- a/src/devices/nm-device-ip-tunnel.c
+++ b/src/devices/nm-device-ip-tunnel.c
@@ -1023,9 +1023,9 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
const char *ifname;
NMSettingIPTunnel *s_ip_tunnel;
@@ -1048,5 +1048,5 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (IP_TUNNEL, IPTunnel, ip_tunnel,
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_IP_TUNNEL_SETTING_NAME),
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
)
diff --git a/src/devices/nm-device-macvlan.c b/src/devices/nm-device-macvlan.c
index 912449e8fc..17ee6e82fa 100644
--- a/src/devices/nm-device-macvlan.c
+++ b/src/devices/nm-device-macvlan.c
@@ -744,9 +744,9 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
NMSettingMacvlan *s_macvlan;
const char *ifname;
@@ -768,6 +768,6 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (MACVLAN, Macvlan, macvlan,
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_MACVLAN_SETTING_NAME),
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
)
diff --git a/src/devices/nm-device-vlan.c b/src/devices/nm-device-vlan.c
index e2b0e50605..a9b3c8bc69 100644
--- a/src/devices/nm-device-vlan.c
+++ b/src/devices/nm-device-vlan.c
@@ -758,9 +758,9 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
const char *ifname;
NMSettingVlan *s_vlan;
@@ -789,6 +789,6 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (VLAN, Vlan, vlan,
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_VLAN_SETTING_NAME),
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
)
diff --git a/src/devices/nm-device-vxlan.c b/src/devices/nm-device-vxlan.c
index 08f0f69881..d7ded881dd 100644
--- a/src/devices/nm-device-vxlan.c
+++ b/src/devices/nm-device-vxlan.c
@@ -810,9 +810,9 @@ get_connection_parent (NMDeviceFactory *factory, NMConnection *connection)
}
static char *
-get_virtual_iface_name (NMDeviceFactory *factory,
- NMConnection *connection,
- const char *parent_iface)
+get_connection_iface (NMDeviceFactory *factory,
+ NMConnection *connection,
+ const char *parent_iface)
{
const char *ifname;
NMSettingVxlan *s_vxlan;
@@ -834,6 +834,6 @@ NM_DEVICE_FACTORY_DEFINE_INTERNAL (VXLAN, Vxlan, vxlan,
NM_DEVICE_FACTORY_DECLARE_SETTING_TYPES (NM_SETTING_VXLAN_SETTING_NAME),
factory_iface->create_device = create_device;
factory_iface->get_connection_parent = get_connection_parent;
- factory_iface->get_virtual_iface_name = get_virtual_iface_name;
+ factory_iface->get_connection_iface = get_connection_iface;
)
diff --git a/src/nm-manager.c b/src/nm-manager.c
index c5d47eab8a..9738d49e08 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -985,10 +985,10 @@ get_virtual_iface_name (NMManager *self,
}
parent = find_parent_device_for_connection (self, connection);
- iface = nm_device_factory_get_virtual_iface_name (factory,
- connection,
- parent ? nm_device_get_ip_iface (parent) : NULL,
- error);
+ iface = nm_device_factory_get_connection_iface (factory,
+ connection,
+ parent ? nm_device_get_ip_iface (parent) : NULL,
+ error);
if (!iface)
return NULL;