Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route.

This commit is contained in:
Adam Dunkels 2013-08-12 00:07:13 +02:00 committed by Simon Duquennoy
parent d830e9df3f
commit 34119b7ef2

View File

@ -132,7 +132,9 @@ rpl_verify_header(int uip_ext_opt_offset)
if(UIP_EXT_HDR_OPT_RPL_BUF->flags & RPL_HDR_OPT_RANK_ERR) { if(UIP_EXT_HDR_OPT_RPL_BUF->flags & RPL_HDR_OPT_RANK_ERR) {
PRINTF("RPL: Rank error signalled in RPL option!\n"); PRINTF("RPL: Rank error signalled in RPL option!\n");
/* We should try to repair it, not implemented for the moment */ /* We should try to repair it, not implemented for the moment */
return 3; rpl_reset_dio_timer(instance);
/* Forward the packet anyway. */
return 0;
} }
PRINTF("RPL: Single error tolerated\n"); PRINTF("RPL: Single error tolerated\n");
UIP_EXT_HDR_OPT_RPL_BUF->flags |= RPL_HDR_OPT_RANK_ERR; UIP_EXT_HDR_OPT_RPL_BUF->flags |= RPL_HDR_OPT_RANK_ERR;