summaryrefslogtreecommitdiff
path: root/interface-ip.c
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2014-02-16 12:10:57 +0100
committerSteven Barth <steven@midlink.org>2014-02-16 12:10:57 +0100
commit34192161b45520713ebaa5447553fa546e6ee932 (patch)
treea6b338f225512808f5d34750dd796a3b00ee34a8 /interface-ip.c
parentb8c54175393d6cfd07ea641230bd785ce9aee0cc (diff)
downloadnetifd-34192161b45520713ebaa5447553fa546e6ee932.tar.gz
IPv6: work around dangling routes kernel issue
Diffstat (limited to 'interface-ip.c')
-rw-r--r--interface-ip.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/interface-ip.c b/interface-ip.c
index fed7d72..3bd92cf 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -648,6 +648,7 @@ interface_set_prefix_address(struct device_prefix_assignment *assignment,
addr.preferred_until = now;
if (!addr.valid_until || addr.valid_until - now > 7200)
addr.valid_until = now + 7200;
+ system_del_address(l3_downlink, &addr); // Work around dangling prefix routes
system_add_address(l3_downlink, &addr);
if (prefix->iface) {
if (prefix->iface->ip6table)