summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@nokia.com>2011-02-10 17:52:20 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2011-02-11 12:27:18 +0100
commit1b092acd5ecafb2aa6d635ee437368c1e2c58a35 (patch)
treeec0883bb2d9ab097d85f9f0b31dd61959f69da13
parent3d82b711c3e02b8fbcf87e5f22a535d48bcf67d1 (diff)
downloadconnman-1b092acd5ecafb2aa6d635ee437368c1e2c58a35.tar.gz
connman-1b092acd5ecafb2aa6d635ee437368c1e2c58a35.tar.bz2
connman-1b092acd5ecafb2aa6d635ee437368c1e2c58a35.zip
ipconfig: Enable ipconfig if loading autoconfigurable IPv6 config
-rw-r--r--src/ipconfig.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 0627b5bd..1fb82816 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -1782,8 +1782,21 @@ int __connman_ipconfig_load(struct connman_ipconfig *ipconfig,
if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_OFF)
disable_ipv6(ipconfig);
else if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_AUTO ||
- ipconfig->method == CONNMAN_IPCONFIG_METHOD_MANUAL)
+ ipconfig->method == CONNMAN_IPCONFIG_METHOD_MANUAL) {
enable_ipv6(ipconfig);
+ __connman_ipconfig_enable(ipconfig);
+
+ if (ipconfig->ops_data) {
+ struct connman_service *service =
+ ipconfig->ops_data;
+ struct connman_network *network;
+ network = __connman_service_get_network(
+ service);
+ if (network)
+ __connman_network_set_ipconfig(network,
+ NULL, ipconfig);
+ }
+ }
}
g_free(method);