diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2016-02-17 15:11:02 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2016-02-17 16:33:38 +0100 |
commit | 3b875fc2640b57257237d4ee9b5ad247b51b9362 (patch) | |
tree | 75a3f52df0db27d7c5afb718123c26da1668a623 | |
parent | 8c1a9bbb8ca977e26c19b52c8aac29d70e28f535 (diff) | |
download | NetworkManager-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.c | 45 | ||||
-rw-r--r-- | src/devices/nm-device-factory.h | 20 | ||||
-rw-r--r-- | src/devices/nm-device-infiniband.c | 8 | ||||
-rw-r--r-- | src/devices/nm-device-ip-tunnel.c | 8 | ||||
-rw-r--r-- | src/devices/nm-device-macvlan.c | 8 | ||||
-rw-r--r-- | src/devices/nm-device-vlan.c | 8 | ||||
-rw-r--r-- | src/devices/nm-device-vxlan.c | 8 | ||||
-rw-r--r-- | src/nm-manager.c | 8 |
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; |