diff --git a/core/net/rpl/rpl.c b/core/net/rpl/rpl.c index 47a3d1bcc..145ec1cd1 100644 --- a/core/net/rpl/rpl.c +++ b/core/net/rpl/rpl.c @@ -215,12 +215,10 @@ rpl_remove_routes_by_nexthop(uip_ipaddr_t *nexthop, rpl_dag_t *dag) while(r != NULL) { if(uip_ipaddr_cmp(uip_ds6_route_nexthop(r), nexthop) && - r->state.dag == dag) { - uip_ds6_route_rm(r); - r = uip_ds6_route_head(); - } else { - r = uip_ds6_route_next(r); + r->state.dag == dag) { + r->state.lifetime = 0; } + r = uip_ds6_route_next(r); } ANNOTATE("#L %u 0\n", nexthop->u8[sizeof(uip_ipaddr_t) - 1]); }