summaryrefslogtreecommitdiffstats
path: root/net/batman-adv/bridge_loop_avoidance.c
diff options
context:
space:
mode:
authorSimon Wunderlich <simon@open-mesh.com>2013-05-23 13:07:42 +0200
committerAntonio Quartulli <ordex@autistici.org>2013-06-10 08:42:17 +0200
commit7c24bbbeab4159f924b65b1e94878e597b762714 (patch)
tree599e4e13220b5cbd25992923b375bd3b31300505 /net/batman-adv/bridge_loop_avoidance.c
parentbatman-adv: wait for rtnl in batadv_store_mesh_iface instead of failing if it... (diff)
downloadlinux-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