From: Alin Nastac <alin.nas...@gmail.com>

When netifd manages the prefix route directly, it will remove it
the moment prefix gets deprecated. This will make it impossible
for the target to send ICMPv6 errors back to LAN devices still
using the deprecated prefix, thus breaking the L-14 requirement
of RFC 7084.

Signed-off-by: Alin Nastac <alin.nas...@gmail.com>
---
 interface-ip.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/interface-ip.c b/interface-ip.c
index 91c305b..ff8f219 100644
--- a/interface-ip.c
+++ b/interface-ip.c
@@ -913,7 +913,7 @@ interface_set_prefix_address(struct 
device_prefix_assignment *assignment,
 
        addr.addr.in6 = assignment->addr;
        addr.mask = assignment->length;
-       addr.flags = DEVADDR_INET6 | DEVADDR_OFFLINK;
+       addr.flags = DEVADDR_INET6;
        addr.preferred_until = prefix->preferred_until;
        addr.valid_until = prefix->valid_until;
 
@@ -960,6 +960,7 @@ interface_set_prefix_address(struct 
device_prefix_assignment *assignment,
                        route.addr = addr.addr;
                }
 
+               addr.flags |= DEVADDR_OFFLINK;
                if (system_add_address(l3_downlink, &addr))
                        return;
 
-- 
2.7.4


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to