diff options
author | Samuel Ortiz <sameo@linux.intel.com> | 2011-02-25 15:32:56 +0100 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-02-25 15:32:56 +0100 |
commit | af62314caf469a2d87380c211b0308987065be07 (patch) | |
tree | d71c431b5153077e9b79fc7dafa86882b43c247c /src | |
parent | 21dcc676a11701d0013d20c45636d2809b439db9 (diff) | |
download | connman-af62314caf469a2d87380c211b0308987065be07.tar.gz connman-af62314caf469a2d87380c211b0308987065be07.tar.bz2 connman-af62314caf469a2d87380c211b0308987065be07.zip |
network: Remove gateway when network disconnects
Diffstat (limited to 'src')
-rw-r--r-- | src/connection.c | 4 | ||||
-rw-r--r-- | src/network.c | 9 |
2 files changed, 6 insertions, 7 deletions
diff --git a/src/connection.c b/src/connection.c index 793bc8f5..fb2e4319 100644 --- a/src/connection.c +++ b/src/connection.c @@ -352,6 +352,10 @@ void __connman_connection_gateway_remove(struct connman_service *service) CONNMAN_SERVICE_STATE_DISCONNECT, CONNMAN_IPCONFIG_TYPE_IPV4); + __connman_service_indicate_state(service, + CONNMAN_SERVICE_STATE_DISCONNECT, + CONNMAN_IPCONFIG_TYPE_IPV6); + data = g_hash_table_lookup(gateway_hash, service); if (data == NULL) return; diff --git a/src/network.c b/src/network.c index ae58347a..2ad073b8 100644 --- a/src/network.c +++ b/src/network.c @@ -923,17 +923,12 @@ static gboolean set_connected(gpointer user_data) service = __connman_service_lookup_from_network(network); + __connman_connection_gateway_remove(service); + __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV4); - /* TODO: eventually the IPv6 disconnect state should be handled - * in connection.c - */ - __connman_service_indicate_state(service, - CONNMAN_SERVICE_STATE_DISCONNECT, - CONNMAN_IPCONFIG_TYPE_IPV6); - __connman_service_indicate_state(service, CONNMAN_SERVICE_STATE_IDLE, CONNMAN_IPCONFIG_TYPE_IPV6); |