Lines Matching refs:nt
101 static void node_reclaim(struct ieee80211_node_table *nt,
104 struct ieee80211_node_table *nt, const char *name,
108 static void ieee80211_node_table_cleanup(struct ieee80211_node_table *nt);
882 struct ieee80211_node_table *nt = obss->ni_table; in ieee80211_sta_join1() local
885 if (nt != NULL) { in ieee80211_sta_join1()
887 IEEE80211_NODE_LOCK(nt); in ieee80211_sta_join1()
888 node_reclaim(nt, obss); /* station table reference */ in ieee80211_sta_join1()
889 IEEE80211_NODE_UNLOCK(nt); in ieee80211_sta_join1()
1391 ieee80211_add_node_nt(struct ieee80211_node_table *nt, in ieee80211_add_node_nt() argument
1394 struct ieee80211com *ic = nt->nt_ic; in ieee80211_add_node_nt()
1397 IEEE80211_NODE_LOCK_ASSERT(nt); in ieee80211_add_node_nt()
1401 TAILQ_INSERT_TAIL(&nt->nt_node, ni, ni_list); in ieee80211_add_node_nt()
1402 LIST_INSERT_HEAD(&nt->nt_hash[hash], ni, ni_hash); in ieee80211_add_node_nt()
1403 nt->nt_count++; in ieee80211_add_node_nt()
1404 ni->ni_table = nt; in ieee80211_add_node_nt()
1408 ieee80211_del_node_nt(struct ieee80211_node_table *nt, in ieee80211_del_node_nt() argument
1412 IEEE80211_NODE_LOCK_ASSERT(nt); in ieee80211_del_node_nt()
1414 TAILQ_REMOVE(&nt->nt_node, ni, ni_list); in ieee80211_del_node_nt()
1416 nt->nt_count--; in ieee80211_del_node_nt()
1417 KASSERT(nt->nt_count >= 0, in ieee80211_del_node_nt()
1418 ("nt_count is negative (%d)!\n", nt->nt_count)); in ieee80211_del_node_nt()
1423 ieee80211_alloc_node(struct ieee80211_node_table *nt, in ieee80211_alloc_node() argument
1427 struct ieee80211com *ic = nt->nt_ic; in ieee80211_alloc_node()
1438 ether_sprintf(macaddr), nt->nt_name); in ieee80211_alloc_node()
1453 ni->ni_inact_reload = nt->nt_inact_init; in ieee80211_alloc_node()
1461 IEEE80211_NODE_LOCK(nt); in ieee80211_alloc_node()
1462 ieee80211_add_node_nt(nt, ni); in ieee80211_alloc_node()
1465 IEEE80211_NODE_UNLOCK(nt); in ieee80211_alloc_node()
1628 _ieee80211_find_node_locked(struct ieee80211_node_table *nt, in _ieee80211_find_node_locked() argument
1635 IEEE80211_NODE_LOCK_ASSERT(nt); in _ieee80211_find_node_locked()
1637 hash = IEEE80211_NODE_HASH(nt->nt_ic, macaddr); in _ieee80211_find_node_locked()
1638 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) { in _ieee80211_find_node_locked()
1655 _ieee80211_find_node(struct ieee80211_node_table *nt, in _ieee80211_find_node() argument
1661 IEEE80211_NODE_LOCK(nt); in _ieee80211_find_node()
1662 ni = _ieee80211_find_node_locked(nt, macaddr, func, line); in _ieee80211_find_node()
1663 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_find_node()
1668 _ieee80211_find_vap_node_locked(struct ieee80211_node_table *nt, in _ieee80211_find_vap_node_locked() argument
1675 IEEE80211_NODE_LOCK_ASSERT(nt); in _ieee80211_find_vap_node_locked()
1677 hash = IEEE80211_NODE_HASH(nt->nt_ic, macaddr); in _ieee80211_find_vap_node_locked()
1678 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) { in _ieee80211_find_vap_node_locked()
1696 _ieee80211_find_vap_node(struct ieee80211_node_table *nt, in _ieee80211_find_vap_node() argument
1702 IEEE80211_NODE_LOCK(nt); in _ieee80211_find_vap_node()
1703 ni = _ieee80211_find_vap_node_locked(nt, vap, macaddr, func, line); in _ieee80211_find_vap_node()
1704 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_find_vap_node()
1952 _find_rxnode(struct ieee80211_node_table *nt, in _find_rxnode() argument
1958 return _ieee80211_find_node_locked(nt, wh->i_addr2, func, line); in _find_rxnode()
1971 struct ieee80211_node_table *nt; in _ieee80211_find_rxnode() local
1974 nt = &ic->ic_sta; in _ieee80211_find_rxnode()
1975 IEEE80211_NODE_LOCK(nt); in _ieee80211_find_rxnode()
1976 ni = _find_rxnode(nt, wh, func, line); in _ieee80211_find_rxnode()
1977 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_find_rxnode()
1995 struct ieee80211_node_table *nt; in _ieee80211_find_rxnode_withkey() local
1998 nt = &ic->ic_sta; in _ieee80211_find_rxnode_withkey()
1999 IEEE80211_NODE_LOCK(nt); in _ieee80211_find_rxnode_withkey()
2000 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) in _ieee80211_find_rxnode_withkey()
2001 ni = nt->nt_keyixmap[keyix]; in _ieee80211_find_rxnode_withkey()
2005 ni = _find_rxnode(nt, wh, func, line); in _ieee80211_find_rxnode_withkey()
2006 if (ni != NULL && nt->nt_keyixmap != NULL) { in _ieee80211_find_rxnode_withkey()
2013 if (keyix < nt->nt_keyixmax && in _ieee80211_find_rxnode_withkey()
2014 nt->nt_keyixmap[keyix] == NULL) { in _ieee80211_find_rxnode_withkey()
2020 nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); in _ieee80211_find_rxnode_withkey()
2029 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_find_rxnode_withkey()
2045 struct ieee80211_node_table *nt = &vap->iv_ic->ic_sta; in _ieee80211_find_txnode() local
2055 IEEE80211_NODE_LOCK(nt); in _ieee80211_find_txnode()
2061 ni = _ieee80211_find_node_locked(nt, macaddr, func, line); in _ieee80211_find_txnode()
2062 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_find_txnode()
2106 struct ieee80211_node_table *nt = ni->ni_table; in __ieee80211_free_node() local
2118 nt != NULL ? nt->nt_name : "<gone>"); in __ieee80211_free_node()
2125 if (nt != NULL) in __ieee80211_free_node()
2126 ieee80211_del_node_nt(nt, ni); in __ieee80211_free_node()
2134 node_clear_keyixmap(struct ieee80211_node_table *nt, struct ieee80211_node *ni) in node_clear_keyixmap() argument
2139 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax && in node_clear_keyixmap()
2140 nt->nt_keyixmap[keyix] == ni) { in node_clear_keyixmap()
2144 nt->nt_keyixmap[keyix] = NULL; in node_clear_keyixmap()
2156 struct ieee80211_node_table *nt = ni->ni_table; in _ieee80211_free_node() local
2163 if (nt != NULL) { in _ieee80211_free_node()
2164 IEEE80211_NODE_LOCK(nt); in _ieee80211_free_node()
2171 if (node_clear_keyixmap(nt, ni)) in _ieee80211_free_node()
2173 IEEE80211_NODE_UNLOCK(nt); in _ieee80211_free_node()
2187 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_node_delucastkey() local
2204 isowned = IEEE80211_NODE_IS_LOCKED(nt); in ieee80211_node_delucastkey()
2206 IEEE80211_NODE_LOCK(nt); in ieee80211_node_delucastkey()
2212 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { in ieee80211_node_delucastkey()
2213 nikey = nt->nt_keyixmap[keyix]; in ieee80211_node_delucastkey()
2214 nt->nt_keyixmap[keyix] = NULL; in ieee80211_node_delucastkey()
2218 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_delucastkey()
2238 node_reclaim(struct ieee80211_node_table *nt, struct ieee80211_node *ni) in node_reclaim() argument
2241 IEEE80211_NODE_LOCK_ASSERT(nt); in node_reclaim()
2246 nt->nt_name, ieee80211_node_refcnt(ni)-1); in node_reclaim()
2254 (void)node_clear_keyixmap(nt, ni); in node_reclaim()
2262 ieee80211_del_node_nt(nt, ni); in node_reclaim()
2273 struct ieee80211_node_table *nt, in ieee80211_node_table_init() argument
2277 nt->nt_ic = ic; in ieee80211_node_table_init()
2278 IEEE80211_NODE_LOCK_INIT(nt, ic->ic_name); in ieee80211_node_table_init()
2279 TAILQ_INIT(&nt->nt_node); in ieee80211_node_table_init()
2280 nt->nt_count = 0; in ieee80211_node_table_init()
2281 nt->nt_name = name; in ieee80211_node_table_init()
2282 nt->nt_inact_init = inact; in ieee80211_node_table_init()
2283 nt->nt_keyixmax = keyixmax; in ieee80211_node_table_init()
2284 if (nt->nt_keyixmax > 0) { in ieee80211_node_table_init()
2285 nt->nt_keyixmap = (struct ieee80211_node **) IEEE80211_MALLOC( in ieee80211_node_table_init()
2289 if (nt->nt_keyixmap == NULL) in ieee80211_node_table_init()
2294 nt->nt_keyixmap = NULL; in ieee80211_node_table_init()
2298 ieee80211_node_table_reset(struct ieee80211_node_table *nt, in ieee80211_node_table_reset() argument
2303 IEEE80211_NODE_LOCK(nt); in ieee80211_node_table_reset()
2304 TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next) { in ieee80211_node_table_reset()
2317 node_reclaim(nt, ni); in ieee80211_node_table_reset()
2327 TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next) in ieee80211_node_table_reset()
2331 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_table_reset()
2335 ieee80211_node_table_cleanup(struct ieee80211_node_table *nt) in ieee80211_node_table_cleanup() argument
2337 ieee80211_node_table_reset(nt, NULL); in ieee80211_node_table_cleanup()
2338 if (nt->nt_keyixmap != NULL) { in ieee80211_node_table_cleanup()
2342 for (i = 0; i < nt->nt_keyixmax; i++) in ieee80211_node_table_cleanup()
2343 if (nt->nt_keyixmap[i] != NULL) in ieee80211_node_table_cleanup()
2345 nt->nt_name, i); in ieee80211_node_table_cleanup()
2347 IEEE80211_FREE(nt->nt_keyixmap, M_80211_NODE); in ieee80211_node_table_cleanup()
2348 nt->nt_keyixmap = NULL; in ieee80211_node_table_cleanup()
2350 IEEE80211_NODE_LOCK_DESTROY(nt); in ieee80211_node_table_cleanup()
2478 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_timeout_stations() local
2480 ieee80211_iterate_nodes(nt, timeout_stations, NULL); in ieee80211_timeout_stations()
2490 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_drain() local
2494 IEEE80211_NODE_LOCK(nt); in ieee80211_drain()
2495 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_drain()
2530 IEEE80211_NODE_UNLOCK(nt); in ieee80211_drain()
2583 ieee80211_iterate_nodes_vap(struct ieee80211_node_table *nt, in ieee80211_iterate_nodes_vap() argument
2597 IEEE80211_NODE_LOCK(nt); in ieee80211_iterate_nodes_vap()
2598 count = nt->nt_count; in ieee80211_iterate_nodes_vap()
2603 IEEE80211_NODE_UNLOCK(nt); in ieee80211_iterate_nodes_vap()
2608 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_iterate_nodes_vap()
2617 IEEE80211_NODE_UNLOCK(nt); in ieee80211_iterate_nodes_vap()
2637 ieee80211_iterate_nodes(struct ieee80211_node_table *nt, in ieee80211_iterate_nodes() argument
2641 (void) ieee80211_iterate_nodes_vap(nt, NULL, f, arg); in ieee80211_iterate_nodes()
2645 ieee80211_dump_node(struct ieee80211_node_table *nt __unused, in ieee80211_dump_node()
2684 ieee80211_dump_nodes(struct ieee80211_node_table *nt) in ieee80211_dump_nodes() argument
2686 ieee80211_iterate_nodes(nt, in ieee80211_dump_nodes()
2687 (ieee80211_iter_func *) ieee80211_dump_node, nt); in ieee80211_dump_nodes()
2975 struct ieee80211_node_table *nt = ni->ni_table; in ieee80211_node_leave() local
3024 if (nt != NULL) { in ieee80211_node_leave()
3025 IEEE80211_NODE_LOCK(nt); in ieee80211_node_leave()
3026 node_reclaim(nt, ni); in ieee80211_node_leave()
3027 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_leave()