diff options
author | Simon Wunderlich <simon@open-mesh.com> | 2013-05-23 13:07:42 +0200 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2013-06-10 08:42:17 +0200 |
commit | 7c24bbbeab4159f924b65b1e94878e597b762714 (patch) | |
tree | 599e4e13220b5cbd25992923b375bd3b31300505 /net/batman-adv/bridge_loop_avoidance.c | |
parent | batman-adv: wait for rtnl in batadv_store_mesh_iface instead of failing if it... (diff) | |
download | linux-7c24bbbeab4159f924b65b1e94878e597b762714.tar.xz linux-7c24bbbeab4159f924b65b1e94878e597b762714.zip |
batman-adv: forward late OGMs from best next hop
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 refining the duplicate checking behaviour: The actions
should depend on whether it was a duplicate for a neighbor only or for
the originator. OGMs which are not duplicates for a specific neighbor
will now be considered in batadv_iv_ogm_forward(), but only actually
forwarded for the best next hop. Therefore, late OGMs from the best
next hop are forwarded now and not dropped as duplicates anymore.
Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/bridge_loop_avoidance.c')
0 files changed, 0 insertions, 0 deletions