The following commit has been merged in the merge/master branch:
commit aa020218f6126ca8b4c2a2deb2a640cace665aa2
Merge: 94668774eec54bf17022f005c47ba3d9aa237e4e 7f05664526b213452f2d1bc8f2e120899752f15d
Author: Antonio Quartulli <ordex(a)autistici.org>
Date: Tue Nov 13 09:51:18 2012 +0100
Merge remote-tracking branch 'pkg/next' into merge/master
diff --combined net/batman-adv/soft-interface.c
index 2d1f895,54800c7..54800c7
--- a/net/batman-adv/soft-interface.c
+++ b/net/batman-adv/soft-interface.c
@@@ -347,6 -347,12 +347,12 @@@ void batadv_interface_rx(struct net_dev
soft_iface->last_rx = jiffies;
+ /* Let the bridge loop avoidance check the packet. If will
+ * not handle it, we can safely push it up.
+ */
+ if (batadv_bla_rx(bat_priv, skb, vid, is_bcast))
+ goto out;
+
if (orig_node)
batadv_tt_add_temporary_global_entry(bat_priv, orig_node,
ethhdr->h_source);
@@@ -354,12 -360,6 +360,6 @@@
if (batadv_is_ap_isolated(bat_priv, ethhdr->h_source, ethhdr->h_dest))
goto dropped;
- /* Let the bridge loop avoidance check the packet. If will
- * not handle it, we can safely push it up.
- */
- if (batadv_bla_rx(bat_priv, skb, vid, is_bcast))
- goto out;
-
netif_rx(skb);
goto out;
diff --combined net/batman-adv/translation-table.c
index cb0281a,22457a7..22457a7
--- a/net/batman-adv/translation-table.c
+++ b/net/batman-adv/translation-table.c
@@@ -2545,7 -2545,7 +2545,7 @@@ bool batadv_tt_local_client_is_roaming(
if (!tt_local_entry)
goto out;
- ret = !!(tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM);
+ ret = tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM;
batadv_tt_local_entry_free_ref(tt_local_entry);
out:
return ret;
@@@ -2558,6 -2558,13 +2558,13 @@@ bool batadv_tt_add_temporary_global_ent
{
bool ret = false;
+ /* if the originator is a backbone node (meaning it belongs to the same
+ * LAN of this node) the temporary client must not be added because to
+ * reach such destination the node must use the LAN instead of the mesh
+ */
+ if (batadv_bla_is_backbone_gw_orig(bat_priv, orig_node->orig))
+ goto out;
+
if (!batadv_tt_global_add(bat_priv, orig_node, addr,
BATADV_TT_CLIENT_TEMP,
atomic_read(&orig_node->last_ttvn)))
--
linux integration