--- src/ipconfig.c | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/ipconfig.c b/src/ipconfig.c index 7a14c42..2c0ede6 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -616,6 +616,15 @@ void __connman_ipconfig_deladdr(int index, int family, const char *label, ipdevice->address_list = g_slist_remove(ipdevice->address_list, ipaddress); + if (family == AF_INET6 && ipdevice->config_ipv6 && + ipdevice->config_ipv6->system && + ipdevice->config_ipv6->system->prefixlen == + ipaddress->prefixlen && + g_strcmp0(ipdevice->config_ipv6->system->local, + ipaddress->local) == 0) { + connman_ipaddress_clear(ipdevice->config_ipv6->system); + } + connman_ipaddress_free(ipaddress); connman_info("%s {del} address %s/%u label %s", ipdevice->ifname, -- 1.7.0.4 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman