nc_path 233 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path; nc_path 235 net/batman-adv/network-coding.c nc_path = container_of(ref, struct batadv_nc_path, refcount); nc_path 237 net/batman-adv/network-coding.c kfree_rcu(nc_path, rcu); nc_path 245 net/batman-adv/network-coding.c static void batadv_nc_path_put(struct batadv_nc_path *nc_path) nc_path 247 net/batman-adv/network-coding.c kref_put(&nc_path->refcount, batadv_nc_path_release); nc_path 263 net/batman-adv/network-coding.c batadv_nc_path_put(nc_packet->nc_path); nc_path 291 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path) nc_path 299 net/batman-adv/network-coding.c return batadv_has_timed_out(nc_path->last_valid, nc_path 312 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path) nc_path 320 net/batman-adv/network-coding.c return batadv_has_timed_out(nc_path->last_valid, nc_path 432 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path; nc_path 442 net/batman-adv/network-coding.c hlist_for_each_entry_safe(nc_path, node_tmp, head, hash_entry) { nc_path 446 net/batman-adv/network-coding.c if (to_purge && !to_purge(bat_priv, nc_path)) nc_path 454 net/batman-adv/network-coding.c if (!unlikely(list_empty(&nc_path->packet_list))) { nc_path 458 net/batman-adv/network-coding.c nc_path->prev_hop, nc_path 459 net/batman-adv/network-coding.c nc_path->next_hop); nc_path 466 net/batman-adv/network-coding.c nc_path->prev_hop, nc_path->next_hop); nc_path 467 net/batman-adv/network-coding.c hlist_del_rcu(&nc_path->hash_entry); nc_path 468 net/batman-adv/network-coding.c batadv_nc_path_put(nc_path); nc_path 496 net/batman-adv/network-coding.c const struct batadv_nc_path *nc_path = data; nc_path 499 net/batman-adv/network-coding.c hash = jhash(&nc_path->prev_hop, sizeof(nc_path->prev_hop), hash); nc_path 500 net/batman-adv/network-coding.c hash = jhash(&nc_path->next_hop, sizeof(nc_path->next_hop), hash); nc_path 543 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, *nc_path_tmp = NULL; nc_path 553 net/batman-adv/network-coding.c hlist_for_each_entry_rcu(nc_path, head, hash_entry) { nc_path 554 net/batman-adv/network-coding.c if (!batadv_nc_hash_compare(&nc_path->hash_entry, data)) nc_path 557 net/batman-adv/network-coding.c if (!kref_get_unless_zero(&nc_path->refcount)) nc_path 560 net/batman-adv/network-coding.c nc_path_tmp = nc_path; nc_path 593 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path 599 net/batman-adv/network-coding.c lockdep_assert_held(&nc_path->packet_list_lock); nc_path 632 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path 637 net/batman-adv/network-coding.c lockdep_assert_held(&nc_path->packet_list_lock); nc_path 674 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path; nc_path 687 net/batman-adv/network-coding.c hlist_for_each_entry_rcu(nc_path, head, hash_entry) { nc_path 689 net/batman-adv/network-coding.c spin_lock_bh(&nc_path->packet_list_lock); nc_path 691 net/batman-adv/network-coding.c &nc_path->packet_list, list) { nc_path 692 net/batman-adv/network-coding.c ret = process_fn(bat_priv, nc_path, nc_packet); nc_path 696 net/batman-adv/network-coding.c spin_unlock_bh(&nc_path->packet_list_lock); nc_path 958 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path_key; nc_path 963 net/batman-adv/network-coding.c nc_path = batadv_nc_hash_find(hash, (void *)&nc_path_key); nc_path 965 net/batman-adv/network-coding.c if (nc_path) { nc_path 967 net/batman-adv/network-coding.c nc_path->last_valid = jiffies; nc_path 968 net/batman-adv/network-coding.c return nc_path; nc_path 972 net/batman-adv/network-coding.c nc_path = kzalloc(sizeof(*nc_path), GFP_ATOMIC); nc_path 974 net/batman-adv/network-coding.c if (!nc_path) nc_path 978 net/batman-adv/network-coding.c INIT_LIST_HEAD(&nc_path->packet_list); nc_path 979 net/batman-adv/network-coding.c spin_lock_init(&nc_path->packet_list_lock); nc_path 980 net/batman-adv/network-coding.c kref_init(&nc_path->refcount); nc_path 981 net/batman-adv/network-coding.c nc_path->last_valid = jiffies; nc_path 982 net/batman-adv/network-coding.c ether_addr_copy(nc_path->next_hop, dst); nc_path 983 net/batman-adv/network-coding.c ether_addr_copy(nc_path->prev_hop, src); nc_path 986 net/batman-adv/network-coding.c nc_path->prev_hop, nc_path 987 net/batman-adv/network-coding.c nc_path->next_hop); nc_path 990 net/batman-adv/network-coding.c kref_get(&nc_path->refcount); nc_path 993 net/batman-adv/network-coding.c &nc_path->hash_entry); nc_path 996 net/batman-adv/network-coding.c kfree(nc_path); nc_path 1000 net/batman-adv/network-coding.c return nc_path; nc_path 1103 net/batman-adv/network-coding.c first_source = nc_packet->nc_path->prev_hop; nc_path 1116 net/batman-adv/network-coding.c second_source = nc_packet->nc_path->prev_hop; nc_path 1268 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path_key; nc_path 1284 net/batman-adv/network-coding.c hlist_for_each_entry_rcu(nc_path, &hash->table[idx], hash_entry) { nc_path 1285 net/batman-adv/network-coding.c if (!batadv_compare_eth(nc_path->prev_hop, in_nc_node->addr)) nc_path 1288 net/batman-adv/network-coding.c if (!batadv_compare_eth(nc_path->next_hop, out_nc_node->addr)) nc_path 1291 net/batman-adv/network-coding.c spin_lock_bh(&nc_path->packet_list_lock); nc_path 1292 net/batman-adv/network-coding.c if (list_empty(&nc_path->packet_list)) { nc_path 1293 net/batman-adv/network-coding.c spin_unlock_bh(&nc_path->packet_list_lock); nc_path 1298 net/batman-adv/network-coding.c &nc_path->packet_list, list) { nc_path 1310 net/batman-adv/network-coding.c spin_unlock_bh(&nc_path->packet_list_lock); nc_path 1467 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path 1482 net/batman-adv/network-coding.c nc_packet->nc_path = nc_path; nc_path 1485 net/batman-adv/network-coding.c spin_lock_bh(&nc_path->packet_list_lock); nc_path 1486 net/batman-adv/network-coding.c list_add_tail(&nc_packet->list, &nc_path->packet_list); nc_path 1487 net/batman-adv/network-coding.c spin_unlock_bh(&nc_path->packet_list_lock); nc_path 1506 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path; nc_path 1526 net/batman-adv/network-coding.c nc_path = batadv_nc_get_path(bat_priv, nc_path 1531 net/batman-adv/network-coding.c if (!nc_path) nc_path 1536 net/batman-adv/network-coding.c if (!batadv_nc_skb_add_to_path(skb, nc_path, neigh_node, packet_id)) nc_path 1543 net/batman-adv/network-coding.c batadv_nc_path_put(nc_path); nc_path 1559 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path; nc_path 1575 net/batman-adv/network-coding.c nc_path = batadv_nc_get_path(bat_priv, nc_path 1580 net/batman-adv/network-coding.c if (!nc_path) nc_path 1596 net/batman-adv/network-coding.c if (!batadv_nc_skb_add_to_path(skb, nc_path, NULL, packet_id)) nc_path 1605 net/batman-adv/network-coding.c batadv_nc_path_put(nc_path); nc_path 1740 net/batman-adv/network-coding.c struct batadv_nc_path *nc_path, nc_path_key; nc_path 1763 net/batman-adv/network-coding.c hlist_for_each_entry_rcu(nc_path, &hash->table[index], hash_entry) { nc_path 1765 net/batman-adv/network-coding.c spin_lock_bh(&nc_path->packet_list_lock); nc_path 1767 net/batman-adv/network-coding.c &nc_path->packet_list, list) { nc_path 1775 net/batman-adv/network-coding.c spin_unlock_bh(&nc_path->packet_list_lock); nc_path 2108 net/batman-adv/types.h struct batadv_nc_path *nc_path;