Fix rpl_select_parent in the non-probing case
This commit is contained in:
parent
43b01b3236
commit
d008bf8a76
1 changed files with 8 additions and 6 deletions
|
@ -880,9 +880,9 @@ rpl_select_parent(rpl_dag_t *dag)
|
||||||
rpl_parent_t *best = best_parent(dag, 0);
|
rpl_parent_t *best = best_parent(dag, 0);
|
||||||
|
|
||||||
if(best != NULL) {
|
if(best != NULL) {
|
||||||
|
#if RPL_WITH_PROBING
|
||||||
if(rpl_parent_is_fresh(best)) {
|
if(rpl_parent_is_fresh(best)) {
|
||||||
rpl_set_preferred_parent(dag, best);
|
rpl_set_preferred_parent(dag, best);
|
||||||
dag->rank = rpl_rank_via_parent(dag->preferred_parent);
|
|
||||||
} else {
|
} else {
|
||||||
/* The best is not fresh. Look for the best fresh now. */
|
/* The best is not fresh. Look for the best fresh now. */
|
||||||
rpl_parent_t *best_fresh = best_parent(dag, 1);
|
rpl_parent_t *best_fresh = best_parent(dag, 1);
|
||||||
|
@ -893,18 +893,20 @@ rpl_select_parent(rpl_dag_t *dag)
|
||||||
/* Use best fresh */
|
/* Use best fresh */
|
||||||
rpl_set_preferred_parent(dag, best_fresh);
|
rpl_set_preferred_parent(dag, best_fresh);
|
||||||
}
|
}
|
||||||
#if RPL_WITH_PROBING
|
/* Probe the best parent shortly in order to get a fresh estimate */
|
||||||
/* Probe the new best parent shortly in order to get a fresh estimate */
|
|
||||||
dag->instance->urgent_probing_target = best;
|
dag->instance->urgent_probing_target = best;
|
||||||
rpl_schedule_probing(dag->instance);
|
rpl_schedule_probing(dag->instance);
|
||||||
|
#else /* RPL_WITH_PROBING */
|
||||||
|
rpl_set_preferred_parent(dag, best);
|
||||||
|
dag->rank = rpl_rank_via_parent(dag->preferred_parent);
|
||||||
#endif /* RPL_WITH_PROBING */
|
#endif /* RPL_WITH_PROBING */
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
rpl_set_preferred_parent(dag, best);
|
rpl_set_preferred_parent(dag, NULL);
|
||||||
dag->rank = INFINITE_RANK;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return best;
|
dag->rank = rpl_rank_via_parent(dag->preferred_parent);
|
||||||
|
return dag->preferred_parent;
|
||||||
}
|
}
|
||||||
/*---------------------------------------------------------------------------*/
|
/*---------------------------------------------------------------------------*/
|
||||||
void
|
void
|
||||||
|
|
Loading…
Add table
Reference in a new issue