On Wed, May 22, 2013 at 08:46:17PM +0200, Simon Wunderlich wrote:
From: Simon Wunderlich simon@open-mesh.com
When a packet is received from another node first and later from the best next hop, this packet is dropped. However the first OGM was sent with the BATADV_NOT_BEST_NEXT_HOP flag and thus dropped by neighbors. The late OGM from the best neighbor is then dropped because it is a duplicate.
If this situation happens constantly, a node might end up not forwarding the "valid" OGMs anymore, and nodes behind will starve from not getting valid OGMs.
Fix this by changing the is_duplicate behaviour: It will only mark duplicates which are received for the same neighbor. OGMs which are not from the best next hop will be dropped within batadv_iv_ogm_forward() anyway. Therefore, late OGMs are forwarded now and not dropped as duplicates.
Signed-off-by: Simon Wunderlich simon@open-mesh.com Signed-off-by: Antonio Quartulli ordex@autistici.org
Thanks for sending this Simon.
However, even if not reported in the subject, this patch is for maint.
Cheers,