diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-01-03 14:36:26 +0200 |
---|---|---|
committer | Daniel Wagner <daniel.wagner@bmw-carit.de> | 2012-01-05 11:09:16 +0100 |
commit | fc3d4097fcdbbcc6ca870ed24fec47bfb15ad90a (patch) | |
tree | a5c67ed314738ce1c385cd39a4b8a7edbad23057 /src/ipconfig.c | |
parent | 86adee5b6fa2ee97ff28d412a620dc3028a209e0 (diff) | |
download | connman-fc3d4097fcdbbcc6ca870ed24fec47bfb15ad90a.tar.gz connman-fc3d4097fcdbbcc6ca870ed24fec47bfb15ad90a.tar.bz2 connman-fc3d4097fcdbbcc6ca870ed24fec47bfb15ad90a.zip |
ipconfig: Have separate callbacks for route changes.
Route changes should not trigger ip_bound or ip_release callbacks
in service.c as that can cause too early transition into IPv6 ready state.
The ip_bound (in __connman_ipconfig_newaddr()) and ip_release (in
__connman_ipconfig_deladdr()) are enough to trigger a transition
in IPv6 state.
This also prevents too many notifier calls in session as we only
notify session when address changes.
Diffstat (limited to 'src/ipconfig.c')
-rw-r--r-- | src/ipconfig.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/ipconfig.c b/src/ipconfig.c index 20207a1f..950229de 100644 --- a/src/ipconfig.c +++ b/src/ipconfig.c @@ -941,8 +941,8 @@ void __connman_ipconfig_newroute(int index, int family, unsigned char scope, if (ipconfig->ops == NULL) continue; - if (ipconfig->ops->ip_bound) - ipconfig->ops->ip_bound(ipconfig); + if (ipconfig->ops->route_set) + ipconfig->ops->route_set(ipconfig); } } @@ -1003,8 +1003,8 @@ void __connman_ipconfig_delroute(int index, int family, unsigned char scope, if (ipconfig->ops == NULL) continue; - if (ipconfig->ops->ip_release) - ipconfig->ops->ip_release(ipconfig); + if (ipconfig->ops->route_unset) + ipconfig->ops->route_unset(ipconfig); } } |