diff options
author | Simon Wunderlich <simon@open-mesh.com> | 2013-05-28 09:49:47 (GMT) |
---|---|---|
committer | Antonio Quartulli <antonio@meshcoding.com> | 2013-10-12 15:17:10 (GMT) |
commit | 56a5ca8409072d9d982d0904f60a4a6096d2dec0 (patch) | |
tree | 7e3a46b4033ea1d391420ffb53adf8464521fdbf /net/batman-adv | |
parent | 411d6ed93a5d0601980d3e5ce75de07c98e3a7de (diff) | |
download | linux-56a5ca8409072d9d982d0904f60a4a6096d2dec0.tar.xz |
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>
Diffstat (limited to 'net/batman-adv')
-rw-r--r-- | net/batman-adv/send.c | 29 |
1 files changed, 8 insertions, 21 deletions
diff --git a/net/batman-adv/send.c b/net/batman-adv/send.c index 4bbcf51..82588e4 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) |