Lines Matching refs:tt_local_entry
167 * Return: a pointer to the corresponding tt_local_entry struct if the client is
175 struct batadv_tt_local_entry *tt_local_entry = NULL;
180 tt_local_entry = container_of(tt_common_entry,
183 return tt_local_entry;
212 * batadv_tt_local_entry_free_rcu() - free the tt_local_entry
213 * @rcu: rcu pointer of the tt_local_entry
217 struct batadv_tt_local_entry *tt_local_entry;
219 tt_local_entry = container_of(rcu, struct batadv_tt_local_entry,
222 kmem_cache_free(batadv_tl_cache, tt_local_entry);
226 * batadv_tt_local_entry_release() - release tt_local_entry from lists and queue
232 struct batadv_tt_local_entry *tt_local_entry;
234 tt_local_entry = container_of(ref, struct batadv_tt_local_entry,
237 batadv_softif_vlan_put(tt_local_entry->vlan);
239 call_rcu(&tt_local_entry->common.rcu, batadv_tt_local_entry_free_rcu);
243 * batadv_tt_local_entry_put() - decrement the tt_local_entry refcounter and
245 * @tt_local_entry: tt_local_entry to be free'd
248 batadv_tt_local_entry_put(struct batadv_tt_local_entry *tt_local_entry)
250 if (!tt_local_entry)
253 kref_put(&tt_local_entry->common.refcount,
456 * @tt_local_entry: the TT entry involved in the event
460 struct batadv_tt_local_entry *tt_local_entry,
464 struct batadv_tt_common_entry *common = &tt_local_entry->common;
1219 struct batadv_tt_local_entry *tt_local_entry,
1222 batadv_tt_local_event(bat_priv, tt_local_entry, flags);
1228 tt_local_entry->common.flags |= BATADV_TT_CLIENT_PENDING;
1232 tt_local_entry->common.addr,
1233 batadv_print_vid(tt_local_entry->common.vid), message);
1251 struct batadv_tt_local_entry *tt_local_entry;
1255 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
1256 if (!tt_local_entry)
1259 curr_flags = tt_local_entry->common.flags;
1269 tt_local_entry->common.flags |= BATADV_TT_CLIENT_ROAM;
1272 if (!(tt_local_entry->common.flags & BATADV_TT_CLIENT_NEW)) {
1273 batadv_tt_local_set_pending(bat_priv, tt_local_entry, flags,
1280 batadv_tt_local_event(bat_priv, tt_local_entry, BATADV_TT_CLIENT_DEL);
1285 &tt_local_entry->common);
1296 batadv_tt_local_entry_put(tt_local_entry);
1312 struct batadv_tt_local_entry *tt_local_entry;
1318 tt_local_entry = container_of(tt_common_entry,
1321 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_NOPURGE)
1325 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING)
1328 if (!batadv_has_timed_out(tt_local_entry->last_seen, timeout))
1331 batadv_tt_local_set_pending(bat_priv, tt_local_entry,
1596 struct batadv_tt_local_entry *tt_local_entry;
1607 tt_local_entry = batadv_tt_local_hash_find(bat_priv, tt_addr, vid);
1613 if ((flags & BATADV_TT_CLIENT_TEMP) && tt_local_entry &&
1614 !(tt_local_entry->common.flags & BATADV_TT_CLIENT_NEW))
1740 batadv_tt_local_entry_put(tt_local_entry);
2340 _batadv_is_ap_isolated(struct batadv_tt_local_entry *tt_local_entry,
2343 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_WIFI &&
2348 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_ISOLA &&
2374 struct batadv_tt_local_entry *tt_local_entry = NULL;
2380 tt_local_entry = batadv_tt_local_hash_find(bat_priv, src, vid);
2381 if (!tt_local_entry ||
2382 (tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING))
2393 if (tt_local_entry &&
2394 _batadv_is_ap_isolated(tt_local_entry, tt_global_entry))
2408 batadv_tt_local_entry_put(tt_local_entry);
3339 struct batadv_tt_local_entry *tt_local_entry;
3342 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
3343 if (!tt_local_entry)
3348 if ((tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING) ||
3349 (tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM))
3353 batadv_tt_local_entry_put(tt_local_entry);
3734 struct batadv_tt_local_entry *tt_local_entry;
3746 tt_local_entry = batadv_tt_local_hash_find(bat_priv, dst, vid);
3747 if (!tt_local_entry)
3754 if (_batadv_is_ap_isolated(tt_local_entry, tt_global_entry))
3759 batadv_tt_local_entry_put(tt_local_entry);
3889 struct batadv_tt_local_entry *tt_local_entry;
3892 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
3893 if (!tt_local_entry)
3896 ret = tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM;
3897 batadv_tt_local_entry_put(tt_local_entry);