Lines Matching refs:nt

102 	struct ieee80211_node_table *nt, const char *name,
105 static void ieee80211_node_table_cleanup(struct ieee80211_node_table *nt);
405 struct ieee80211_node_table *nt; in ieee80211_create_ibss() local
417 nt = &ic->ic_sta; in ieee80211_create_ibss()
418 IEEE80211_NODE_LOCK(nt); in ieee80211_create_ibss()
420 nt->nt_name = "station"; in ieee80211_create_ibss()
421 nt->nt_inact_init = ic->ic_inact_init; in ieee80211_create_ibss()
423 nt->nt_name = "neighbor"; in ieee80211_create_ibss()
424 nt->nt_inact_init = ic->ic_inact_run; in ieee80211_create_ibss()
426 IEEE80211_NODE_UNLOCK(nt); in ieee80211_create_ibss()
657 struct ieee80211_node_table *nt = &ic->ic_scan; in ieee80211_end_scan() local
677 IEEE80211_NODE_LOCK(nt); in ieee80211_end_scan()
678 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_end_scan()
684 IEEE80211_NODE_UNLOCK(nt); in ieee80211_end_scan()
727 if (TAILQ_FIRST(&nt->nt_node) == NULL) { in ieee80211_end_scan()
745 IEEE80211_NODE_LOCK(nt); in ieee80211_end_scan()
746 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_end_scan()
750 IEEE80211_NODE_UNLOCK(nt); in ieee80211_end_scan()
765 IEEE80211_NODE_LOCK(nt); in ieee80211_end_scan()
766 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_end_scan()
776 IEEE80211_NODE_UNLOCK(nt); in ieee80211_end_scan()
837 struct ieee80211_node_table *nt; in ieee80211_sta_join() local
850 nt = &ic->ic_sta; in ieee80211_sta_join()
851 IEEE80211_NODE_LOCK(nt); in ieee80211_sta_join()
852 nt->nt_name = "neighbor"; in ieee80211_sta_join()
853 nt->nt_inact_init = ic->ic_inact_run; in ieee80211_sta_join()
854 IEEE80211_NODE_UNLOCK(nt); in ieee80211_sta_join()
938 node_alloc(struct ieee80211_node_table *nt) in node_alloc() argument
1035 ieee80211_setup_node(struct ieee80211_node_table *nt, in ieee80211_setup_node() argument
1038 struct ieee80211com *ic = nt->nt_ic; in ieee80211_setup_node()
1043 ether_sprintf(macaddr), nt->nt_name); in ieee80211_setup_node()
1052 ni->ni_inact_reload = nt->nt_inact_init; in ieee80211_setup_node()
1056 IEEE80211_NODE_LOCK(nt); in ieee80211_setup_node()
1057 TAILQ_INSERT_TAIL(&nt->nt_node, ni, ni_list); in ieee80211_setup_node()
1058 LIST_INSERT_HEAD(&nt->nt_hash[hash], ni, ni_hash); in ieee80211_setup_node()
1059 ni->ni_table = nt; in ieee80211_setup_node()
1061 IEEE80211_NODE_UNLOCK(nt); in ieee80211_setup_node()
1065 ieee80211_alloc_node(struct ieee80211_node_table *nt, const u_int8_t *macaddr) in ieee80211_alloc_node() argument
1067 struct ieee80211com *ic = nt->nt_ic; in ieee80211_alloc_node()
1070 ni = ic->ic_node_alloc(nt); in ieee80211_alloc_node()
1072 ieee80211_setup_node(nt, ni, macaddr); in ieee80211_alloc_node()
1115 ieee80211_dup_bss(struct ieee80211_node_table *nt, const u_int8_t *macaddr) in ieee80211_dup_bss() argument
1117 struct ieee80211com *ic = nt->nt_ic; in ieee80211_dup_bss()
1120 ni = ic->ic_node_alloc(nt); in ieee80211_dup_bss()
1122 ieee80211_setup_node(nt, ni, macaddr); in ieee80211_dup_bss()
1140 _ieee80211_find_node_debug(struct ieee80211_node_table *nt, in _ieee80211_find_node_debug() argument
1143 _ieee80211_find_node(struct ieee80211_node_table *nt, in _ieee80211_find_node_debug()
1150 IEEE80211_NODE_LOCK_ASSERT(nt); in _ieee80211_find_node_debug()
1153 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) { in _ieee80211_find_node_debug()
1157 IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, in _ieee80211_find_node_debug()
1169 #define _ieee80211_find_node(nt, mac) \ argument
1170 _ieee80211_find_node_debug(nt, mac, func, line)
1175 ieee80211_find_node_debug(struct ieee80211_node_table *nt, in ieee80211_find_node_debug() argument
1178 ieee80211_find_node(struct ieee80211_node_table *nt, const u_int8_t *macaddr) in ieee80211_find_node_debug()
1183 IEEE80211_NODE_LOCK(nt); in ieee80211_find_node_debug()
1184 ni = _ieee80211_find_node(nt, macaddr); in ieee80211_find_node_debug()
1185 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_node_debug()
1196 ieee80211_fakeup_adhoc_node(struct ieee80211_node_table *nt, in ieee80211_fakeup_adhoc_node() argument
1199 struct ieee80211com *ic = nt->nt_ic; in ieee80211_fakeup_adhoc_node()
1202 ni = ieee80211_dup_bss(nt, macaddr); in ieee80211_fakeup_adhoc_node()
1267 struct ieee80211_node_table *nt = &ic->ic_scan; in ieee80211_add_scan() local
1271 ni = ieee80211_find_node(nt, wh->i_addr2); in ieee80211_add_scan()
1276 ni = ic->ic_node_alloc(nt); in ieee80211_add_scan()
1281 ieee80211_setup_node(nt, ni, wh->i_addr2); in ieee80211_add_scan()
1422 struct ieee80211_node_table *nt; in ieee80211_find_rxnode_debug() local
1429 nt = &ic->ic_scan; in ieee80211_find_rxnode_debug()
1431 nt = &ic->ic_sta; in ieee80211_find_rxnode_debug()
1435 IEEE80211_NODE_LOCK(nt); in ieee80211_find_rxnode_debug()
1437 ni = _ieee80211_find_node(nt, wh->i_addr1); in ieee80211_find_rxnode_debug()
1439 ni = _ieee80211_find_node(nt, wh->i_addr2); in ieee80211_find_rxnode_debug()
1442 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_rxnode_debug()
1465 struct ieee80211_node_table *nt; in ieee80211_find_rxnode_withkey_debug() local
1471 nt = &ic->ic_scan; in ieee80211_find_rxnode_withkey_debug()
1473 nt = &ic->ic_sta; in ieee80211_find_rxnode_withkey_debug()
1476 IEEE80211_NODE_LOCK(nt); in ieee80211_find_rxnode_withkey_debug()
1477 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { in ieee80211_find_rxnode_withkey_debug()
1478 ni = nt->nt_keyixmap[keyix]; in ieee80211_find_rxnode_withkey_debug()
1484 ni = _ieee80211_find_node(nt, wh->i_addr1); in ieee80211_find_rxnode_withkey_debug()
1486 ni = _ieee80211_find_node(nt, wh->i_addr2); in ieee80211_find_rxnode_withkey_debug()
1489 if (nt->nt_keyixmap != NULL) { in ieee80211_find_rxnode_withkey_debug()
1496 if (keyix < nt->nt_keyixmax && in ieee80211_find_rxnode_withkey_debug()
1497 nt->nt_keyixmap[keyix] == NULL) { in ieee80211_find_rxnode_withkey_debug()
1502 nt->nt_keyixmap[keyix] = ieee80211_ref_node(ni); in ieee80211_find_rxnode_withkey_debug()
1508 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_rxnode_withkey_debug()
1527 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_find_txnode_debug() local
1537 IEEE80211_NODE_LOCK(nt); in ieee80211_find_txnode_debug()
1541 ni = _ieee80211_find_node(nt, macaddr); in ieee80211_find_txnode_debug()
1542 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_txnode_debug()
1552 ni = ieee80211_fakeup_adhoc_node(nt, macaddr); in ieee80211_find_txnode_debug()
1570 ieee80211_find_node_with_channel_debug(struct ieee80211_node_table *nt, in ieee80211_find_node_with_channel_debug() argument
1574 ieee80211_find_node_with_channel(struct ieee80211_node_table *nt, in ieee80211_find_node_with_channel_debug()
1583 IEEE80211_NODE_LOCK(nt); in ieee80211_find_node_with_channel_debug()
1584 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) { in ieee80211_find_node_with_channel_debug()
1589 IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, in ieee80211_find_node_with_channel_debug()
1595 IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, in ieee80211_find_node_with_channel_debug()
1603 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_node_with_channel_debug()
1613 struct ieee80211_node_table *nt = ni0->ni_table; in ieee80211_refine_node_for_beacon() local
1617 if (nt == NULL) in ieee80211_refine_node_for_beacon()
1629 IEEE80211_NODE_LOCK(nt); in ieee80211_refine_node_for_beacon()
1649 IEEE80211_NODE_UNLOCK(nt); in ieee80211_refine_node_for_beacon()
1659 ieee80211_find_node_with_ssid_debug(struct ieee80211_node_table *nt, in ieee80211_find_node_with_ssid_debug() argument
1663 ieee80211_find_node_with_ssid(struct ieee80211_node_table *nt, in ieee80211_find_node_with_ssid_debug()
1670 struct ieee80211com *ic = nt->nt_ic; in ieee80211_find_node_with_ssid_debug()
1674 IEEE80211_NODE_LOCK(nt); in ieee80211_find_node_with_ssid_debug()
1682 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_find_node_with_ssid_debug()
1688 LIST_FOREACH(ni, &nt->nt_hash[hash], ni_hash) { in ieee80211_find_node_with_ssid_debug()
1710 IEEE80211_NODE_UNLOCK(nt); in ieee80211_find_node_with_ssid_debug()
1720 struct ieee80211_node_table *nt = ni->ni_table; in _ieee80211_free_node() local
1725 nt != NULL ? nt->nt_name : "<gone>"); in _ieee80211_free_node()
1728 if (nt != NULL) { in _ieee80211_free_node()
1729 TAILQ_REMOVE(&nt->nt_node, ni, ni_list); in _ieee80211_free_node()
1742 struct ieee80211_node_table *nt = ni->ni_table; in ieee80211_free_node_debug() local
1750 if (nt != NULL) { in ieee80211_free_node_debug()
1751 IEEE80211_NODE_LOCK(nt); in ieee80211_free_node_debug()
1758 nt->nt_keyixmap != NULL) { in ieee80211_free_node_debug()
1765 if (keyix < nt->nt_keyixmax && in ieee80211_free_node_debug()
1766 nt->nt_keyixmap[keyix] == ni) { in ieee80211_free_node_debug()
1770 nt->nt_keyixmap[keyix] = NULL; in ieee80211_free_node_debug()
1775 IEEE80211_NODE_UNLOCK(nt); in ieee80211_free_node_debug()
1789 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_node_delucastkey() local
1806 isowned = IEEE80211_NODE_IS_LOCKED(nt); in ieee80211_node_delucastkey()
1808 IEEE80211_NODE_LOCK(nt); in ieee80211_node_delucastkey()
1811 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax) { in ieee80211_node_delucastkey()
1812 nikey = nt->nt_keyixmap[keyix]; in ieee80211_node_delucastkey()
1813 nt->nt_keyixmap[keyix] = NULL; in ieee80211_node_delucastkey()
1837 node_reclaim(struct ieee80211_node_table *nt, struct ieee80211_node *ni) in node_reclaim() argument
1841 IEEE80211_NODE_LOCK_ASSERT(nt); in node_reclaim()
1846 nt->nt_name, ieee80211_node_refcnt(ni)-1); in node_reclaim()
1855 if (nt->nt_keyixmap != NULL && keyix < nt->nt_keyixmax && in node_reclaim()
1856 nt->nt_keyixmap[keyix] == ni) { in node_reclaim()
1860 nt->nt_keyixmap[keyix] = NULL; in node_reclaim()
1870 TAILQ_REMOVE(&nt->nt_node, ni, ni_list); in node_reclaim()
1878 ieee80211_free_allnodes_locked(struct ieee80211_node_table *nt) in ieee80211_free_allnodes_locked() argument
1880 struct ieee80211com *ic = nt->nt_ic; in ieee80211_free_allnodes_locked()
1884 "%s: free all nodes in %s table\n", __func__, nt->nt_name); in ieee80211_free_allnodes_locked()
1886 while ((ni = TAILQ_FIRST(&nt->nt_node)) != NULL) { in ieee80211_free_allnodes_locked()
1892 node_reclaim(nt, ni); in ieee80211_free_allnodes_locked()
1898 ieee80211_free_allnodes(struct ieee80211_node_table *nt) in ieee80211_free_allnodes() argument
1901 IEEE80211_NODE_LOCK(nt); in ieee80211_free_allnodes()
1902 ieee80211_free_allnodes_locked(nt); in ieee80211_free_allnodes()
1903 IEEE80211_NODE_UNLOCK(nt); in ieee80211_free_allnodes()
1910 ieee80211_timeout_scan_candidates(struct ieee80211_node_table *nt) in ieee80211_timeout_scan_candidates() argument
1912 struct ieee80211com *ic = nt->nt_ic; in ieee80211_timeout_scan_candidates()
1915 IEEE80211_NODE_LOCK(nt); in ieee80211_timeout_scan_candidates()
1922 TAILQ_FOREACH_SAFE(ni, &nt->nt_node, ni_list, tni) { in ieee80211_timeout_scan_candidates()
1928 node_reclaim(nt, ni); in ieee80211_timeout_scan_candidates()
1931 IEEE80211_NODE_UNLOCK(nt); in ieee80211_timeout_scan_candidates()
1933 nt->nt_inact_timer = IEEE80211_INACT_WAIT; in ieee80211_timeout_scan_candidates()
1947 ieee80211_timeout_stations(struct ieee80211_node_table *nt) in ieee80211_timeout_stations() argument
1949 struct ieee80211com *ic = nt->nt_ic; in ieee80211_timeout_stations()
1956 IEEE80211_SCAN_LOCK(nt); in ieee80211_timeout_stations()
1957 gen = ++nt->nt_scangen; in ieee80211_timeout_stations()
1958 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_timeout_stations()
1960 "%s: %s scangen %u\n", __func__, nt->nt_name, gen); in ieee80211_timeout_stations()
1962 IEEE80211_SCAN_LOCK(nt); in ieee80211_timeout_stations()
1963 if (gen != nt->nt_scangen) { in ieee80211_timeout_stations()
1965 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_timeout_stations()
1968 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_timeout_stations()
1970 IEEE80211_NODE_LOCK(nt); in ieee80211_timeout_stations()
1971 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_timeout_stations()
2059 IEEE80211_NODE_UNLOCK(nt); in ieee80211_timeout_stations()
2085 IEEE80211_NODE_UNLOCK(nt); in ieee80211_timeout_stations()
2096 IEEE80211_NODE_UNLOCK(nt); in ieee80211_timeout_stations()
2098 nt->nt_inact_timer = IEEE80211_INACT_WAIT; in ieee80211_timeout_stations()
2102 ieee80211_iterate_nodes(struct ieee80211_node_table *nt, ieee80211_iter_func *f, void *arg) in ieee80211_iterate_nodes() argument
2107 IEEE80211_SCAN_LOCK(nt); in ieee80211_iterate_nodes()
2108 gen = ++nt->nt_scangen; in ieee80211_iterate_nodes()
2109 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_iterate_nodes()
2111 IEEE80211_SCAN_LOCK(nt); in ieee80211_iterate_nodes()
2112 if (gen != nt->nt_scangen) { in ieee80211_iterate_nodes()
2114 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_iterate_nodes()
2117 IEEE80211_SCAN_UNLOCK(nt); in ieee80211_iterate_nodes()
2119 IEEE80211_NODE_LOCK(nt); in ieee80211_iterate_nodes()
2120 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_iterate_nodes()
2124 IEEE80211_NODE_UNLOCK(nt); in ieee80211_iterate_nodes()
2130 IEEE80211_NODE_UNLOCK(nt); in ieee80211_iterate_nodes()
2134 ieee80211_dump_node(struct ieee80211_node_table *nt, in ieee80211_dump_node() argument
2159 ieee80211_dump_nodes(struct ieee80211_node_table *nt) in ieee80211_dump_nodes() argument
2161 ieee80211_iterate_nodes(nt, in ieee80211_dump_nodes()
2162 (ieee80211_iter_func *) ieee80211_dump_node, nt); in ieee80211_dump_nodes()
2346 struct ieee80211_node_table *nt = ni->ni_table; in ieee80211_node_leave() local
2394 if (nt != NULL) { in ieee80211_node_leave()
2395 IEEE80211_NODE_LOCK(nt); in ieee80211_node_leave()
2396 node_reclaim(nt, ni); in ieee80211_node_leave()
2397 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_leave()
2406 struct ieee80211_node_table *nt = &ic->ic_sta; in ieee80211_getrssi() local
2415 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) in ieee80211_getrssi()
2423 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) { in ieee80211_getrssi()
2431 TAILQ_FOREACH(ni, &nt->nt_node, ni_list) in ieee80211_getrssi()
2487 struct ieee80211_node_table *nt, in ieee80211_node_table_init() argument
2495 nt->nt_ic = ic; in ieee80211_node_table_init()
2497 IEEE80211_NODE_LOCK_INIT(nt, ic->ic_ifp->if_xname); in ieee80211_node_table_init()
2498 IEEE80211_SCAN_LOCK_INIT(nt, ic->ic_ifp->if_xname); in ieee80211_node_table_init()
2499 TAILQ_INIT(&nt->nt_node); in ieee80211_node_table_init()
2500 nt->nt_name = name; in ieee80211_node_table_init()
2501 nt->nt_scangen = 1; in ieee80211_node_table_init()
2502 nt->nt_inact_init = inact; in ieee80211_node_table_init()
2503 nt->nt_timeout = timeout; in ieee80211_node_table_init()
2504 nt->nt_keyixmax = keyixmax; in ieee80211_node_table_init()
2505 if (nt->nt_keyixmax > 0) { in ieee80211_node_table_init()
2506 nt->nt_keyixmap = malloc(keyixmax * in ieee80211_node_table_init()
2510 nt->nt_keyixmap = NULL; in ieee80211_node_table_init()
2514 ieee80211_node_table_reset(struct ieee80211_node_table *nt) in ieee80211_node_table_reset() argument
2517 IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, in ieee80211_node_table_reset()
2518 "%s %s table\n", __func__, nt->nt_name); in ieee80211_node_table_reset()
2520 IEEE80211_NODE_LOCK(nt); in ieee80211_node_table_reset()
2521 nt->nt_inact_timer = 0; in ieee80211_node_table_reset()
2522 ieee80211_free_allnodes_locked(nt); in ieee80211_node_table_reset()
2523 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_table_reset()
2527 ieee80211_node_table_cleanup(struct ieee80211_node_table *nt) in ieee80211_node_table_cleanup() argument
2530 IEEE80211_DPRINTF(nt->nt_ic, IEEE80211_MSG_NODE, in ieee80211_node_table_cleanup()
2531 "%s %s table\n", __func__, nt->nt_name); in ieee80211_node_table_cleanup()
2533 IEEE80211_NODE_LOCK(nt); in ieee80211_node_table_cleanup()
2534 ieee80211_free_allnodes_locked(nt); in ieee80211_node_table_cleanup()
2535 IEEE80211_NODE_UNLOCK(nt); in ieee80211_node_table_cleanup()
2536 if (nt->nt_keyixmap != NULL) { in ieee80211_node_table_cleanup()
2539 for (i = 0; i < nt->nt_keyixmax; i++) in ieee80211_node_table_cleanup()
2540 if (nt->nt_keyixmap[i] != NULL) in ieee80211_node_table_cleanup()
2542 nt->nt_name, i); in ieee80211_node_table_cleanup()
2543 free(nt->nt_keyixmap, M_80211_NODE); in ieee80211_node_table_cleanup()
2544 nt->nt_keyixmap = NULL; in ieee80211_node_table_cleanup()
2546 IEEE80211_SCAN_LOCK_DESTROY(nt); in ieee80211_node_table_cleanup()
2547 IEEE80211_NODE_LOCK_DESTROY(nt); in ieee80211_node_table_cleanup()