diff options
author | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2011-07-25 16:24:23 +0200 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2011-07-25 22:43:21 +0200 |
commit | 92c0a3bbf71ea93a49cb20a520d003c147e52871 (patch) | |
tree | ab476953c5dd35b3f03fb6225bedad1bec42ec00 /src/network.c | |
parent | 14030eaee370dcc42a96e7f30b0a9f63a2530266 (diff) | |
download | connman-92c0a3bbf71ea93a49cb20a520d003c147e52871.tar.gz connman-92c0a3bbf71ea93a49cb20a520d003c147e52871.tar.bz2 connman-92c0a3bbf71ea93a49cb20a520d003c147e52871.zip |
network: Stop DHCP
If DHCP has been started for the IPv4 IP configuration we should also
stop it later.
The only place where it has been done so far was in
__connman_network_clear_ipconfig() which is called from
service.c:set_ipconfig(). But this will only be called if the user
changes service settings.
Diffstat (limited to 'src/network.c')
-rw-r--r-- | src/network.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/network.c b/src/network.c index 58bfb164..06aec05b 100644 --- a/src/network.c +++ b/src/network.c @@ -1075,6 +1075,18 @@ static gboolean set_connected(gpointer user_data) service = __connman_service_lookup_from_network(network); + switch (ipv4_method) { + case CONNMAN_IPCONFIG_METHOD_UNKNOWN: + case CONNMAN_IPCONFIG_METHOD_OFF: + case CONNMAN_IPCONFIG_METHOD_AUTO: + case CONNMAN_IPCONFIG_METHOD_FIXED: + case CONNMAN_IPCONFIG_METHOD_MANUAL: + break; + case CONNMAN_IPCONFIG_METHOD_DHCP: + __connman_dhcp_stop(network); + break; + } + __connman_service_ipconfig_indicate_state(service, CONNMAN_SERVICE_STATE_DISCONNECT, CONNMAN_IPCONFIG_TYPE_IPV4); |