summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-07-12 15:32:42 +0300
committerMarcel Holtmann <marcel@holtmann.org>2012-07-13 06:41:59 -0300
commited12a4d8fac2ece0e400b81bae1f76c2420a1ec0 (patch)
tree785b16c3eb599c7ba0c05fbc47f63685e514c9fa
parentcc87232d2439b6fa4a8d7a4f9e0dac764d1e6e0a (diff)
downloadconnman-ed12a4d8fac2ece0e400b81bae1f76c2420a1ec0.tar.gz
connman-ed12a4d8fac2ece0e400b81bae1f76c2420a1ec0.tar.bz2
connman-ed12a4d8fac2ece0e400b81bae1f76c2420a1ec0.zip
service: Gateway IP address property is not sent
The address of the IP gateway is not sent when the IP property changes. This was because of timing issues i.e., the gateway was not yet set when the other IP properties were sent. Fixes BMC#25471
-rw-r--r--src/service.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/service.c b/src/service.c
index fdd59d57..e944ff5e 100644
--- a/src/service.c
+++ b/src/service.c
@@ -5803,6 +5803,15 @@ static void service_ip_release(struct connman_ipconfig *ipconfig)
settings_changed(service, ipconfig);
}
+static void service_route_changed(struct connman_ipconfig *ipconfig)
+{
+ struct connman_service *service = __connman_ipconfig_get_data(ipconfig);
+
+ DBG("%s route changed", __connman_ipconfig_get_ifname(ipconfig));
+
+ settings_changed(service, ipconfig);
+}
+
static const struct connman_ipconfig_ops service_ops = {
.up = service_up,
.down = service_down,
@@ -5810,6 +5819,8 @@ static const struct connman_ipconfig_ops service_ops = {
.lower_down = service_lower_down,
.ip_bound = service_ip_bound,
.ip_release = service_ip_release,
+ .route_set = service_route_changed,
+ .route_unset = service_route_changed,
};
static void setup_ip4config(struct connman_service *service, int index,