[LEDE-DEV] [PATCH netifd 1/2] interface-ip: set address indicator flag when IPv6 address lifetime changes

Eric Luehrsen ericluehrsen at hotmail.com
Mon Apr 17 07:44:58 PDT 2017


On Thu, Mar 9, 2017 at 10:20 PM, Matthias Schiffer
<mschiffer at universe-factory.net> wrote:
 > On 03/09/2017 05:32 PM, Hans Dedecker wrote:
 >> Trigger interface update event when IPv6 address lifetime changes by 
setting
 >> the address indicator flag to inform external subsystems about IPv6 
address
 >> lifetime change.
 >>
 >> Signed-off-by: Hans Dedecker <dedeckeh at gmail.com>
 >
 > AFAICT, this will cause a lot of ifupdate events in big IPv6 networks 
(for
 > example, some large mesh networks based on Gluon have more than 4000 
client
 > and 5-10 radvds, often causing more than one RA per second, each updating
 > valid/preferred lifetimes). We *really* want to avoid causing lots of
 > reloads for services that set triggers on interface updates; the majority
 > of services is not interested in the lifetimes of addresses at all.
 >
 > Matthias
 >
 >
 >> ---
 >>  interface-ip.c | 4 +++-
 >>  1 file changed, 3 insertions(+), 1 deletion(-)
 >>
 >> diff --git a/interface-ip.c b/interface-ip.c
 >> index ddca5d2..366f69a 100644
 >> --- a/interface-ip.c
 >> +++ b/interface-ip.c
 >> @@ -563,8 +563,10 @@ interface_update_proto_addr(struct vlist_tree 
*tree,
 >>                       keep = false;
 >>
 >>               if (a_old->valid_until != a_new->valid_until ||
 >> -                             a_old->preferred_until != 
a_new->preferred_until)
 >> +                             a_old->preferred_until != 
a_new->preferred_until) {
 >> +                     iface->updated |= IUF_ADDRESS;
 >>                       replace = true;
 >> +             }
 >>
 >>               if ((a_new->flags & DEVADDR_FAMILY) == DEVADDR_INET4 &&
 >>                   a_new->broadcast != a_old->broadcast)

It appears that the concerns with this commit have manifested as 
undesirable side effects. For name servers, this flushes the cache. This 
is would be a regression with perspective from other packages that use 
the interface triggers only to start/reload. With my device and ISP, 
this can happen as often as every 2 minutes. Please consider reverting 
this commit or fix this new behavior to be a controllable feature. Maybe 
enable/disable or limit to not more than every hour or other choice 
time. FS#713. netifd/a03216660797173fbe67866f75564e3fec9c1e8d


More information about the Lede-dev mailing list