No need to install policy routes if the prefix address cannot be installed; clean up of the policy routes and the prefix address only needs to happen when the prefix assignment was active.
Signed-off-by: Hans Dedecker <dedec...@gmail.com> --- interface-ip.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/interface-ip.c b/interface-ip.c index d5a3832..fc48941 100644 --- a/interface-ip.c +++ b/interface-ip.c @@ -660,8 +660,8 @@ interface_set_prefix_address(struct device_prefix_assignment *assignment, } assignment->enabled = false; - } else if (add && (iface->state == IFS_UP || iface->state == IFS_SETUP)) { - system_add_address(l3_downlink, &addr); + } else if (add && (iface->state == IFS_UP || iface->state == IFS_SETUP) && + !system_add_address(l3_downlink, &addr)) { if (prefix->iface && !assignment->enabled) { set_ip_source_policy(true, true, IPRULE_PRIORITY_REJECT, &addr.addr, addr.mask, 0, iface, "unreachable"); -- 1.7.1 _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel