summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Giudici <fgiudici@redhat.com>2017-06-13 12:54:43 +0200
committerFrancesco Giudici <fgiudici@redhat.com>2017-06-13 12:54:43 +0200
commitc8decd5bde02c3d672aa1021e4cdc7b2ef970d17 (patch)
tree6d1fb578b6154652a9dd64f4d3f73eddf65798c7
parent1ec4b213859ab395d1f70326709164af615cc1a9 (diff)
downloadNetworkManager-fg/ipv6_add_sync-rh1452046.tar.gz
fixup! device: ensure we don't have pending updates before checking for IPv6LL addressesfg/ipv6_add_sync-rh1452046
-rw-r--r--src/devices/nm-device.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index b016656d5c..589cd212ce 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -6946,14 +6946,6 @@ check_and_add_ipv6ll_addr (NMDevice *self)
if (priv->nm_ipv6ll == FALSE)
return;
- /* IPv6 address update pending: do it now as we need up-to-date state
- * before checking if we need a brand new linklocal IPv6 address */
- if (priv->queued_ip6_config_id) {
- _LOGT (LOGD_IP6, "linklocal6: align IPv6 config");
- nm_clear_g_source (&priv->queued_ip6_config_id);
- queued_ip6_config_change (self);
- }
-
if (priv->ip6_config) {
n = nm_ip6_config_get_num_addresses (priv->ip6_config);
for (i = 0; i < n; i++) {
@@ -7046,6 +7038,13 @@ linklocal6_start (NMDevice *self)
method = nm_utils_get_ip_config_method (connection, NM_TYPE_SETTING_IP6_CONFIG);
_LOGD (LOGD_DEVICE, "linklocal6: starting IPv6 with method '%s', but the device has no link-local addresses configured. Wait.", method);
+ /* IPv6 address update pending: do it now as we need up-to-date state
+ * before checking if we need a brand new linklocal IPv6 address */
+ if (priv->queued_ip6_config_id) {
+ _LOGT (LOGD_IP6, "linklocal6: align IPv6 config");
+ nm_clear_g_source (&priv->queued_ip6_config_id);
+ queued_ip6_config_change (self);
+ }
check_and_add_ipv6ll_addr (self);
/* Depending on the network and what the 'dad_transmits' and 'retrans_time_ms'