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

Simon Kelley simon at thekelleys.org.uk
Wed Jan 22 11:37:37 GMT 2014


Patch applied.



Cheers,

Simon.

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.
>
>> 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)
>
>




More information about the Dnsmasq-discuss mailing list