Skip to content

Commit

Permalink
DIO advertisment fix
Browse files Browse the repository at this point in the history
Wi-sun bootsratap rules was broke DIO advertisment aat error case when RANK start goes worster.

Change-Id: I776882bc5d5da7bb223825ed6a9236cfe7be9799
  • Loading branch information
Juha Heiskanen committed Feb 7, 2020
1 parent 1acec7c commit 6283dfd
Showing 1 changed file with 15 additions and 11 deletions.
26 changes: 15 additions & 11 deletions source/RPL/rpl_upward.c
Original file line number Diff line number Diff line change
Expand Up @@ -1833,17 +1833,21 @@ void rpl_upward_dio_timer(rpl_instance_t *instance, uint16_t ticks)
if (rpl_dodag_am_leaf(dodag) && !instance->poison_count) {
return;
}
// We dont have any valid address in interface
if (ns_list_count(&instance->dao_targets) == 0) {
return;
}
/* Address registrations for parent ongoing*/
if (rpl_policy_parent_confirmation_requested() && instance->pending_neighbour_confirmation) {
return;
}
/* If we are waiting for DAO or DAO registration is needed we dont send periodic DIOs */
if (instance->dao_in_transit || instance->delay_dao_timer > 0) {
return;
/* Delay sending first DIO if we are still potentially gathering info */
/* Important to always send DIOs if we ever have sent any, so we can indicate problems to others */
if (!instance->last_advertised_dodag_version && rpl_policy_parent_confirmation_requested()) {
// We dont have any valid address in interface
if (ns_list_count(&instance->dao_targets) == 0) {
return;
}
/* Address registrations for parent ongoing*/
if (instance->pending_neighbour_confirmation) {
return;
}
/* If we are waiting for DAO or DAO registration is needed we dont send periodic DIOs */
if (instance->dao_in_transit || instance->delay_dao_timer > 0) {
return;
}
}
if (trickle_timer(&instance->dio_timer, &dodag->dio_timer_params, ticks)) {
instance->dio_not_consistent = false;
Expand Down

0 comments on commit 6283dfd

Please sign in to comment.