rpl_verify_header: do not select DAG in storing mode after updating neighbor rank, as this may result in a No-Path DAO being sent, which will drop the current packet.
This commit is contained in:
parent
343c274359
commit
6cdec70798
|
@ -136,8 +136,13 @@ rpl_verify_hbh_header(int uip_ext_opt_offset)
|
|||
/* A rank error was signalled, attempt to repair it by updating
|
||||
* the sender's rank from ext header */
|
||||
sender->rank = sender_rank;
|
||||
if(RPL_IS_NON_STORING(instance)) {
|
||||
/* Select DAG and preferred parent only in non-storing mode. In storing mode,
|
||||
* a parent switch would result in an immediate No-path DAO transmission, dropping
|
||||
* current incoming packet. */
|
||||
rpl_select_dag(instance, sender);
|
||||
}
|
||||
}
|
||||
|
||||
sender_closer = sender_rank < instance->current_dag->rank;
|
||||
|
||||
|
|
Loading…
Reference in a new issue