Merge branch 'quagga'
[lede-routing/.git] / batman-adv / patches / 0009-batman-adv-Don-t-handle-address-updates-when-bla-is-.patch
1 From 518fba156ed911c6183cf5cb34955a6fdf1b4637 Mon Sep 17 00:00:00 2001
2 From: Simon Wunderlich <simon@open-mesh.com>
3 Date: Fri, 7 Jun 2013 16:52:05 +0200
4 Subject: [PATCH 09/10] batman-adv: Don't handle address updates when bla is
5  disabled
6
7 The bridge loop avoidance has a hook to handle address updates of the
8 originator. These should not be handled when bridge loop avoidance is
9 disabled - it might send some bridge loop avoidance packets which should
10 not appear if bla is disabled.
11
12 Signed-off-by: Simon Wunderlich <simon@open-mesh.com>
13 Signed-off-by: Marek Lindner <lindner_marek@yahoo.de>
14 ---
15  bridge_loop_avoidance.c |    4 ++++
16  1 file changed, 4 insertions(+)
17
18 diff --git a/bridge_loop_avoidance.c b/bridge_loop_avoidance.c
19 index 379061c..de27b31 100644
20 --- a/bridge_loop_avoidance.c
21 +++ b/bridge_loop_avoidance.c
22 @@ -1067,6 +1067,10 @@ void batadv_bla_update_orig_address(struct batadv_priv *bat_priv,
23         group = htons(crc16(0, primary_if->net_dev->dev_addr, ETH_ALEN));
24         bat_priv->bla.claim_dest.group = group;
25  
26 +       /* purge everything when bridge loop avoidance is turned off */
27 +       if (!atomic_read(&bat_priv->bridge_loop_avoidance))
28 +               oldif = NULL;
29 +
30         if (!oldif) {
31                 batadv_bla_purge_claims(bat_priv, NULL, 1);
32                 batadv_bla_purge_backbone_gw(bat_priv, 1);
33 -- 
34 1.7.10.4
35