Repository : ssh://git@open-mesh.org/batman-adv
On branch : maint
commit 518fba156ed911c6183cf5cb34955a6fdf1b4637 Author: Simon Wunderlich simon@open-mesh.com Date: Fri Jun 7 16:52:05 2013 +0200
batman-adv: Don't handle address updates when bla is disabled
The bridge loop avoidance has a hook to handle address updates of the originator. These should not be handled when bridge loop avoidance is disabled - it might send some bridge loop avoidance packets which should not appear if bla is disabled.
Signed-off-by: Simon Wunderlich simon@open-mesh.com Signed-off-by: Marek Lindner lindner_marek@yahoo.de
518fba156ed911c6183cf5cb34955a6fdf1b4637 bridge_loop_avoidance.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/bridge_loop_avoidance.c b/bridge_loop_avoidance.c index 379061c..de27b31 100644 --- a/bridge_loop_avoidance.c +++ b/bridge_loop_avoidance.c @@ -1067,6 +1067,10 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv, group = htons(crc16(0, primary_if->net_dev->dev_addr, ETH_ALEN)); bat_priv->bla.claim_dest.group = group;
+ /* purge everything when bridge loop avoidance is turned off */ + if (!atomic_read(&bat_priv->bridge_loop_avoidance)) + oldif = NULL; + if (!oldif) { batadv_bla_purge_claims(bat_priv, NULL, 1); batadv_bla_purge_backbone_gw(bat_priv, 1);