diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-03-19 13:50:40 +0100 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-03-20 12:03:41 +0200 |
commit | 4ce90440a70abce7de5377776e942ff14e7152f9 (patch) | |
tree | d96de3f0dbc428d7d9ece6942cd641ac978f7697 | |
parent | d51d9c7ab4a95d1061d7d4b11b77ea2541f48ade (diff) | |
download | connman-4ce90440a70abce7de5377776e942ff14e7152f9.tar.gz connman-4ce90440a70abce7de5377776e942ff14e7152f9.tar.bz2 connman-4ce90440a70abce7de5377776e942ff14e7152f9.zip |
ipconfig: Disable IPv6 for new interfaces
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.
-rw-r--r-- | src/ipconfig.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c index 399e4927..af5666db 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -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) |