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

Dave Taht dave.taht at gmail.com
Wed Jan 22 15:13:06 GMT 2014


On Tue, Jan 21, 2014 at 5:13 PM, Simon Kelley <simon at thekelleys.org.uk> wrote:
> On 21/01/14 16:19, Dave Taht wrote:
>>
>> I have finally got my first-ever comcast ipv6 set of users up, and we
>> have a problem
>> with the interrelationship between addresses assigned dynamically by
>> dhcpv6-pd and other means in dnsmasq 2.68.
>>
>> What happens now is that dhcpv6-pd works but dnsmasq 2.68 filters out the
>> interface
>>
>> 13: sw00: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qlen 1000
>>      inet6 2601:X:Y:9a1::1/64 scope global dynamic
>>         valid_lft 182420sec preferred_lft 182420sec
>>
>> so sends no ras.
>>
>> adding a second "stable" interface dnsmasq picks up.
>>
>>
>>      inet6 2601:3:8180:9a1::2/64 scope global
>>         valid_lft forever preferred_lft forever
>>
>>
>> this check was not in dnsmasq 2.66, and was put in later for fairly
>> sound reasons
>> (like you don't want to start serving RAs on a SLAAC assigned
>> address), but in the
>> dhcp-pd case or otherwise assigned by the router (6in4) case, we do.
>>
>> Anyway the below patch "fixes it" but I'd like there to be some clear
>> indicator
>> of where things came from somehow.
>
>
> Comparing the code in bpf.c (for *BSD) and netlink.c (for Linux) I think
> it's clear what's meant: exclusion of privacy addresses and addresses
> installed as a result of RAs received.  The patch covers the first of those,
> but there doesn't seem to be a Linux equivalent of the BSD IN6_IFF_AUTOCONF
> flag to detect RA-originated addresses. I looked at the kernel source, and
> there's no candidate I can see.
>
> I suspect that this patch is the best that can be done.

Well, no, we can always go off and get this BSD IPv6 RA flag into the Linux
kernel too. :)

Looks needed and useful. And trivial.

>
>
> Cheers,
>
> Simon.
>
>
>>
>>> From 4f55df81d69d20230e18c90d772904372b2b90a4 Mon Sep 17 00:00:00 2001
>>> From: Jonas Gorski <XXXXX at openwrt.org>
>>> Date: Wed, 8 Jan 2014 11:55:08 +0100
>>> Subject: [PATCH] allow dhcp range construction with non-permanent
>>> addresses
>>
>>
>> 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 at openwrt.org>
>> ---
>>   src/netlink.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/netlink.c b/src/netlink.c
>> index 3be94ee..d5de4ab 100644
>> --- a/src/netlink.c
>> +++ b/src/netlink.c
>> @@ -265,7 +265,7 @@ int iface_enumerate(int family, void *parm, int
>> (*callback)())
>>       if (ifa->ifa_flags & IFA_F_DEPRECATED)
>>         flags |= IFACE_DEPRECATED;
>>
>> -    if (ifa->ifa_flags & IFA_F_PERMANENT)
>> +    if (!(ifa->ifa_flags & IFA_F_TEMPORARY))
>>         flags |= IFACE_PERMANENT;
>>
>>       if (addrp && callback_ok)
>>
>>
>



-- 
Dave Täht

Fixing bufferbloat with cerowrt: http://www.teklibre.com/cerowrt/subscribe.html



More information about the Dnsmasq-discuss mailing list