service: Create/remove 6to4 tunnel.
authorJukka Rissanen <jukka.rissanen@nokia.com>
Fri, 25 Mar 2011 13:03:17 +0000 (15:03 +0200)
committerSamuel Ortiz <sameo@linux.intel.com>
Fri, 25 Mar 2011 13:46:09 +0000 (14:46 +0100)
src/dhcp.c
src/service.c

index 3106c3d..03a2b90 100644 (file)
@@ -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);
index f4b15f0..b147551 100644 (file)
@@ -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);