fix: default routes are removed correctly if no DAG with preferred parent is available

This commit is contained in:
Jens Dede 2013-07-23 15:35:47 +02:00
parent 10f64c0ce8
commit 9dd5af78c8

View file

@ -703,7 +703,9 @@ rpl_remove_parent(rpl_dag_t *dag, rpl_parent_t *parent)
void void
rpl_nullify_parent(rpl_dag_t *dag, rpl_parent_t *parent) rpl_nullify_parent(rpl_dag_t *dag, rpl_parent_t *parent)
{ {
if(parent == dag->preferred_parent) { // local repair calls nullification because the preferred parent is NULL!
// So check if parent is NULL to trigger uip_ds6_defrt_rm.
if(parent == dag->preferred_parent || dag->preferred_parent == NULL) {
dag->preferred_parent = NULL; dag->preferred_parent = NULL;
dag->rank = INFINITE_RANK; dag->rank = INFINITE_RANK;
if(dag->joined) { if(dag->joined) {