From: Steven Barth Date: Tue, 29 Jan 2013 10:36:32 +0000 (+0100) Subject: IPv6 prefixes: conform to RFC 6204 requirement L13 X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=commitdiff_plain;h=a637dba6e4393f0ec8f8bf294fbeb89b8e4ebc66 IPv6 prefixes: conform to RFC 6204 requirement L13 --- diff --git a/interface-ip.c b/interface-ip.c index ea4c3dd..56f8bd9 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -456,8 +456,13 @@ interface_set_prefix_address(struct interface *iface, bool add, addr.valid_until = assignment->prefix->valid_until; if (!add) { - if (assignment->enabled) - system_del_address(l3_downlink, &addr); + if (assignment->enabled) { + time_t now = system_get_rtime(); + addr.preferred_until = now; + if (addr.valid_until - now > 7200) + addr.valid_until = now + 7200; + system_add_address(l3_downlink, &addr); + } } else { system_add_address(l3_downlink, &addr);