aboutsummaryrefslogtreecommitdiffstats
path: root/net/batman-adv
diff options
context:
space:
mode:
authorLinus Lüssing <linus.luessing@ascom.ch>2011-02-07 00:14:40 +0000
committerSven Eckelmann <sven@narfation.org>2011-02-11 23:30:33 +0100
commit3878f1f075470990d9c2418b53f31694e774f743 (patch)
tree6ef77c4a0c44445cdee8b7d5b748d7ed29033716 /net/batman-adv
parentee1e884194eb19574898ce6d5eaef5e8afdec7f2 (diff)
downloadkernel_samsung_crespo-3878f1f075470990d9c2418b53f31694e774f743.zip
kernel_samsung_crespo-3878f1f075470990d9c2418b53f31694e774f743.tar.gz
kernel_samsung_crespo-3878f1f075470990d9c2418b53f31694e774f743.tar.bz2
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>
Diffstat (limited to 'net/batman-adv')
-rw-r--r--net/batman-adv/unicast.c7
1 files changed, 1 insertions, 6 deletions
diff --git a/net/batman-adv/unicast.c b/net/batman-adv/unicast.c
index 6c92eef..1b5e761 100644
--- a/net/batman-adv/unicast.c
+++ b/net/batman-adv/unicast.c
@@ -281,7 +281,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;
@@ -292,11 +292,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)