Lines Matching refs:tt_global_entry
70 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry);
200 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_tt_global_hash_find() local
205 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_hash_find()
208 return tt_global_entry; in batadv_tt_global_hash_find()
263 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_entry_free_rcu() local
265 tt_global_entry = container_of(rcu, struct batadv_tt_global_entry, in batadv_tt_global_entry_free_rcu()
268 kmem_cache_free(batadv_tg_cache, tt_global_entry); in batadv_tt_global_entry_free_rcu()
278 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_entry_release() local
280 tt_global_entry = container_of(ref, struct batadv_tt_global_entry, in batadv_tt_global_entry_release()
283 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_entry_release()
285 call_rcu(&tt_global_entry->common.rcu, batadv_tt_global_entry_free_rcu); in batadv_tt_global_entry_release()
300 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_hash_count() local
303 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_hash_count()
304 if (!tt_global_entry) in batadv_tt_global_hash_count()
307 count = atomic_read(&tt_global_entry->orig_list_count); in batadv_tt_global_hash_count()
308 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_hash_count()
1596 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_add() local
1607 tt_global_entry = batadv_tt_global_hash_find(bat_priv, tt_addr, vid); in batadv_tt_global_add()
1618 if (!tt_global_entry) { in batadv_tt_global_add()
1619 tt_global_entry = kmem_cache_zalloc(batadv_tg_cache, in batadv_tt_global_add()
1621 if (!tt_global_entry) in batadv_tt_global_add()
1624 common = &tt_global_entry->common; in batadv_tt_global_add()
1631 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1637 tt_global_entry->roam_at = jiffies; in batadv_tt_global_add()
1641 INIT_HLIST_HEAD(&tt_global_entry->orig_list); in batadv_tt_global_add()
1642 atomic_set(&tt_global_entry->orig_list_count, 0); in batadv_tt_global_add()
1643 spin_lock_init(&tt_global_entry->list_lock); in batadv_tt_global_add()
1653 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_add()
1657 common = &tt_global_entry->common; in batadv_tt_global_add()
1671 if (batadv_tt_global_entry_has_orig(tt_global_entry, in batadv_tt_global_add()
1674 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1685 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1704 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_add()
1706 tt_global_entry->roam_at = 0; in batadv_tt_global_add()
1711 batadv_tt_global_orig_entry_add(tt_global_entry, orig_node, ttvn, in batadv_tt_global_add()
1731 tt_global_entry->common.flags |= local_flags & BATADV_TT_CLIENT_WIFI; in batadv_tt_global_add()
1737 tt_global_entry->common.flags &= ~BATADV_TT_CLIENT_ROAM; in batadv_tt_global_add()
1740 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_add()
1755 struct batadv_tt_global_entry *tt_global_entry) in batadv_transtable_best_orig() argument
1762 head = &tt_global_entry->orig_list; in batadv_transtable_best_orig()
2011 _batadv_tt_global_del_orig_entry(struct batadv_tt_global_entry *tt_global_entry, in _batadv_tt_global_del_orig_entry() argument
2014 lockdep_assert_held(&tt_global_entry->list_lock); in _batadv_tt_global_del_orig_entry()
2017 tt_global_entry->common.vid); in _batadv_tt_global_del_orig_entry()
2018 atomic_dec(&tt_global_entry->orig_list_count); in _batadv_tt_global_del_orig_entry()
2028 batadv_tt_global_del_orig_list(struct batadv_tt_global_entry *tt_global_entry) in batadv_tt_global_del_orig_list() argument
2034 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
2035 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_list()
2037 _batadv_tt_global_del_orig_entry(tt_global_entry, orig_entry); in batadv_tt_global_del_orig_list()
2038 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_list()
2053 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_orig_node() argument
2062 spin_lock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
2063 head = &tt_global_entry->orig_list; in batadv_tt_global_del_orig_node()
2066 vid = tt_global_entry->common.vid; in batadv_tt_global_del_orig_node()
2070 tt_global_entry->common.addr, in batadv_tt_global_del_orig_node()
2072 _batadv_tt_global_del_orig_entry(tt_global_entry, in batadv_tt_global_del_orig_node()
2076 spin_unlock_bh(&tt_global_entry->list_lock); in batadv_tt_global_del_orig_node()
2085 struct batadv_tt_global_entry *tt_global_entry, in batadv_tt_global_del_roaming() argument
2098 head = &tt_global_entry->orig_list; in batadv_tt_global_del_roaming()
2109 tt_global_entry->common.flags |= BATADV_TT_CLIENT_ROAM; in batadv_tt_global_del_roaming()
2110 tt_global_entry->roam_at = jiffies; in batadv_tt_global_del_roaming()
2115 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del_roaming()
2135 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_del() local
2138 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_del()
2139 if (!tt_global_entry) in batadv_tt_global_del()
2143 batadv_tt_global_del_orig_node(bat_priv, tt_global_entry, in batadv_tt_global_del()
2146 if (hlist_empty(&tt_global_entry->orig_list)) in batadv_tt_global_del()
2147 batadv_tt_global_free(bat_priv, tt_global_entry, in batadv_tt_global_del()
2167 tt_global_entry->common.addr, in batadv_tt_global_del()
2171 batadv_tt_global_del_orig_list(tt_global_entry); in batadv_tt_global_del()
2172 batadv_tt_global_free(bat_priv, tt_global_entry, message); in batadv_tt_global_del()
2175 batadv_tt_global_del_roaming(bat_priv, tt_global_entry, in batadv_tt_global_del()
2180 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_del()
2342 struct batadv_tt_global_entry *tt_global_entry) in _batadv_is_ap_isolated() argument
2345 tt_global_entry->common.flags & BATADV_TT_CLIENT_WIFI) in _batadv_is_ap_isolated()
2350 tt_global_entry->common.flags & BATADV_TT_CLIENT_ISOLA) in _batadv_is_ap_isolated()
2376 struct batadv_tt_global_entry *tt_global_entry = NULL; in batadv_transtable_search() local
2387 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_transtable_search()
2388 if (!tt_global_entry) in batadv_transtable_search()
2395 _batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_transtable_search()
2399 best_entry = batadv_transtable_best_orig(bat_priv, tt_global_entry); in batadv_transtable_search()
2408 batadv_tt_global_entry_put(tt_global_entry); in batadv_transtable_search()
2724 const struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_valid() local
2731 tt_global_entry = container_of(tt_common_entry, in batadv_tt_global_valid()
2735 return batadv_tt_global_entry_has_orig(tt_global_entry, orig_node, in batadv_tt_global_valid()
3736 struct batadv_tt_global_entry *tt_global_entry; in batadv_is_ap_isolated() local
3751 tt_global_entry = batadv_tt_global_hash_find(bat_priv, src, vid); in batadv_is_ap_isolated()
3752 if (!tt_global_entry) in batadv_is_ap_isolated()
3755 if (_batadv_is_ap_isolated(tt_local_entry, tt_global_entry)) in batadv_is_ap_isolated()
3758 batadv_tt_global_entry_put(tt_global_entry); in batadv_is_ap_isolated()
3864 struct batadv_tt_global_entry *tt_global_entry; in batadv_tt_global_client_is_roaming() local
3867 tt_global_entry = batadv_tt_global_hash_find(bat_priv, addr, vid); in batadv_tt_global_client_is_roaming()
3868 if (!tt_global_entry) in batadv_tt_global_client_is_roaming()
3871 ret = tt_global_entry->common.flags & BATADV_TT_CLIENT_ROAM; in batadv_tt_global_client_is_roaming()
3872 batadv_tt_global_entry_put(tt_global_entry); in batadv_tt_global_client_is_roaming()