I tested more extensively the multiple DODAG support and while it works there are still several issues present. I will provide PRs for some of them but others requires discussion before fixing them :)
In rpl_select_dag(), best_dag() is called only the parent is not in the current_dag or if there is no acceptable parent. Instead, best_dag() should be called overtime as the rank in the current DAG could become higher than another DAG.
rpl_probing() is sending probes only in the current DAG, it should also probe parents in other DAGs
In MROF, best_dag() does not use the hysteresis as done in best parent(), this cause DAG switching occurring more frequently than parent switch in the same DAG
For 1, I have a fix available; for 2, I tested with a simple round-robin but we might optimise it and favors the current dag like what is done already for the selected parent; for 3, I guess we should factor out the hysteresis code and call it in the two function.
There is also a trivial bug in DODAG_LIFETIME, I will PRs it soon (I hope)
I tested more extensively the multiple DODAG support and while it works there are still several issues present. I will provide PRs for some of them but others requires discussion before fixing them :)
For 1, I have a fix available; for 2, I tested with a simple round-robin but we might optimise it and favors the current dag like what is done already for the selected parent; for 3, I guess we should factor out the hysteresis code and call it in the two function.
There is also a trivial bug in DODAG_LIFETIME, I will PRs it soon (I hope)