Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[deliverable/linux.git] / net / batman-adv / network-coding.c
index 9180ff114a263d465d29c51f313f3b8dd56c19b6..b41719b6487a40cd8571461b8eec03a60c7f4cfe 100644 (file)
@@ -223,11 +223,11 @@ static void batadv_nc_node_release(struct kref *ref)
 }
 
 /**
- * batadv_nc_node_free_ref - decrement the nc_node refcounter and possibly
+ * batadv_nc_node_put - decrement the nc_node refcounter and possibly
  *  release it
  * @nc_node: nc_node to be free'd
  */
-static void batadv_nc_node_free_ref(struct batadv_nc_node *nc_node)
+static void batadv_nc_node_put(struct batadv_nc_node *nc_node)
 {
        kref_put(&nc_node->refcount, batadv_nc_node_release);
 }
@@ -247,11 +247,11 @@ static void batadv_nc_path_release(struct kref *ref)
 }
 
 /**
- * batadv_nc_path_free_ref - decrement the nc_path refcounter and possibly
+ * batadv_nc_path_put - decrement the nc_path refcounter and possibly
  *  release it
  * @nc_path: nc_path to be free'd
  */
-static void batadv_nc_path_free_ref(struct batadv_nc_path *nc_path)
+static void batadv_nc_path_put(struct batadv_nc_path *nc_path)
 {
        kref_put(&nc_path->refcount, batadv_nc_path_release);
 }
@@ -263,7 +263,7 @@ static void batadv_nc_path_free_ref(struct batadv_nc_path *nc_path)
 static void batadv_nc_packet_free(struct batadv_nc_packet *nc_packet)
 {
        kfree_skb(nc_packet->skb);
-       batadv_nc_path_free_ref(nc_packet->nc_path);
+       batadv_nc_path_put(nc_packet->nc_path);
        kfree(nc_packet);
 }
 
@@ -356,7 +356,7 @@ batadv_nc_purge_orig_nc_nodes(struct batadv_priv *bat_priv,
                           "Removing nc_node %pM -> %pM\n",
                           nc_node->addr, nc_node->orig_node->orig);
                list_del_rcu(&nc_node->list);
-               batadv_nc_node_free_ref(nc_node);
+               batadv_nc_node_put(nc_node);
        }
        spin_unlock_bh(lock);
 }
@@ -467,7 +467,7 @@ static void batadv_nc_purge_paths(struct batadv_priv *bat_priv,
                                   "Remove nc_path %pM -> %pM\n",
                                   nc_path->prev_hop, nc_path->next_hop);
                        hlist_del_rcu(&nc_path->hash_entry);
-                       batadv_nc_path_free_ref(nc_path);
+                       batadv_nc_path_put(nc_path);
                }
                spin_unlock_bh(lock);
        }
@@ -575,9 +575,7 @@ batadv_nc_hash_find(struct batadv_hashtable *hash,
  */
 static void batadv_nc_send_packet(struct batadv_nc_packet *nc_packet)
 {
-       batadv_send_skb_packet(nc_packet->skb,
-                              nc_packet->neigh_node->if_incoming,
-                              nc_packet->nc_path->next_hop);
+       batadv_send_unicast_skb(nc_packet->skb, nc_packet->neigh_node);
        nc_packet->skb = NULL;
        batadv_nc_packet_free(nc_packet);
 }
@@ -942,9 +940,9 @@ void batadv_nc_update_nc_node(struct batadv_priv *bat_priv,
 
 out:
        if (in_nc_node)
-               batadv_nc_node_free_ref(in_nc_node);
+               batadv_nc_node_put(in_nc_node);
        if (out_nc_node)
-               batadv_nc_node_free_ref(out_nc_node);
+               batadv_nc_node_put(out_nc_node);
 }
 
 /**
@@ -1067,11 +1065,11 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
        struct batadv_unicast_packet *packet1;
        struct batadv_unicast_packet *packet2;
        struct batadv_coded_packet *coded_packet;
-       struct batadv_neigh_node *neigh_tmp, *router_neigh;
-       struct batadv_neigh_node *router_coding = NULL;
+       struct batadv_neigh_node *neigh_tmp, *router_neigh, *first_dest;
+       struct batadv_neigh_node *router_coding = NULL, *second_dest;
        struct batadv_neigh_ifinfo *router_neigh_ifinfo = NULL;
        struct batadv_neigh_ifinfo *router_coding_ifinfo = NULL;
-       u8 *first_source, *first_dest, *second_source, *second_dest;
+       u8 *first_source, *second_source;
        __be32 packet_id1, packet_id2;
        size_t count;
        bool res = false;
@@ -1114,9 +1112,9 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
         */
        if (tq_weighted_neigh >= tq_weighted_coding) {
                /* Destination from nc_packet is selected for MAC-header */
-               first_dest = nc_packet->nc_path->next_hop;
+               first_dest = nc_packet->neigh_node;
                first_source = nc_packet->nc_path->prev_hop;
-               second_dest = neigh_node->addr;
+               second_dest = neigh_node;
                second_source = ethhdr->h_source;
                packet1 = (struct batadv_unicast_packet *)nc_packet->skb->data;
                packet2 = (struct batadv_unicast_packet *)skb->data;
@@ -1125,9 +1123,9 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
                                              skb->data + sizeof(*packet2));
        } else {
                /* Destination for skb is selected for MAC-header */
-               first_dest = neigh_node->addr;
+               first_dest = neigh_node;
                first_source = ethhdr->h_source;
-               second_dest = nc_packet->nc_path->next_hop;
+               second_dest = nc_packet->neigh_node;
                second_source = nc_packet->nc_path->prev_hop;
                packet1 = (struct batadv_unicast_packet *)skb->data;
                packet2 = (struct batadv_unicast_packet *)nc_packet->skb->data;
@@ -1169,7 +1167,7 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
        coded_packet->first_ttvn = packet1->ttvn;
 
        /* Info about second unicast packet */
-       ether_addr_copy(coded_packet->second_dest, second_dest);
+       ether_addr_copy(coded_packet->second_dest, second_dest->addr);
        ether_addr_copy(coded_packet->second_source, second_source);
        ether_addr_copy(coded_packet->second_orig_dest, packet2->dest);
        coded_packet->second_crc = packet_id2;
@@ -1224,7 +1222,7 @@ static bool batadv_nc_code_packets(struct batadv_priv *bat_priv,
        batadv_nc_packet_free(nc_packet);
 
        /* Send the coded packet and return true */
-       batadv_send_skb_packet(skb_dest, neigh_node->if_incoming, first_dest);
+       batadv_send_unicast_skb(skb_dest, first_dest);
        res = true;
 out:
        if (router_neigh)
@@ -1555,7 +1553,7 @@ bool batadv_nc_skb_forward(struct sk_buff *skb,
        return true;
 
 free_nc_path:
-       batadv_nc_path_free_ref(nc_path);
+       batadv_nc_path_put(nc_path);
 out:
        /* Packet is not consumed */
        return false;
@@ -1617,7 +1615,7 @@ void batadv_nc_skb_store_for_decoding(struct batadv_priv *bat_priv,
 free_skb:
        kfree_skb(skb);
 free_nc_path:
-       batadv_nc_path_free_ref(nc_path);
+       batadv_nc_path_put(nc_path);
 out:
        return;
 }
This page took 0.028587 seconds and 5 git commands to generate.