---
 src/ipconfig.c |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/src/ipconfig.c b/src/ipconfig.c
index 7a53689..6196a03 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -616,6 +616,14 @@ 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->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
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to