From 34119b7ef22cb2ed44ae54c889a2177678371ec0 Mon Sep 17 00:00:00 2001 From: Adam Dunkels Date: Mon, 12 Aug 2013 00:07:13 +0200 Subject: [PATCH] Poor man's loop reparation: reset the DIO timer and hope the neighbor learns a better route. --- core/net/rpl/rpl-ext-header.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/net/rpl/rpl-ext-header.c b/core/net/rpl/rpl-ext-header.c index 2bd0cb77c..3b7851c81 100644 --- a/core/net/rpl/rpl-ext-header.c +++ b/core/net/rpl/rpl-ext-header.c @@ -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) { PRINTF("RPL: Rank error signalled in RPL option!\n"); /* 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"); UIP_EXT_HDR_OPT_RPL_BUF->flags |= RPL_HDR_OPT_RANK_ERR;