- priority: 5 --> 8
in mhop_cl.c in the data callback we have:
if (((_mhop_cl_stack.fwdtable[i].seq - src_seq) % (1 <<
sizeof(src_seq)*8))) <= MHOP_CL_BC_WINDOW){
// discard pkt
}
meaning that it discards all pkts that are older than
the last sucessfully received (fwdtable[].seq) up to
MHOP_CL_BC_WINDOW (=64). The idea was to discard the
last 64 pkts.
This is ok if the out of order pkts are only duplicates
e.g. recv. order : 1,1 or 1,2,1
however, if a pkt with a higher seq-nr is received
first (2,1) the one with the lower nr. (1) will be
discarded even if it is not a duplicate.
Possible solution:
instead of having only one entry in fwdtable[].seq, we
could remember simply the last N received seq-numbers
per source to identify duplicates.