Tweak definition of a permanent IPv6 address on Linux.

The linux kernel treats all addresses with a limited lifetime as being
non permanent, but when taking over the prefix livetimes from
upstream assigned prefixes through DHCP, addresses will always have a limited
lifetime.

Still reject temporary addresses, as they indicate autoconfigured
interfaces.

Contributed by T-Labs, Deutsche Telekom Innovation Laboratories

Signed-off-by: Jonas Gorski<jogo@openwrt.org>
This commit is contained in:
Jonas Gorski
2014-01-22 11:34:16 +00:00
committed by Simon Kelley
parent dd0e0a3995
commit 57ab36e77d

View File

@@ -265,7 +265,7 @@ int iface_enumerate(int family, void *parm, int (*callback)())
if (ifa->ifa_flags & IFA_F_DEPRECATED) if (ifa->ifa_flags & IFA_F_DEPRECATED)
flags |= IFACE_DEPRECATED; flags |= IFACE_DEPRECATED;
if (ifa->ifa_flags & IFA_F_PERMANENT) if (!(ifa->ifa_flags & IFA_F_TEMPORARY))
flags |= IFACE_PERMANENT; flags |= IFACE_PERMANENT;
if (addrp && callback_ok) if (addrp && callback_ok)