From a25b3327c7ffdf528da7e47a819201e216d17829 Mon Sep 17 00:00:00 2001 From: Beniamino Galvani Date: Mon, 9 Jan 2017 17:57:45 +0100 Subject: [PATCH] platform: don't update IPv6 temporary addresses The kernel already takes care of adding and updating temporary addresses when an address with IFA_F_MANAGETEMPADDR flag is added or updated; doing it also in nm_platform_ip6_address_sync() can overwrite the changes done by kernel, especially because since commit 0a0bca9c7fad ("ip6-config: sort addresses only when reading the property value") there is no guarantee that temporary addresses are before the public ones in the IPv6 configuration. Still delete temporary addresses, but don't add or update them. (cherry picked from commit 1dbd9d7948e61f44a56e256c4d9fe60831663861) --- src/platform/nm-platform.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/platform/nm-platform.c b/src/platform/nm-platform.c index 9274a31d59..48965ca452 100644 --- a/src/platform/nm-platform.c +++ b/src/platform/nm-platform.c @@ -2815,6 +2815,11 @@ nm_platform_ip6_address_sync (NMPlatform *self, int ifindex, const GArray *known const NMPlatformIP6Address *known_address = &g_array_index (known_addresses, NMPlatformIP6Address, i); guint32 lifetime, preferred; + if (NM_FLAGS_HAS (known_address->n_ifa_flags, IFA_F_TEMPORARY)) { + /* Kernel manages these */ + continue; + } + if (!nm_utils_lifetime_get (known_address->timestamp, known_address->lifetime, known_address->preferred, now, &lifetime, &preferred)) continue;