Lines Matching refs:tt_global_entry

41 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry);
165 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_tt_global_hash_find() local
170 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_hash_find()
173 return tt_global_entry; in batadv_tt_global_hash_find()
189 batadv_tt_global_entry_free_ref(struct batadv_tt_global_entry *tt_global_entry) in batadv_tt_global_entry_free_ref() argument
191 if (atomic_dec_and_test(&tt_global_entry->common.refcount)) { in batadv_tt_global_entry_free_ref()
192 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_entry_free_ref()
193 kfree_rcu(tt_global_entry, common.rcu); in batadv_tt_global_entry_free_ref()
209 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_hash_count() local
212 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_hash_count()
213 if (!tt_global_entry) in batadv_tt_global_hash_count()
216 count = atomic_read(&tt_global_entry->orig_list_count); in batadv_tt_global_hash_count()
217 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_tt_global_hash_count()
1320 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_add() local
1331 tt_global_entry = batadv_tt_global_hash_find(bat_priv, tt_addr, vid); in batadv_tt_global_add()
1342 if (!tt_global_entry) { in batadv_tt_global_add()
1343 tt_global_entry = kzalloc(sizeof(*tt_global_entry), GFP_ATOMIC); in batadv_tt_global_add()
1344 if (!tt_global_entry) in batadv_tt_global_add()
1347 common = &tt_global_entry->common; in batadv_tt_global_add()
1352 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1358 tt_global_entry->roam_at = jiffies; in batadv_tt_global_add()
1362 INIT_HLIST_HEAD(&tt_global_entry->orig_list); in batadv_tt_global_add()
1363 atomic_set(&tt_global_entry->orig_list_count, 0); in batadv_tt_global_add()
1364 spin_lock_init(&tt_global_entry->list_lock); in batadv_tt_global_add()
1373 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_tt_global_add()
1377 common = &tt_global_entry->common; in batadv_tt_global_add()
1391 if (batadv_tt_global_entry_has_orig(tt_global_entry, in batadv_tt_global_add()
1394 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1407 tt_global_entry->common.flags |= flags; in batadv_tt_global_add()
1417 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1419 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1424 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn); in batadv_tt_global_add()
1443 tt_global_entry->common.flags |= local_flags & BATADV_TT_CLIENT_WIFI; in batadv_tt_global_add()
1449 tt_global_entry->common.flags &= ~BATADV_TT_CLIENT_ROAM; in batadv_tt_global_add()
1452 if (tt_global_entry) in batadv_tt_global_add()
1453 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_tt_global_add()
1469 struct batadv_tt_global_entry *tt_global_entry) in batadv_transtable_best_orig() argument
1476 head = &tt_global_entry->orig_list; in batadv_transtable_best_orig()
1515 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_print_entry() argument
1525 tt_common_entry = &tt_global_entry->common; in batadv_tt_global_print_entry()
1528 best_entry = batadv_transtable_best_orig(bat_priv, tt_global_entry); in batadv_tt_global_print_entry()
1543 '*', tt_global_entry->common.addr, in batadv_tt_global_print_entry()
1544 BATADV_PRINT_VID(tt_global_entry->common.vid), in batadv_tt_global_print_entry()
1556 head = &tt_global_entry->orig_list; in batadv_tt_global_print_entry()
1575 '+', tt_global_entry->common.addr, in batadv_tt_global_print_entry()
1576 BATADV_PRINT_VID(tt_global_entry->common.vid), in batadv_tt_global_print_entry()
1638 batadv_tt_global_del_orig_entry(struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_orig_entry() argument
1642 tt_global_entry->common.vid); in batadv_tt_global_del_orig_entry()
1643 atomic_dec(&tt_global_entry->orig_list_count); in batadv_tt_global_del_orig_entry()
1650 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry) in batadv_tt_global_del_orig_list() argument
1656 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
1657 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_list()
1659 batadv_tt_global_del_orig_entry(tt_global_entry, orig_entry); in batadv_tt_global_del_orig_list()
1660 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
1675 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_orig_node() argument
1684 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
1685 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_node()
1688 vid = tt_global_entry->common.vid; in batadv_tt_global_del_orig_node()
1692 tt_global_entry->common.addr, in batadv_tt_global_del_orig_node()
1694 batadv_tt_global_del_orig_entry(tt_global_entry, in batadv_tt_global_del_orig_node()
1698 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
1707 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_roaming() argument
1720 head = &tt_global_entry->orig_list; in batadv_tt_global_del_roaming()
1731 tt_global_entry->common.flags |= BATADV_TT_CLIENT_ROAM; in batadv_tt_global_del_roaming()
1732 tt_global_entry->roam_at = jiffies; in batadv_tt_global_del_roaming()
1737 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del_roaming()
1756 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_del() local
1759 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_del()
1760 if (!tt_global_entry) in batadv_tt_global_del()
1764 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del()
1767 if (hlist_empty(&tt_global_entry->orig_list)) in batadv_tt_global_del()
1768 batadv_tt_global_free(bat_priv, tt_global_entry, in batadv_tt_global_del()
1788 tt_global_entry->common.addr, in batadv_tt_global_del()
1792 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_del()
1793 batadv_tt_global_free(bat_priv, tt_global_entry, message); in batadv_tt_global_del()
1796 batadv_tt_global_del_roaming(bat_priv, tt_global_entry, in batadv_tt_global_del()
1800 if (tt_global_entry) in batadv_tt_global_del()
1801 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_tt_global_del()
1964 struct batadv_tt_global_entry *tt_global_entry) in _batadv_is_ap_isolated() argument
1969 tt_global_entry->common.flags & BATADV_TT_CLIENT_WIFI) in _batadv_is_ap_isolated()
1974 tt_global_entry->common.flags & BATADV_TT_CLIENT_ISOLA) in _batadv_is_ap_isolated()
2000 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_transtable_search() local
2011 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_transtable_search()
2012 if (!tt_global_entry) in batadv_transtable_search()
2019 _batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_transtable_search()
2023 best_entry = batadv_transtable_best_orig(bat_priv, tt_global_entry); in batadv_transtable_search()
2032 if (tt_global_entry) in batadv_transtable_search()
2033 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_transtable_search()
2288 const struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_valid() local
2295 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_valid()
2299 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node); in batadv_tt_global_valid()
3268 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_is_ap_isolated() local
3280 tt_global_entry = batadv_tt_global_hash_find(bat_priv, src, vid); in batadv_is_ap_isolated()
3281 if (!tt_global_entry) in batadv_is_ap_isolated()
3284 if (!_batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_is_ap_isolated()
3292 if (tt_global_entry) in batadv_is_ap_isolated()
3293 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_is_ap_isolated()
3398 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_client_is_roaming() local
3401 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_client_is_roaming()
3402 if (!tt_global_entry) in batadv_tt_global_client_is_roaming()
3405 ret = tt_global_entry->common.flags & BATADV_TT_CLIENT_ROAM; in batadv_tt_global_client_is_roaming()
3406 batadv_tt_global_entry_free_ref(tt_global_entry); in batadv_tt_global_client_is_roaming()