diff --git a/src/nm-device-bond.c b/src/nm-device-bond.c index a1e8ce0ce1..ec59500a08 100644 --- a/src/nm-device-bond.c +++ b/src/nm-device-bond.c @@ -374,7 +374,7 @@ free_slave_info (SlaveInfo *sinfo) } static gboolean -enslave_slave (NMDevice *device, NMDevice *slave) +enslave_slave (NMDevice *device, NMDevice *slave, NMConnection *connection) { NMDeviceBond *self = NM_DEVICE_BOND (device); NMDeviceBondPrivate *priv = NM_DEVICE_BOND_GET_PRIVATE (self); diff --git a/src/nm-device.c b/src/nm-device.c index 27a2d2c4e2..68bb87ee07 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -766,6 +766,7 @@ nm_device_get_connection_provider (NMDevice *device) * nm_device_enslave_slave: * @dev: the master device * @slave: the slave device to enslave + * @connection: the slave device's connection * * If @dev is capable of enslaving other devices (ie it's a bridge, bond, etc) * then this function enslaves @slave. @@ -774,14 +775,14 @@ nm_device_get_connection_provider (NMDevice *device) * other devices. */ gboolean -nm_device_enslave_slave (NMDevice *dev, NMDevice *slave) +nm_device_enslave_slave (NMDevice *dev, NMDevice *slave, NMConnection *connection) { g_return_val_if_fail (dev != NULL, FALSE); g_return_val_if_fail (slave != NULL, FALSE); g_return_val_if_fail (nm_device_get_state (slave) >= NM_DEVICE_STATE_DISCONNECTED, FALSE); if (NM_DEVICE_GET_CLASS (dev)->enslave_slave) - return NM_DEVICE_GET_CLASS (dev)->enslave_slave (dev, slave); + return NM_DEVICE_GET_CLASS (dev)->enslave_slave (dev, slave, connection); return FALSE; } @@ -1111,7 +1112,7 @@ act_stage1_prepare (NMDevice *self, NMDeviceStateReason *reason) master = NM_DEVICE (nm_act_request_get_device (NM_ACT_REQUEST (master_ac))); g_assert (master); - if (!nm_device_enslave_slave (master, self)) + if (!nm_device_enslave_slave (master, self, nm_act_request_get_connection (req))) ret = NM_ACT_STAGE_RETURN_FAILURE; } diff --git a/src/nm-device.h b/src/nm-device.h index 9762c5c363..059e1f9890 100644 --- a/src/nm-device.h +++ b/src/nm-device.h @@ -180,7 +180,8 @@ typedef struct { gboolean fail_if_no_hwaddr); gboolean (* enslave_slave) (NMDevice *self, - NMDevice *slave); + NMDevice *slave, + NMConnection *connection); gboolean (* release_slave) (NMDevice *self, NMDevice *slave); @@ -216,7 +217,7 @@ NMDHCP6Config * nm_device_get_dhcp6_config (NMDevice *dev); NMIP4Config * nm_device_get_ip4_config (NMDevice *dev); NMIP6Config * nm_device_get_ip6_config (NMDevice *dev); -gboolean nm_device_enslave_slave (NMDevice *dev, NMDevice *slave); +gboolean nm_device_enslave_slave (NMDevice *dev, NMDevice *slave, NMConnection *connection); gboolean nm_device_release_slave (NMDevice *dev, NMDevice *slave); NMActRequest * nm_device_get_act_request (NMDevice *dev);