[Dnsmasq-discuss] dhcp-pd, and autoassigned internal interfaces issues

Simon Kelley simon at thekelleys.org.uk
Thu Feb 6 16:49:08 GMT 2014


On 23/01/14 02:31, Vladislav Grishenko wrote:
> Hi Simon,
>
>>> -    if (ifa->ifa_flags&   IFA_F_PERMANENT)
>>> +    if (!(ifa->ifa_flags&   IFA_F_TEMPORARY))
>
> IFA_F_TEMPORARY flag used only if privacy extensions are enabled in kernel,
> in all other cases it makes no sense and will not be there.
> That means condition will be always evaluated as TRUE for any kind of
> address, including event tentative, and any address but privacy-generated
> will get permanent flag.
> Meanwhile, construct_worker() has no protection against tentative, temporary
> and so on flags, so, after patch, it will work for any address on linux.
> Was it really intended?
>

The problem is that there's no way, using the existing flags, for 
distinguish between an address created as a result of RA and one created 
by the dhcpv6-pd client or 6in4 . That's right Dave? Linux is missing 
the IN6_IFF_AUTOCONF flag that BSD has that marks RA-created flags.

So, the above should probably be extended to eliminate dadfailed 
(deprecated is already filtered out) but there's no way to avoid RA, 
except for going back to the rule that the host-identifier part of the 
address must be equal to the first or last address in the dhcp-range.

Unless anyone has any bright ideas.


Cheers,

Simon.





More information about the Dnsmasq-discuss mailing list