diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-01-05 13:38:14 +0200 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-01-05 13:17:26 +0100 |
commit | 53f38ce0bc6505c8b8a7342b0243df442b7db5a4 (patch) | |
tree | ed3550a683f4f77ab7936374f4464ce19d1fbc5d /src/network.c | |
parent | 5f5b3609c4f9884954623d7e6bf2ae1ae7096637 (diff) | |
download | connman-53f38ce0bc6505c8b8a7342b0243df442b7db5a4.tar.gz connman-53f38ce0bc6505c8b8a7342b0243df442b7db5a4.tar.bz2 connman-53f38ce0bc6505c8b8a7342b0243df442b7db5a4.zip |
dhcpv6: Release message implemented.
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/network.c b/src/network.c index bff0e7e2..2637ba5d 100644 --- a/src/network.c +++ b/src/network.c @@ -974,6 +974,21 @@ static void stop_dhcpv6(struct connman_network *network) __connman_dhcpv6_stop(network); } +static void dhcpv6_release_callback(struct connman_network *network, + connman_bool_t success) +{ + DBG("success %d", success); + + stop_dhcpv6(network); +} + +static void release_dhcpv6(struct connman_network *network) +{ + if (__connman_dhcpv6_start_release(network, + dhcpv6_release_callback) < 0) + stop_dhcpv6(network); +} + static void dhcpv6_info_callback(struct connman_network *network, connman_bool_t success) { @@ -1211,7 +1226,7 @@ static gboolean set_connected(gpointer user_data) break; case CONNMAN_IPCONFIG_METHOD_DHCP: case CONNMAN_IPCONFIG_METHOD_AUTO: - stop_dhcpv6(network); + release_dhcpv6(network); break; } |