summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Wunderlich <simon@open-mesh.com>2013-05-28 11:49:47 +0200
committerAntonio Quartulli <antonio@meshcoding.com>2013-10-12 17:17:10 +0200
commit56a5ca8409072d9d982d0904f60a4a6096d2dec0 (patch)
tree7e3a46b4033ea1d391420ffb53adf8464521fdbf
parent411d6ed93a5d0601980d3e5ce75de07c98e3a7de (diff)
downloadlinux-stable-56a5ca8409072d9d982d0904f60a4a6096d2dec0.tar.gz
linux-stable-56a5ca8409072d9d982d0904f60a4a6096d2dec0.tar.bz2
linux-stable-56a5ca8409072d9d982d0904f60a4a6096d2dec0.zip
batman-adv: remove useless find_router look up
This is not used anymore with the new fragmentation, and it might actually mess up the bonding code because find_router() assumes it is only called once per packet. Signed-off-by: Simon Wunderlich <simon@open-mesh.com> Signed-off-by: Marek Lindner <lindner_marek@yahoo.de> Signed-off-by: Antonio Quartulli <antonio@meshcoding.com>
-rw-r--r--net/batman-adv/send.c29
1 files changed, 8 insertions, 21 deletions
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c
index 4bbcf51db6a7..82588e425641 100644
--- a/net/batman-adv/send.c
+++ b/net/batman-adv/send.c
@@ -250,30 +250,19 @@ int batadv_send_skb_generic_unicast(struct batadv_priv *bat_priv,
struct ethhdr *ethhdr = (struct ethhdr *)skb->data;
struct batadv_unicast_packet *unicast_packet;
struct batadv_orig_node *orig_node;
- struct batadv_neigh_node *neigh_node;
int ret = NET_RX_DROP;
/* get routing information */
- if (is_multicast_ether_addr(ethhdr->h_dest)) {
+ if (is_multicast_ether_addr(ethhdr->h_dest))
orig_node = batadv_gw_get_selected_orig(bat_priv);
- if (orig_node)
- goto find_router;
- }
-
- /* check for tt host - increases orig_node refcount.
- * returns NULL in case of AP isolation
- */
- orig_node = batadv_transtable_search(bat_priv, ethhdr->h_source,
- ethhdr->h_dest);
-
-find_router:
- /* find_router():
- * - if orig_node is NULL it returns NULL
- * - increases neigh_nodes refcount if found.
- */
- neigh_node = batadv_find_router(bat_priv, orig_node, NULL);
+ else
+ /* check for tt host - increases orig_node refcount.
+ * returns NULL in case of AP isolation
+ */
+ orig_node = batadv_transtable_search(bat_priv, ethhdr->h_source,
+ ethhdr->h_dest);
- if (!neigh_node)
+ if (!orig_node)
goto out;
switch (packet_type) {
@@ -305,8 +294,6 @@ find_router:
ret = 0;
out:
- if (neigh_node)
- batadv_neigh_node_free_ref(neigh_node);
if (orig_node)
batadv_orig_node_free_ref(orig_node);
if (ret == NET_RX_DROP)