summaryrefslogtreecommitdiff
path: root/subsys
diff options
context:
space:
mode:
authorRavi kumar Veeramally <ravikumar.veeramally@linux.intel.com>2017-04-27 13:44:47 +0300
committerJukka Rissanen <jukka.rissanen@linux.intel.com>2017-04-28 15:01:11 +0300
commitead481a041073466b54653dff3137aad28c68cc9 (patch)
tree0ba76507dd8c19b68a44006612e36c170ec20b4d /subsys
parent5edf55f7715f452afd7e2b0741c1f0a917974fe6 (diff)
net: rpl: Fix invalid usage of router addition api
net_if_ipv6_router_add() will return router pointer on success. This information must be cached in RPL instance, otherwise RPL instance doesn't know about default route. Change-Id: Ic6d80ebfa95c9a64df9adf2621ae2631d9bdb990 Signed-off-by: Ravi kumar Veeramally <ravikumar.veeramally@linux.intel.com>
Diffstat (limited to 'subsys')
-rw-r--r--subsys/net/ip/rpl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/subsys/net/ip/rpl.c b/subsys/net/ip/rpl.c
index 15cd590de..3595ae972 100644
--- a/subsys/net/ip/rpl.c
+++ b/subsys/net/ip/rpl.c
@@ -2714,9 +2714,12 @@ static void net_rpl_process_dio(struct net_if *iface,
* Add default route to set a fresh value for the lifetime
* counter.
*/
- net_if_ipv6_router_add(iface, from,
- net_rpl_lifetime(instance,
+ instance->default_route = net_if_ipv6_router_add(iface, from,
+ net_rpl_lifetime(instance,
instance->default_lifetime));
+ if (!instance->default_route) {
+ return;
+ }
}
parent->dtsn = dio->dtsn;