diff options
author | Simon Wunderlich <simon.wunderlich@s2003.tu-chemnitz.de> | 2012-01-22 14:00:23 -0500 |
---|---|---|
committer | Antonio Quartulli <ordex@autistici.org> | 2012-04-11 08:28:59 -0400 |
commit | 20ff9d593f8ff20c2ef24498f77a8bc30b3a059a (patch) | |
tree | e64f51254b230d9d6441e09a2c81fbcb68dcf2d6 /net/batman-adv/routing.c | |
parent | db08e6e557ebc8ffedf6530693937d0e51b8f6b9 (diff) |
batman-adv: don't let backbone gateways exchange tt entries
As the backbone gateways are connected to the same backbone, they
should announce the same clients on the backbone non-exclusively.
Signed-off-by: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
Signed-off-by: Antonio Quartulli <ordex@autistici.org>
Diffstat (limited to 'net/batman-adv/routing.c')
-rw-r--r-- | net/batman-adv/routing.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/net/batman-adv/routing.c b/net/batman-adv/routing.c index a1d8c9b0f902..1d1fd04c9c3a 100644 --- a/net/batman-adv/routing.c +++ b/net/batman-adv/routing.c | |||
@@ -673,6 +673,13 @@ int recv_roam_adv(struct sk_buff *skb, struct hard_iface *recv_if) | |||
673 | if (!is_my_mac(roam_adv_packet->dst)) | 673 | if (!is_my_mac(roam_adv_packet->dst)) |
674 | return route_unicast_packet(skb, recv_if); | 674 | return route_unicast_packet(skb, recv_if); |
675 | 675 | ||
676 | /* check if it is a backbone gateway. we don't accept | ||
677 | * roaming advertisement from it, as it has the same | ||
678 | * entries as we have. | ||
679 | */ | ||
680 | if (bla_is_backbone_gw_orig(bat_priv, roam_adv_packet->src)) | ||
681 | goto out; | ||
682 | |||
676 | orig_node = orig_hash_find(bat_priv, roam_adv_packet->src); | 683 | orig_node = orig_hash_find(bat_priv, roam_adv_packet->src); |
677 | if (!orig_node) | 684 | if (!orig_node) |
678 | goto out; | 685 | goto out; |