diff options
-rw-r--r-- | src/dhcp.c | 4 | ||||
-rw-r--r-- | src/service.c | 2 |
2 files changed, 6 insertions, 0 deletions
@@ -73,6 +73,8 @@ static void dhcp_invalid(struct connman_dhcp *dhcp) if (ipconfig == NULL) return; + __connman_6to4_remove(ipconfig); + __connman_service_set_domainname(service, NULL); __connman_service_set_pac(service, NULL); __connman_service_timeserver_remove(service, dhcp->timeserver); @@ -289,6 +291,8 @@ static void lease_available_cb(GDHCPClient *dhcp_client, gpointer user_data) if (ip_change == TRUE) dhcp_valid(dhcp); + __connman_6to4_probe(service); + g_free(address); g_free(netmask); g_free(gateway); diff --git a/src/service.c b/src/service.c index f4b15f0b..b1475517 100644 --- a/src/service.c +++ b/src/service.c @@ -3887,6 +3887,8 @@ int __connman_service_disconnect(struct connman_service *service) if (err < 0 && err != -EINPROGRESS) return err; + __connman_6to4_remove(service->ipconfig_ipv4); + if (service->ipconfig_ipv4) __connman_ipconfig_set_proxy_autoconfig(service->ipconfig_ipv4, NULL); |