Enhanced RPL loop repair: send unicast DIO to source when detecting a loop from ext header, update rank along the path (when rank error is signaled)
This commit is contained in:
parent
c792993664
commit
a7ce312ee3
4 changed files with 37 additions and 0 deletions
|
@ -327,6 +327,24 @@ rpl_cancel_dao(rpl_instance_t *instance)
|
|||
ctimer_stop(&instance->dao_lifetime_timer);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
static void
|
||||
handle_unicast_dio_timer(void *ptr)
|
||||
{
|
||||
rpl_instance_t *instance = (rpl_instance_t *)ptr;
|
||||
uip_ipaddr_t *target_ipaddr = rpl_get_parent_ipaddr(instance->unicast_dio_target);
|
||||
|
||||
if(target_ipaddr != NULL) {
|
||||
dio_output(instance, target_ipaddr);
|
||||
}
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
void
|
||||
rpl_schedule_unicast_dio_immediately(rpl_instance_t *instance)
|
||||
{
|
||||
ctimer_set(&instance->unicast_dio_timer, 0,
|
||||
handle_unicast_dio_timer, instance);
|
||||
}
|
||||
/*---------------------------------------------------------------------------*/
|
||||
#if RPL_WITH_PROBING
|
||||
static rpl_parent_t *
|
||||
get_probing_target(rpl_dag_t *dag)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue