From: Pasi Sjöholm <pasi.sjoh...@jollamobile.com>

network->connecting was incorrectly set to false on
autoconf_ipv6_set and it needs to be set only after we have
ip addresses for the interface.
---
 src/network.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/network.c b/src/network.c
index 217be32..0cef220 100644
--- a/src/network.c
+++ b/src/network.c
@@ -521,10 +521,14 @@ static void check_dhcpv6(struct nd_router_advert *reply,
        /*
         * We do stateful/stateless DHCPv6 if router advertisement says so.
         */
-       if (reply->nd_ra_flags_reserved & ND_RA_FLAG_MANAGED)
+       if (reply->nd_ra_flags_reserved & ND_RA_FLAG_MANAGED) {
                __connman_dhcpv6_start(network, prefixes, dhcpv6_callback);
-       else if (reply->nd_ra_flags_reserved & ND_RA_FLAG_OTHER)
+       } else if (reply->nd_ra_flags_reserved & ND_RA_FLAG_OTHER) {
                __connman_dhcpv6_start_info(network, dhcpv6_info_callback);
+               network->connecting = false;
+       } else {
+               network->connecting = false;
+       }
 
        connman_network_unref(network);
 }
@@ -604,8 +608,6 @@ static void autoconf_ipv6_set(struct connman_network 
*network)
 
        connman_device_set_disconnected(network->device, false);
 
-       network->connecting = false;
-
        service = connman_service_lookup_from_network(network);
        if (!service)
                return;
-- 
2.1.0

_______________________________________________
connman mailing list
connman@connman.net
https://lists.connman.net/mailman/listinfo/connman

Reply via email to