summaryrefslogtreecommitdiff
path: root/src/ipconfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r--src/ipconfig.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c
index 4d9b30f7..0627b5bd 100644
--- a/src/ipconfig.c
+++ b/src/ipconfig.c
@@ -1778,6 +1778,14 @@ int __connman_ipconfig_load(struct connman_ipconfig *ipconfig,
if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_UNKNOWN)
ipconfig->method = CONNMAN_IPCONFIG_METHOD_OFF;
+ if (ipconfig->type == CONNMAN_IPCONFIG_TYPE_IPV6) {
+ if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_OFF)
+ disable_ipv6(ipconfig);
+ else if (ipconfig->method == CONNMAN_IPCONFIG_METHOD_AUTO ||
+ ipconfig->method == CONNMAN_IPCONFIG_METHOD_MANUAL)
+ enable_ipv6(ipconfig);
+ }
+
g_free(method);
g_free(key);