The following commit has been merged in the merge/master branch: commit 52d210cfda9b1e5eb2a1dc964e38d625154bfbaa Author: Linus Lüssing linus.luessing@ascom.ch Date: Mon Feb 7 00:14:40 2011 +0000
batman-adv: Disallow originator addressing within mesh layer
For a host in the mesh network, the batman layer should be transparent. However, we had one exception, data packets within the mesh network which have the same destination as a originator are being routed to that node, although there is no host that node's bat0 interface and therefore gets dropped anyway. This commit removes this exception.
Signed-off-by: Linus Lüssing linus.luessing@ascom.ch Signed-off-by: Sven Eckelmann sven@narfation.org
diff --git a/net/batman-adv/unicast.c b/net/batman-adv/unicast.c index 12c1178..121b11d 100644 --- a/net/batman-adv/unicast.c +++ b/net/batman-adv/unicast.c @@ -286,7 +286,7 @@ int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv) { struct ethhdr *ethhdr = (struct ethhdr *)skb->data; struct unicast_packet *unicast_packet; - struct orig_node *orig_node; + struct orig_node *orig_node = NULL; struct batman_if *batman_if; struct neigh_node *router; int data_len = skb->len; @@ -297,11 +297,6 @@ int unicast_send_skb(struct sk_buff *skb, struct bat_priv *bat_priv) /* get routing information */ if (is_multicast_ether_addr(ethhdr->h_dest)) orig_node = (struct orig_node *)gw_get_selected(bat_priv); - else - orig_node = ((struct orig_node *)hash_find(bat_priv->orig_hash, - compare_orig, - choose_orig, - ethhdr->h_dest));
/* check for hna host */ if (!orig_node)