提交 56a5ca84 编写于 作者: S Simon Wunderlich 提交者: Antonio Quartulli

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: NSimon Wunderlich <simon@open-mesh.com>
Signed-off-by: NMarek Lindner <lindner_marek@yahoo.de>
Signed-off-by: NAntonio Quartulli <antonio@meshcoding.com>
上级 411d6ed9
...@@ -250,30 +250,19 @@ int batadv_send_skb_generic_unicast(struct batadv_priv *bat_priv, ...@@ -250,30 +250,19 @@ int batadv_send_skb_generic_unicast(struct batadv_priv *bat_priv,
struct ethhdr *ethhdr = (struct ethhdr *)skb->data; struct ethhdr *ethhdr = (struct ethhdr *)skb->data;
struct batadv_unicast_packet *unicast_packet; struct batadv_unicast_packet *unicast_packet;
struct batadv_orig_node *orig_node; struct batadv_orig_node *orig_node;
struct batadv_neigh_node *neigh_node;
int ret = NET_RX_DROP; int ret = NET_RX_DROP;
/* get routing information */ /* 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); orig_node = batadv_gw_get_selected_orig(bat_priv);
if (orig_node) else
goto find_router; /* check for tt host - increases orig_node refcount.
} * returns NULL in case of AP isolation
*/
/* check for tt host - increases orig_node refcount. orig_node = batadv_transtable_search(bat_priv, ethhdr->h_source,
* returns NULL in case of AP isolation ethhdr->h_dest);
*/
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);
if (!neigh_node) if (!orig_node)
goto out; goto out;
switch (packet_type) { switch (packet_type) {
...@@ -305,8 +294,6 @@ int batadv_send_skb_generic_unicast(struct batadv_priv *bat_priv, ...@@ -305,8 +294,6 @@ int batadv_send_skb_generic_unicast(struct batadv_priv *bat_priv,
ret = 0; ret = 0;
out: out:
if (neigh_node)
batadv_neigh_node_free_ref(neigh_node);
if (orig_node) if (orig_node)
batadv_orig_node_free_ref(orig_node); batadv_orig_node_free_ref(orig_node);
if (ret == NET_RX_DROP) if (ret == NET_RX_DROP)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册