summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-02-09 12:56:12 +0100
committerThomas Haller <thaller@redhat.com>2018-02-09 17:40:01 +0100
commit7ddd83e823a07b6a5a4d969411f41a4b601aa41a (patch)
tree656a67b43df1ed88ec28915c77b17b15183bf708 /src
parent95c94ff026bd238a4100c480606fb1eb0a161d4f (diff)
device: ignore temporary addresses for IPv6 DAD
Temporary addresses are entirely managed by kernel, via the mngtempaddr flag of the primay address. No need to consider them for DAD.
Diffstat (limited to 'src')
-rw-r--r--src/devices/nm-device.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/devices/nm-device.c b/src/devices/nm-device.c
index c74afa0936..053fe7bedd 100644
--- a/src/devices/nm-device.c
+++ b/src/devices/nm-device.c
@@ -11641,7 +11641,8 @@ device_ipx_changed (NMPlatform *platform,
case NMP_OBJECT_TYPE_IP6_ADDRESS:
addr = platform_object;
- if ( priv->state > NM_DEVICE_STATE_DISCONNECTED
+ if ( !NM_FLAGS_HAS (addr->n_ifa_flags, IFA_F_SECONDARY)
+ && priv->state > NM_DEVICE_STATE_DISCONNECTED
&& priv->state < NM_DEVICE_STATE_DEACTIVATING
&& ( (change_type == NM_PLATFORM_SIGNAL_CHANGED && addr->n_ifa_flags & IFA_F_DADFAILED)
|| (change_type == NM_PLATFORM_SIGNAL_REMOVED && addr->n_ifa_flags & IFA_F_TENTATIVE))) {