Lines Matching refs:tt_global_entry
71 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry);
201 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_tt_global_hash_find() local
206 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_hash_find()
209 return tt_global_entry; in batadv_tt_global_hash_find()
261 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_entry_free_rcu() local
263 tt_global_entry = container_of(rcu, struct batadv_tt_global_entry, in batadv_tt_global_entry_free_rcu()
266 kmem_cache_free(batadv_tg_cache, tt_global_entry); in batadv_tt_global_entry_free_rcu()
276 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_entry_release() local
278 tt_global_entry = container_of(ref, struct batadv_tt_global_entry, in batadv_tt_global_entry_release()
281 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_entry_release()
283 call_rcu(&tt_global_entry->common.rcu, batadv_tt_global_entry_free_rcu); in batadv_tt_global_entry_release()
291 void batadv_tt_global_entry_put(struct batadv_tt_global_entry *tt_global_entry) in batadv_tt_global_entry_put() argument
293 kref_put(&tt_global_entry->common.refcount, in batadv_tt_global_entry_put()
309 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_hash_count() local
312 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_hash_count()
313 if (!tt_global_entry) in batadv_tt_global_hash_count()
316 count = atomic_read(&tt_global_entry->orig_list_count); in batadv_tt_global_hash_count()
317 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_hash_count()
1687 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_add() local
1698 tt_global_entry = batadv_tt_global_hash_find(bat_priv, tt_addr, vid); in batadv_tt_global_add()
1709 if (!tt_global_entry) { in batadv_tt_global_add()
1710 tt_global_entry = kmem_cache_zalloc(batadv_tg_cache, in batadv_tt_global_add()
1712 if (!tt_global_entry) in batadv_tt_global_add()
1715 common = &tt_global_entry->common; in batadv_tt_global_add()
1722 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1728 tt_global_entry->roam_at = jiffies; in batadv_tt_global_add()
1732 INIT_HLIST_HEAD(&tt_global_entry->orig_list); in batadv_tt_global_add()
1733 atomic_set(&tt_global_entry->orig_list_count, 0); in batadv_tt_global_add()
1734 spin_lock_init(&tt_global_entry->list_lock); in batadv_tt_global_add()
1744 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_add()
1748 common = &tt_global_entry->common; in batadv_tt_global_add()
1762 if (batadv_tt_global_entry_has_orig(tt_global_entry, in batadv_tt_global_add()
1765 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1776 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1795 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1797 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1802 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn, in batadv_tt_global_add()
1822 tt_global_entry->common.flags |= local_flags & BATADV_TT_CLIENT_WIFI; in batadv_tt_global_add()
1828 tt_global_entry->common.flags &= ~BATADV_TT_CLIENT_ROAM; in batadv_tt_global_add()
1831 if (tt_global_entry) in batadv_tt_global_add()
1832 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_add()
1848 struct batadv_tt_global_entry *tt_global_entry) in batadv_transtable_best_orig() argument
1855 head = &tt_global_entry->orig_list; in batadv_transtable_best_orig()
1895 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_print_entry() argument
1905 tt_common_entry = &tt_global_entry->common; in batadv_tt_global_print_entry()
1908 best_entry = batadv_transtable_best_orig(bat_priv, tt_global_entry); in batadv_tt_global_print_entry()
1923 '*', tt_global_entry->common.addr, in batadv_tt_global_print_entry()
1924 batadv_print_vid(tt_global_entry->common.vid), in batadv_tt_global_print_entry()
1936 head = &tt_global_entry->orig_list; in batadv_tt_global_print_entry()
1955 '+', tt_global_entry->common.addr, in batadv_tt_global_print_entry()
1956 batadv_print_vid(tt_global_entry->common.vid), in batadv_tt_global_print_entry()
2241 _batadv_tt_global_del_orig_entry(struct batadv_tt_global_entry *tt_global_entry, in _batadv_tt_global_del_orig_entry() argument
2244 lockdep_assert_held(&tt_global_entry->list_lock); in _batadv_tt_global_del_orig_entry()
2247 tt_global_entry->common.vid); in _batadv_tt_global_del_orig_entry()
2248 atomic_dec(&tt_global_entry->orig_list_count); in _batadv_tt_global_del_orig_entry()
2258 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry) in batadv_tt_global_del_orig_list() argument
2264 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
2265 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_list()
2267 _batadv_tt_global_del_orig_entry(tt_global_entry, orig_entry); in batadv_tt_global_del_orig_list()
2268 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
2283 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_orig_node() argument
2292 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
2293 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_node()
2296 vid = tt_global_entry->common.vid; in batadv_tt_global_del_orig_node()
2300 tt_global_entry->common.addr, in batadv_tt_global_del_orig_node()
2302 _batadv_tt_global_del_orig_entry(tt_global_entry, in batadv_tt_global_del_orig_node()
2306 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
2315 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_roaming() argument
2328 head = &tt_global_entry->orig_list; in batadv_tt_global_del_roaming()
2339 tt_global_entry->common.flags |= BATADV_TT_CLIENT_ROAM; in batadv_tt_global_del_roaming()
2340 tt_global_entry->roam_at = jiffies; in batadv_tt_global_del_roaming()
2345 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del_roaming()
2365 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_del() local
2368 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_del()
2369 if (!tt_global_entry) in batadv_tt_global_del()
2373 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del()
2376 if (hlist_empty(&tt_global_entry->orig_list)) in batadv_tt_global_del()
2377 batadv_tt_global_free(bat_priv, tt_global_entry, in batadv_tt_global_del()
2397 tt_global_entry->common.addr, in batadv_tt_global_del()
2401 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_del()
2402 batadv_tt_global_free(bat_priv, tt_global_entry, message); in batadv_tt_global_del()
2405 batadv_tt_global_del_roaming(bat_priv, tt_global_entry, in batadv_tt_global_del()
2410 if (tt_global_entry) in batadv_tt_global_del()
2411 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_del()
2574 struct batadv_tt_global_entry *tt_global_entry) in _batadv_is_ap_isolated() argument
2577 tt_global_entry->common.flags & BATADV_TT_CLIENT_WIFI) in _batadv_is_ap_isolated()
2582 tt_global_entry->common.flags & BATADV_TT_CLIENT_ISOLA) in _batadv_is_ap_isolated()
2608 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_transtable_search() local
2619 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_transtable_search()
2620 if (!tt_global_entry) in batadv_transtable_search()
2627 _batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_transtable_search()
2631 best_entry = batadv_transtable_best_orig(bat_priv, tt_global_entry); in batadv_transtable_search()
2640 if (tt_global_entry) in batadv_transtable_search()
2641 batadv_tt_global_entry_put(tt_global_entry); in batadv_transtable_search()
2955 const struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_valid() local
2962 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_valid()
2966 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node, in batadv_tt_global_valid()
3977 struct batadv_tt_global_entry *tt_global_entry; in batadv_is_ap_isolated() local
3992 tt_global_entry = batadv_tt_global_hash_find(bat_priv, src, vid); in batadv_is_ap_isolated()
3993 if (!tt_global_entry) in batadv_is_ap_isolated()
3996 if (_batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_is_ap_isolated()
3999 batadv_tt_global_entry_put(tt_global_entry); in batadv_is_ap_isolated()
4105 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_client_is_roaming() local
4108 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_client_is_roaming()
4109 if (!tt_global_entry) in batadv_tt_global_client_is_roaming()
4112 ret = tt_global_entry->common.flags & BATADV_TT_CLIENT_ROAM; in batadv_tt_global_client_is_roaming()
4113 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_client_is_roaming()