diff --git a/core/net/rpl-lite/rpl-conf.h b/core/net/rpl-lite/rpl-conf.h index a1ae9dfa0..22cd79229 100644 --- a/core/net/rpl-lite/rpl-conf.h +++ b/core/net/rpl-lite/rpl-conf.h @@ -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) diff --git a/core/net/rpl-lite/rpl-dag.c b/core/net/rpl-lite/rpl-dag.c index 35f3f3b39..69214f4f1 100644 --- a/core/net/rpl-lite/rpl-dag.c +++ b/core/net/rpl-lite/rpl-dag.c @@ -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 */