From 62ad694421ae96de61436f87cdec1a01e3e2879a Mon Sep 17 00:00:00 2001 From: Lubomir Rintel Date: Fri, 5 Dec 2014 17:49:11 +0100 Subject: [PATCH] device: assume connections for device with slaves If a bridge/team/bond has slaves, assume it's connected. Recheck as devices appear. https://bugzilla.redhat.com/show_bug.cgi?id=1141266 --- src/devices/nm-device.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c index f9333909d..50fc07562 100644 --- a/src/devices/nm-device.c +++ b/src/devices/nm-device.c @@ -1404,6 +1404,7 @@ nm_device_master_add_slave (NMDevice *self, NMDevice *slave, gboolean configure) G_CALLBACK (slave_state_changed), self); priv->slaves = g_slist_append (priv->slaves, info); } + nm_device_queue_recheck_assume (self); return TRUE; } @@ -1989,8 +1990,9 @@ nm_device_generate_connection (NMDevice *self, NMDevice *master) ip6_method = nm_utils_get_ip_config_method (connection, NM_TYPE_SETTING_IP6_CONFIG); if ( g_strcmp0 (ip4_method, NM_SETTING_IP4_CONFIG_METHOD_DISABLED) == 0 && g_strcmp0 (ip6_method, NM_SETTING_IP6_CONFIG_METHOD_IGNORE) == 0 - && !nm_setting_connection_get_master (NM_SETTING_CONNECTION (s_con))) { - _LOGD (LOGD_DEVICE, "ignoring generated connection (no IP and not slave)"); + && !nm_setting_connection_get_master (NM_SETTING_CONNECTION (s_con)) + && !priv->slaves) { + _LOGD (LOGD_DEVICE, "ignoring generated connection (no IP and not in master-slave relationship)"); g_object_unref (connection); connection = NULL; } @@ -2150,7 +2152,7 @@ nm_device_emit_recheck_assume (gpointer self) NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self); priv->recheck_assume_id = 0; - if (!nm_device_get_act_request (self) && (priv->ip4_config || priv->ip6_config)) { + if (!nm_device_get_act_request (self)) { _LOGD (LOGD_DEVICE, "emit RECHECK_ASSUME signal"); g_signal_emit (self, signals[RECHECK_ASSUME], 0); }