rpl-lite: leave DAG on DAO NACK instead of attempting a repair, not useful in non-storing mode
This commit is contained in:
parent
03d703f188
commit
c0cb4b8b45
@ -125,17 +125,6 @@
|
||||
#define RPL_WITH_DAO_ACK 0
|
||||
#endif /* RPL_CONF_WITH_DAO_ACK */
|
||||
|
||||
/*
|
||||
* RPL REPAIR ON DAO NACK. When enabled, DAO NACK will trigger a local
|
||||
* repair in order to quickly find a new parent to send DAO's to.
|
||||
* NOTE: this is too agressive in some cases so use with care.
|
||||
* */
|
||||
#ifdef RPL_CONF_RPL_REPAIR_ON_DAO_NACK
|
||||
#define RPL_REPAIR_ON_DAO_NACK RPL_CONF_RPL_REPAIR_ON_DAO_NACK
|
||||
#else
|
||||
#define RPL_REPAIR_ON_DAO_NACK 0
|
||||
#endif /* RPL_CONF_RPL_REPAIR_ON_DAO_NACK */
|
||||
|
||||
/*
|
||||
* Setting the RPL_TRICKLE_REFRESH_DAO_ROUTES will make the RPL root
|
||||
* increase the DTSN (Destination Advertisement Trigger Sequence Number)
|
||||
|
@ -489,15 +489,10 @@ rpl_process_dao_ack(uint8_t sequence, uint8_t status)
|
||||
/* stop the retransmit timer when the ACK arrived */
|
||||
curr_instance.dag.is_reachable = status < RPL_DAO_ACK_UNABLE_TO_ACCEPT;
|
||||
|
||||
#if RPL_REPAIR_ON_DAO_NACK
|
||||
if(status >= RPL_DAO_ACK_UNABLE_TO_ACCEPT) {
|
||||
/*
|
||||
* Failed the DAO transmission - need to remove the default route.
|
||||
* Trigger a local repair since we can not get our DAO in.
|
||||
*/
|
||||
rpl_local_repair("DAO NACK");
|
||||
/* We got a NACK, leave the DAG */
|
||||
leave_dag();
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
#endif /* RPL_WITH_DAO_ACK */
|
||||
|
Loading…
Reference in New Issue
Block a user