rpl-lite: leave DAG on DAO NACK instead of attempting a repair, not useful in non-storing mode

This commit is contained in:
Simon Duquennoy 2017-06-19 11:54:39 +02:00
parent 03d703f188
commit c0cb4b8b45
2 changed files with 2 additions and 18 deletions

View File

@ -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)

View File

@ -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 */