ipconfig: Disable IPv6 for new interfaces
authorDaniel Wagner <daniel.wagner@bmw-carit.de>
Mon, 19 Mar 2012 12:50:40 +0000 (13:50 +0100)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 20 Mar 2012 10:03:41 +0000 (12:03 +0200)
We don't have yet an ipconfig for this interface, that means
the service.c does not yet know this interface. In order to
be able to get into sync we disable IPv6 auto connection at this point.

If the service state machine decides to connect, it will enable it
again.

src/ipconfig.c

index 399e492..af5666d 100644 (file)
@@ -550,6 +550,13 @@ static void __connman_ipconfig_lower_up(struct connman_ipdevice *ipdevice)
 {
        DBG("ipconfig ipv4 %p ipv6 %p", ipdevice->config_ipv4,
                                        ipdevice->config_ipv6);
+
+       if (ipdevice->config_ipv6 != NULL &&
+                       ipdevice->config_ipv6->enabled == TRUE)
+               return;
+
+       set_ipv6_state(ipdevice->ifname, FALSE);
+       ipdevice->ipv6_enabled = FALSE;
 }
 
 static void __connman_ipconfig_lower_down(struct connman_ipdevice *ipdevice)