The DHCPv6 is used when doing autoconfiguration so we must allow address setting/unsetting in auto mode. --- src/ipconfig.c | 6 +++--- src/network.c | 4 +++- 2 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/ipconfig.c b/src/ipconfig.c index cced765..2443735 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -1464,8 +1464,8 @@ int __connman_ipconfig_address_add(struct connman_ipconfig *ipconfig) switch (ipconfig->method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: - case CONNMAN_IPCONFIG_METHOD_AUTO: break; + case CONNMAN_IPCONFIG_METHOD_AUTO: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: case CONNMAN_IPCONFIG_METHOD_MANUAL: @@ -1494,8 +1494,8 @@ int __connman_ipconfig_address_remove(struct connman_ipconfig *ipconfig) switch (ipconfig->method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: - case CONNMAN_IPCONFIG_METHOD_AUTO: break; + case CONNMAN_IPCONFIG_METHOD_AUTO: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: case CONNMAN_IPCONFIG_METHOD_MANUAL: @@ -1522,8 +1522,8 @@ int __connman_ipconfig_address_unset(struct connman_ipconfig *ipconfig) switch (ipconfig->method) { case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: - case CONNMAN_IPCONFIG_METHOD_AUTO: break; + case CONNMAN_IPCONFIG_METHOD_AUTO: case CONNMAN_IPCONFIG_METHOD_FIXED: case CONNMAN_IPCONFIG_METHOD_DHCP: case CONNMAN_IPCONFIG_METHOD_MANUAL: diff --git a/src/network.c b/src/network.c index b14d8bb..ee2bab1 100644 --- a/src/network.c +++ b/src/network.c @@ -1474,8 +1474,10 @@ int __connman_network_clear_ipconfig(struct connman_network *network, case CONNMAN_IPCONFIG_METHOD_UNKNOWN: case CONNMAN_IPCONFIG_METHOD_OFF: case CONNMAN_IPCONFIG_METHOD_FIXED: - case CONNMAN_IPCONFIG_METHOD_AUTO: return -EINVAL; + case CONNMAN_IPCONFIG_METHOD_AUTO: + release_dhcpv6(network); + break; case CONNMAN_IPCONFIG_METHOD_MANUAL: __connman_ipconfig_address_remove(ipconfig); break; -- 1.7.1 _______________________________________________ connman mailing list connman@connman.net http://lists.connman.net/listinfo/connman