diff options
author | Linus Lüssing <linus.luessing@ascom.ch> | 2011-02-07 00:14:40 +0000 |
---|---|---|
committer | Sven Eckelmann <sven@narfation.org> | 2011-02-11 23:30:33 +0100 |
commit | 3878f1f075470990d9c2418b53f31694e774f743 (patch) | |
tree | 6ef77c4a0c44445cdee8b7d5b748d7ed29033716 | |
parent | ee1e884194eb19574898ce6d5eaef5e8afdec7f2 (diff) | |
download | op-kernel-dev-3878f1f075470990d9c2418b53f31694e774f743.zip op-kernel-dev-3878f1f075470990d9c2418b53f31694e774f743.tar.gz |
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>
-rw-r--r-- | net/batman-adv/unicast.c | 7 |
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) |