Lines Matching refs:nt

94 static void node_reclaim(struct ieee80211_node_table *nt,
97 struct ieee80211_node_table *nt, const char *name,
101 static void ieee80211_node_table_cleanup(struct ieee80211_node_table *nt);
858 struct ieee80211_node_table *nt = obss->ni_table;
863 IEEE80211_NODE_LOCK(nt);
864 node_reclaim(nt, obss); /* station table reference */
865 IEEE80211_NODE_UNLOCK(nt);
1352 ieee80211_add_node_nt(struct ieee80211_node_table *nt,
1355 struct ieee80211com *ic = nt->nt_ic;
1358 IEEE80211_NODE_LOCK_ASSERT(nt);
1362 TAILQ_INSERT_TAIL(&nt->nt_node, ni, ni_list);
1363 LIST_INSERT_HEAD(&nt->nt_hash[hash], ni, ni_hash);
1364 nt->nt_count++;
1365 ni->ni_table = nt;
1369 ieee80211_del_node_nt(struct ieee80211_node_table *nt,
1373 IEEE80211_NODE_LOCK_ASSERT(nt);
1375 TAILQ_REMOVE(&nt->nt_node, ni, ni_list);
1377 nt->nt_count--;
1378 KASSERT(nt->nt_count >= 0,
1379 ("nt_count is negative (%d)!\n", nt->nt_count));
1384 ieee80211_alloc_node(struct ieee80211_node_table *nt,
1387 struct ieee80211com *ic = nt->nt_ic;
1398 ether_sprintf(macaddr), nt->nt_name);
1408 ni->ni_inact_reload = nt->nt_inact_init;
1416 IEEE80211_NODE_LOCK(nt);
1417 ieee80211_add_node_nt(nt, ni);
1420 IEEE80211_NODE_UNLOCK(nt);
1578 ieee80211_find_node_locked_debug(struct ieee80211_node_table *nt,
1581 ieee80211_find_node_locked(struct ieee80211_node_table *nt,
1588 IEEE80211_NODE_LOCK_ASSERT(nt);
1590 hash = IEEE80211_NODE_HASH(nt->nt_ic, macaddr);
1591 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) {
1609 ieee80211_find_node_debug(struct ieee80211_node_table *nt,
1612 ieee80211_find_node(struct ieee80211_node_table *nt,
1618 IEEE80211_NODE_LOCK(nt);
1619 ni = ieee80211_find_node_locked(nt, macaddr);
1620 IEEE80211_NODE_UNLOCK(nt);
1626 ieee80211_find_vap_node_locked_debug(struct ieee80211_node_table *nt,
1630 ieee80211_find_vap_node_locked(struct ieee80211_node_table *nt,
1638 IEEE80211_NODE_LOCK_ASSERT(nt);
1640 hash = IEEE80211_NODE_HASH(nt->nt_ic, macaddr);
1641 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) {
1660 ieee80211_find_vap_node_debug(struct ieee80211_node_table *nt,
1664 ieee80211_find_vap_node(struct ieee80211_node_table *nt,
1671 IEEE80211_NODE_LOCK(nt);
1672 ni = ieee80211_find_vap_node_locked(nt, vap, macaddr);
1673 IEEE80211_NODE_UNLOCK(nt);
1923 _find_rxnode(struct ieee80211_node_table *nt,
1928 return ieee80211_find_node_locked(nt, wh->i_addr2);
1945 struct ieee80211_node_table *nt;
1948 nt = &ic->ic_sta;
1949 IEEE80211_NODE_LOCK(nt);
1950 ni = _find_rxnode(nt, wh);
1951 IEEE80211_NODE_UNLOCK(nt);
1974 struct ieee80211_node_table *nt;
1977 nt = &ic->ic_sta;
1978 IEEE80211_NODE_LOCK(nt);
1979 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax)
1980 ni = nt->nt_keyixmap[keyix];
1984 ni = _find_rxnode(nt, wh);
1985 if (ni != NULL && nt->nt_keyixmap != NULL) {
1992 if (keyix < nt->nt_keyixmax &&
1993 nt->nt_keyixmap[keyix] == NULL) {
1999 nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni);
2008 IEEE80211_NODE_UNLOCK(nt);
2029 struct ieee80211_node_table *nt = &vap->iv_ic->ic_sta;
2039 IEEE80211_NODE_LOCK(nt);
2045 ni = ieee80211_find_node_locked(nt, macaddr);
2046 IEEE80211_NODE_UNLOCK(nt);
2076 struct ieee80211_node_table *nt = ni->ni_table;
2088 nt != NULL ? nt->nt_name : "<gone>");
2095 if (nt != NULL)
2096 ieee80211_del_node_nt(nt, ni);
2104 node_clear_keyixmap(struct ieee80211_node_table *nt, struct ieee80211_node *ni)
2109 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax &&
2110 nt->nt_keyixmap[keyix] == ni) {
2114 nt->nt_keyixmap[keyix] = NULL;
2129 struct ieee80211_node_table *nt = ni->ni_table;
2136 if (nt != NULL) {
2137 IEEE80211_NODE_LOCK(nt);
2144 if (node_clear_keyixmap(nt, ni))
2146 IEEE80211_NODE_UNLOCK(nt);
2160 struct ieee80211_node_table *nt = &ic->ic_sta;
2177 isowned = IEEE80211_NODE_IS_LOCKED(nt);
2179 IEEE80211_NODE_LOCK(nt);
2185 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) {
2186 nikey = nt->nt_keyixmap[keyix];
2187 nt->nt_keyixmap[keyix] = NULL;
2191 IEEE80211_NODE_UNLOCK(nt);
2211 node_reclaim(struct ieee80211_node_table *nt, struct ieee80211_node *ni)
2214 IEEE80211_NODE_LOCK_ASSERT(nt);
2219 nt->nt_name, ieee80211_node_refcnt(ni)-1);
2227 (void)node_clear_keyixmap(nt, ni);
2235 ieee80211_del_node_nt(nt, ni);
2246 struct ieee80211_node_table *nt,
2250 nt->nt_ic = ic;
2251 IEEE80211_NODE_LOCK_INIT(nt, ic->ic_name);
2252 TAILQ_INIT(&nt->nt_node);
2253 nt->nt_count = 0;
2254 nt->nt_name = name;
2255 nt->nt_inact_init = inact;
2256 nt->nt_keyixmax = keyixmax;
2257 if (nt->nt_keyixmax > 0) {
2258 nt->nt_keyixmap = (struct ieee80211_node **) IEEE80211_MALLOC(
2262 if (nt->nt_keyixmap == NULL)
2267 nt->nt_keyixmap = NULL;
2271 ieee80211_node_table_reset(struct ieee80211_node_table *nt,
2276 IEEE80211_NODE_LOCK(nt);
2277 TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next) {
2290 node_reclaim(nt, ni);
2300 TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, next)
2304 IEEE80211_NODE_UNLOCK(nt);
2308 ieee80211_node_table_cleanup(struct ieee80211_node_table *nt)
2310 ieee80211_node_table_reset(nt, NULL);
2311 if (nt->nt_keyixmap != NULL) {
2315 for (i = 0; i < nt->nt_keyixmax; i++)
2316 if (nt->nt_keyixmap[i] != NULL)
2318 nt->nt_name, i);
2320 IEEE80211_FREE(nt->nt_keyixmap, M_80211_NODE);
2321 nt->nt_keyixmap = NULL;
2323 IEEE80211_NODE_LOCK_DESTROY(nt);
2451 struct ieee80211_node_table *nt = &ic->ic_sta;
2453 ieee80211_iterate_nodes(nt, timeout_stations, NULL);
2463 struct ieee80211_node_table *nt = &ic->ic_sta;
2467 IEEE80211_NODE_LOCK(nt);
2468 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) {
2503 IEEE80211_NODE_UNLOCK(nt);
2556 ieee80211_iterate_nodes_vap(struct ieee80211_node_table *nt,
2570 IEEE80211_NODE_LOCK(nt);
2571 count = nt->nt_count;
2576 IEEE80211_NODE_UNLOCK(nt);
2581 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) {
2590 IEEE80211_NODE_UNLOCK(nt);
2610 ieee80211_iterate_nodes(struct ieee80211_node_table *nt,
2614 (void) ieee80211_iterate_nodes_vap(nt, NULL, f, arg);
2618 ieee80211_dump_node(struct ieee80211_node_table *nt, struct ieee80211_node *ni)
2652 ieee80211_dump_nodes(struct ieee80211_node_table *nt)
2654 ieee80211_iterate_nodes(nt,
2655 (ieee80211_iter_func *) ieee80211_dump_node, nt);
2943 struct ieee80211_node_table *nt = ni->ni_table;
2992 if (nt != NULL) {
2993 IEEE80211_NODE_LOCK(nt);
2994 node_reclaim(nt, ni);
2995 IEEE80211_NODE_UNLOCK(nt);