summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/dhcp.c4
-rw-r--r--src/service.c2
2 files changed, 6 insertions, 0 deletions
diff --git a/src/dhcp.c b/src/dhcp.c
index 3106c3d1..03a2b903 100644
--- a/src/dhcp.c
+++ b/src/dhcp.c
@@ -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);