Chris Webb <ch...@arachsys.com> writes: > The lan-facing interface br0 always has a v6 ULA address, but may sometimes > also have a global v6 address with a default v6 route available. [...] > Is there an easy way to have non-zero lifetime for advertisements for the > global prefix, but drop the route lifetime to zero for advertisements for > the ULA prefix?
I dug into this a bit. radv.c already has a special case which sets the router lifetime to zero when only old prefixes are being advertised. This is nice because it does something sensible out-of-the-box, without special config wrangling. I wonder if we should also set the router lifetime to zero when there are no globally-routable addresses to advertise, e.g. something like the following which I'm running locally: diff --git a/src/radv.c b/src/radv.c index 5820f4a..16737c4 100644 --- a/src/radv.c +++ b/src/radv.c @@ -402,8 +402,8 @@ static void send_ra_alias(time_t now, int iface, char *iface_name, struct in6_ad up = &context->next; } - /* If we're advertising only old prefixes, set router lifetime to zero. */ - if (old_prefix && !parm.found_context) + /* If we're advertising only local or old prefixes, set router lifetime to zero. */ + if ((old_prefix && !parm.found_context) || parm.glob_pref_time == 0) ra->lifetime = htons(0); /* No prefixes to advertise. */ _______________________________________________ Dnsmasq-discuss mailing list Dnsmasq-discuss@lists.thekelleys.org.uk https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss