Lines Matching refs:tt_local_entry

168  * Return: a pointer to the corresponding tt_local_entry struct if the client is
176 struct batadv_tt_local_entry *tt_local_entry = NULL;
181 tt_local_entry = container_of(tt_common_entry,
184 return tt_local_entry;
213 * batadv_tt_local_entry_free_rcu() - free the tt_local_entry
214 * @rcu: rcu pointer of the tt_local_entry
218 struct batadv_tt_local_entry *tt_local_entry;
220 tt_local_entry = container_of(rcu, struct batadv_tt_local_entry,
223 kmem_cache_free(batadv_tl_cache, tt_local_entry);
227 * batadv_tt_local_entry_release() - release tt_local_entry from lists and queue
233 struct batadv_tt_local_entry *tt_local_entry;
235 tt_local_entry = container_of(ref, struct batadv_tt_local_entry,
238 batadv_softif_vlan_put(tt_local_entry->vlan);
240 call_rcu(&tt_local_entry->common.rcu, batadv_tt_local_entry_free_rcu);
244 * batadv_tt_local_entry_put() - decrement the tt_local_entry refcounter and
246 * @tt_local_entry: tt_local_entry to be free'd
249 batadv_tt_local_entry_put(struct batadv_tt_local_entry *tt_local_entry)
251 if (!tt_local_entry)
254 kref_put(&tt_local_entry->common.refcount,
457 * @tt_local_entry: the TT entry involved in the event
461 struct batadv_tt_local_entry *tt_local_entry,
465 struct batadv_tt_common_entry *common = &tt_local_entry->common;
1304 struct batadv_tt_local_entry *tt_local_entry,
1307 batadv_tt_local_event(bat_priv, tt_local_entry, flags);
1313 tt_local_entry->common.flags |= BATADV_TT_CLIENT_PENDING;
1317 tt_local_entry->common.addr,
1318 batadv_print_vid(tt_local_entry->common.vid), message);
1336 struct batadv_tt_local_entry *tt_local_entry;
1340 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
1341 if (!tt_local_entry)
1344 curr_flags = tt_local_entry->common.flags;
1354 tt_local_entry->common.flags |= BATADV_TT_CLIENT_ROAM;
1357 if (!(tt_local_entry->common.flags & BATADV_TT_CLIENT_NEW)) {
1358 batadv_tt_local_set_pending(bat_priv, tt_local_entry, flags,
1365 batadv_tt_local_event(bat_priv, tt_local_entry, BATADV_TT_CLIENT_DEL);
1370 &tt_local_entry->common);
1381 if (tt_local_entry)
1382 batadv_tt_local_entry_put(tt_local_entry);
1398 struct batadv_tt_local_entry *tt_local_entry;
1404 tt_local_entry = container_of(tt_common_entry,
1407 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_NOPURGE)
1411 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING)
1414 if (!batadv_has_timed_out(tt_local_entry->last_seen, timeout))
1417 batadv_tt_local_set_pending(bat_priv, tt_local_entry,
1683 struct batadv_tt_local_entry *tt_local_entry;
1694 tt_local_entry = batadv_tt_local_hash_find(bat_priv, tt_addr, vid);
1700 if ((flags & BATADV_TT_CLIENT_TEMP) && tt_local_entry &&
1701 !(tt_local_entry->common.flags & BATADV_TT_CLIENT_NEW))
1828 if (tt_local_entry)
1829 batadv_tt_local_entry_put(tt_local_entry);
2568 _batadv_is_ap_isolated(struct batadv_tt_local_entry *tt_local_entry,
2571 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_WIFI &&
2576 if (tt_local_entry->common.flags & BATADV_TT_CLIENT_ISOLA &&
2602 struct batadv_tt_local_entry *tt_local_entry = NULL;
2608 tt_local_entry = batadv_tt_local_hash_find(bat_priv, src, vid);
2609 if (!tt_local_entry ||
2610 (tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING))
2621 if (tt_local_entry &&
2622 _batadv_is_ap_isolated(tt_local_entry, tt_global_entry))
2637 if (tt_local_entry)
2638 batadv_tt_local_entry_put(tt_local_entry);
3576 struct batadv_tt_local_entry *tt_local_entry;
3579 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
3580 if (!tt_local_entry)
3585 if ((tt_local_entry->common.flags & BATADV_TT_CLIENT_PENDING) ||
3586 (tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM))
3590 if (tt_local_entry)
3591 batadv_tt_local_entry_put(tt_local_entry);
3974 struct batadv_tt_local_entry *tt_local_entry;
3986 tt_local_entry = batadv_tt_local_hash_find(bat_priv, dst, vid);
3987 if (!tt_local_entry)
3994 if (_batadv_is_ap_isolated(tt_local_entry, tt_global_entry))
3999 batadv_tt_local_entry_put(tt_local_entry);
4129 struct batadv_tt_local_entry *tt_local_entry;
4132 tt_local_entry = batadv_tt_local_hash_find(bat_priv, addr, vid);
4133 if (!tt_local_entry)
4136 ret = tt_local_entry->common.flags & BATADV_TT_CLIENT_ROAM;
4137 batadv_tt_local_entry_put(tt_local_entry);