interface-ip: set prefix indicator flag when IPv6 prefix lifetime changes
authorHans Dedecker <dedeckeh@gmail.com>
Thu, 9 Mar 2017 16:33:00 +0000 (17:33 +0100)
committerHans Dedecker <dedeckeh@gmail.com>
Tue, 21 Mar 2017 21:47:00 +0000 (22:47 +0100)
Trigger interface update event when IPv6 prefix lifetime changes by setting
the prefix indicator flag to inform external subsystems (eg hnetd) about IPv6
prefix lifetime changes.

Signed-off-by: Hans Dedecker <dedeckeh@gmail.com>
interface-ip.c

index ddca5d2e8dfc27564f8486d9908e2fcf934c89e9..dd4e01c15b62757ebc0ca4411223a1b182173f89 100644 (file)
@@ -1047,6 +1047,10 @@ interface_update_prefix(struct vlist_tree *tree,
                list_for_each_entry(c, &prefix_new->assignments, head)
                        if ((iface = vlist_find(&interfaces, c->name, iface, node)))
                                interface_set_prefix_address(c, prefix_new, iface, true);
+
+               if (prefix_new->preferred_until != prefix_old->preferred_until ||
+                               prefix_new->valid_until != prefix_old->valid_until)
+                       ip->iface->updated |= IUF_PREFIX;
        } else if (node_new) {
                // Set null-route to avoid routing loops
                system_add_route(NULL, &route);