diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2011-06-22 13:37:45 +0300 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-06-27 16:15:08 +0200 |
commit | 3d761a0d18626e1ac8610a73d1cccf74af8988b2 (patch) | |
tree | e458dfff9c50fd83831d83fff0832f456e8c0ff4 /src/network.c | |
parent | 84a739d0082b89efa8cfbf376abe17937e4bc843 (diff) | |
download | connman-3d761a0d18626e1ac8610a73d1cccf74af8988b2.tar.gz connman-3d761a0d18626e1ac8610a73d1cccf74af8988b2.tar.bz2 connman-3d761a0d18626e1ac8610a73d1cccf74af8988b2.zip |
network: Set manual IPv6 state and gateway.
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/network.c b/src/network.c index acc374f6..4abcb09a 100644 --- a/src/network.c +++ b/src/network.c @@ -960,6 +960,8 @@ static int manual_ipv6_set(struct connman_network *network, struct connman_service *service; int err; + DBG("network %p ipv6 %p", network, ipconfig_ipv6); + service = __connman_service_lookup_from_network(network); if (service == NULL) return -EINVAL; @@ -971,10 +973,23 @@ static int manual_ipv6_set(struct connman_network *network, return err; } - /* - * READY state will be indicated by IPV4 setting - * gateway will be set by IPV4 setting - */ + err = __connman_ipconfig_gateway_add(ipconfig_ipv6); + if (err < 0) + return err; + + __connman_connection_gateway_activate(service, + CONNMAN_IPCONFIG_TYPE_IPV6); + + __connman_device_increase_connections(network->device); + + __connman_device_set_network(network->device, network); + + connman_device_set_disconnected(network->device, FALSE); + + network->connecting = FALSE; + + __connman_service_set_ipconfig_ready(service, + CONNMAN_IPCONFIG_TYPE_IPV6); return 0; } |