core: allow multiple devices with the same interface name
But, of course, only one realized device can have the same
interface name at a time.
This commit effectively reverts most of:
1b37cd0340
core: allow ActiveConnections to be created without a device
But it's not easy to do a separate revert of that code due to
interdependencies with nm-manager.c.
Creating devices when they are defined by a connection also makes
makes it possible to require the NMDevice to be present when
activating it, which means we can remove a bunch of code from
NMManager that had to handle software devices not existing yet at
the time of the activation request.
But it also means we must be more careful when finding master
interfaces during slave activation, since we cannot simply match
by interface name alone. Instead we must find the master which
matches both the interface name and can control slaves of the type
which is being activated.
This commit is contained in:

committed by
Thomas Haller

parent
4db851f852
commit
f2256af5bc
@@ -468,9 +468,7 @@ master_failed (NMActiveConnection *self)
|
||||
* @specific_object: the object path of the specific object (ie, WiFi access point,
|
||||
* etc) that will be used to activate @connection and @device
|
||||
* @subject: the #NMAuthSubject representing the requestor of the activation
|
||||
* @device: the device/interface to configure according to @connection; or %NULL
|
||||
* if the connection describes a software device which will be created during
|
||||
* connection activation
|
||||
* @device: the device/interface to configure according to @connection
|
||||
*
|
||||
* Creates a new device-based activation request.
|
||||
*
|
||||
@@ -483,7 +481,7 @@ nm_act_request_new (NMSettingsConnection *settings_connection,
|
||||
NMDevice *device)
|
||||
{
|
||||
g_return_val_if_fail (!settings_connection || NM_IS_SETTINGS_CONNECTION (settings_connection), NULL);
|
||||
g_return_val_if_fail (!device || NM_IS_DEVICE (device), NULL);
|
||||
g_return_val_if_fail (NM_IS_DEVICE (device), NULL);
|
||||
g_return_val_if_fail (NM_IS_AUTH_SUBJECT (subject), NULL);
|
||||
|
||||
return (NMActRequest *) g_object_new (NM_TYPE_ACT_REQUEST,
|
||||
|
Reference in New Issue
Block a user