Lines Matching refs:vap

248 	struct ieee80211vap *vap = ss->ss_vap;  in sta_add()  local
249 struct ieee80211com *ic = vap->iv_ic; in sta_add()
332 IEEE80211_DPRINTF(vap, IEEE80211_MSG_11N, in sta_add()
346 IEEE80211_DPRINTF(vap, IEEE80211_MSG_11N, in sta_add()
378 (vap->iv_flags_ext & IEEE80211_FEXT_DOTD)) && in sta_add()
383 ieee80211_notify_country(vap, ise->se_bssid, in sta_add()
397 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_SCAN, macaddr, in sta_add()
415 if (PICK1ST(ss) && match_bss(vap, ss, se, IEEE80211_MSG_SCAN) == 0) in sta_add()
427 isexcluded(struct ieee80211vap *vap, const struct ieee80211_channel *c) in isexcluded() argument
429 return (isclr(vap->iv_ic->ic_chan_active, c->ic_ieee) || in isexcluded()
430 (vap->iv_des_chan != IEEE80211_CHAN_ANYC && in isexcluded()
431 c->ic_freq != vap->iv_des_chan->ic_freq)); in isexcluded()
478 add_channels(struct ieee80211vap *vap, in add_channels() argument
482 struct ieee80211com *ic = vap->iv_ic; in add_channels()
494 if (c == NULL || isexcluded(vap, c)) in add_channels()
544 sweepchannels(struct ieee80211_scan_state *ss, struct ieee80211vap *vap, in sweepchannels() argument
547 struct ieee80211com *ic = vap->iv_ic; in sweepchannels()
570 if (vap->iv_des_mode != IEEE80211_MODE_AUTO && in sweepchannels()
571 vap->iv_des_mode != ieee80211_chan2mode(c)) in sweepchannels()
577 if (isexcluded(vap, c)) in sweepchannels()
600 c = vap->iv_des_chan; in sweepchannels()
603 (vap->iv_des_mode == IEEE80211_MODE_AUTO || in sweepchannels()
604 vap->iv_des_mode == ieee80211_chan2mode(c)) && in sweepchannels()
610 makescanlist(struct ieee80211_scan_state *ss, struct ieee80211vap *vap, in makescanlist() argument
627 if (vap->iv_des_mode == IEEE80211_MODE_11B) in makescanlist()
638 if (vap->iv_des_mode == IEEE80211_MODE_AUTO || in makescanlist()
639 vap->iv_des_mode == IEEE80211_MODE_11G || in makescanlist()
640 vap->iv_des_mode == IEEE80211_MODE_11NG || in makescanlist()
641 vap->iv_des_mode == IEEE80211_MODE_VHT_2GHZ) { in makescanlist()
642 mode = vap->iv_des_mode; in makescanlist()
649 if (vap->iv_des_mode == IEEE80211_MODE_11NA || in makescanlist()
650 vap->iv_des_mode == IEEE80211_MODE_VHT_5GHZ) { in makescanlist()
651 mode = vap->iv_des_mode; in makescanlist()
661 if (vap->iv_des_mode != IEEE80211_MODE_AUTO && in makescanlist()
662 vap->iv_des_mode != mode) in makescanlist()
668 if ((vap->iv_flags & IEEE80211_F_XR) && in makescanlist()
678 add_channels(vap, ss, mode, scan->list, scan->count); in makescanlist()
685 sweepchannels(ss, vap, table); in makescanlist()
747 sta_start(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in sta_start() argument
751 makescanlist(ss, vap, staScanTable); in sta_start()
769 sta_restart(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in sta_restart() argument
781 sta_cancel(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in sta_cancel() argument
791 demote11b(struct ieee80211vap *vap, struct ieee80211_channel *chan) in demote11b() argument
796 vap->iv_des_mode == IEEE80211_MODE_AUTO) { in demote11b()
797 c = ieee80211_find_channel(vap->iv_ic, chan->ic_freq, in demote11b()
919 check_rate(struct ieee80211vap *vap, const struct ieee80211_channel *chan, in check_rate() argument
928 srs = ieee80211_get_suprates(vap->iv_ic, chan); in check_rate()
932 ucastrate = vap->iv_txparms[ieee80211_chan2mode(chan)].ucastrate; in check_rate()
1013 match_bss(struct ieee80211vap *vap, in match_bss() argument
1017 struct ieee80211com *ic = vap->iv_ic; in match_bss()
1032 if (vap->iv_des_mode != IEEE80211_MODE_AUTO && in match_bss()
1034 chanflags[vap->iv_des_mode]) in match_bss()
1036 if (vap->iv_opmode == IEEE80211_M_IBSS) { in match_bss()
1040 } else if (vap->iv_opmode == IEEE80211_M_AHDEMO) { in match_bss()
1053 if (vap->iv_caps & IEEE80211_C_TDMA) { in match_bss()
1056 const struct ieee80211_tdma_state *ts = vap->iv_tdma; in match_bss()
1073 } else if (vap->iv_opmode == IEEE80211_M_MBSS) { in match_bss()
1074 const struct ieee80211_mesh_state *ms = vap->iv_mesh; in match_bss()
1100 (vap->iv_flags_ext & IEEE80211_FEXT_DOTD)) && in match_bss()
1106 if (vap->iv_flags & IEEE80211_F_PRIVACY) { in match_bss()
1115 rate = check_rate(vap, se->se_chan, se); in match_bss()
1124 rate = check_rate(vap, demote11b(vap, se->se_chan), se); in match_bss()
1140 if (!(vap->iv_des_mode == IEEE80211_MODE_AUTO || in match_bss()
1141 vap->iv_des_mode == IEEE80211_MODE_11B)) in match_bss()
1149 if ((vap->iv_flags & IEEE80211_F_DESBSSID) && in match_bss()
1150 !IEEE80211_ADDR_EQ(vap->iv_des_bssid, se->se_bssid)) in match_bss()
1159 if (ieee80211_msg(vap, debug)) { in match_bss()
1230 select_bss(struct ieee80211_scan_state *ss, struct ieee80211vap *vap, int debug) in select_bss() argument
1235 IEEE80211_DPRINTF(vap, debug, " %s\n", in select_bss()
1240 if (match_bss(vap, ss, se, debug) == 0) { in select_bss()
1257 sta_pick_bss(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in sta_pick_bss() argument
1263 KASSERT(vap->iv_opmode == IEEE80211_M_STA, in sta_pick_bss()
1264 ("wrong mode %u", vap->iv_opmode)); in sta_pick_bss()
1277 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, in sta_pick_bss()
1287 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, in sta_pick_bss()
1305 selbs = select_bss(ss, vap, IEEE80211_MSG_SCAN); in sta_pick_bss()
1312 chan = demote11b(vap, chan); in sta_pick_bss()
1313 if (!ieee80211_sta_join(vap, chan, &selbs->base)) in sta_pick_bss()
1315 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN, in sta_pick_bss()
1342 sta_roam_check(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in sta_roam_check() argument
1344 struct ieee80211com *ic = vap->iv_ic; in sta_roam_check()
1345 struct ieee80211_node *ni = vap->iv_bss; in sta_roam_check()
1359 roamRate = vap->iv_roamparms[mode].rate; in sta_roam_check()
1360 roamRssi = vap->iv_roamparms[mode].rssi; in sta_roam_check()
1364 ucastRate = vap->iv_txparms[mode].ucastrate; in sta_roam_check()
1369 IEEE80211_DPRINTF(vap, IEEE80211_MSG_ROAM, in sta_roam_check()
1374 IEEE80211_DPRINTF(vap, IEEE80211_MSG_ROAM, in sta_roam_check()
1382 if (ieee80211_time_after(ticks, ic->ic_lastscan + vap->iv_scanvalid)) { in sta_roam_check()
1392 ((vap->iv_flags_ext & IEEE80211_FEXT_SCAN_OFFLOAD) || in sta_roam_check()
1393 ieee80211_time_after(ticks, ic->ic_lastdata + vap->iv_bgscanidle))) in sta_roam_check()
1394 ieee80211_bg_scan(vap, 0); in sta_roam_check()
1398 selbs = select_bss(ss, vap, IEEE80211_MSG_ROAM); in sta_roam_check()
1402 IEEE80211_DPRINTF(vap, in sta_roam_check()
1410 chan = demote11b(vap, chan); in sta_roam_check()
1411 (void) ieee80211_sta_join(vap, chan, &selbs->base); in sta_roam_check()
1423 struct ieee80211vap *vap = ss->ss_vap; in sta_age() local
1435 KASSERT(vap->iv_opmode == IEEE80211_M_STA, in sta_age()
1436 ("wrong mode %u", vap->iv_opmode)); in sta_age()
1437 if (vap->iv_roaming == IEEE80211_ROAMING_AUTO && in sta_age()
1438 (vap->iv_flags & IEEE80211_F_BGSCAN) && in sta_age()
1439 vap->iv_state >= IEEE80211_S_RUN) in sta_age()
1441 sta_roam_check(ss, vap); in sta_age()
1554 adhoc_start(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) in adhoc_start() argument
1558 makescanlist(ss, vap, adhocScanTable); in adhoc_start()
1619 adhoc_pick_bss(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) argument
1624 struct ieee80211com *ic = vap->iv_ic;
1626 KASSERT(vap->iv_opmode == IEEE80211_M_IBSS ||
1627 vap->iv_opmode == IEEE80211_M_AHDEMO ||
1628 vap->iv_opmode == IEEE80211_M_MBSS,
1629 ("wrong opmode %u", vap->iv_opmode));
1650 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
1657 if (vap->iv_des_nssid &&
1658 ((vap->iv_caps & IEEE80211_C_TDMA) == 0 ||
1659 ieee80211_tdma_getslot(vap) == 0)) {
1661 if (vap->iv_des_nssid) {
1668 if (vap->iv_des_chan == IEEE80211_CHAN_ANYC ||
1669 IEEE80211_IS_CHAN_RADAR(vap->iv_des_chan)) {
1672 chan = vap->iv_des_chan;
1681 chan, vap->iv_flags_ht);
1683 chan, vap->iv_vht_flags);
1684 ieee80211_create_ibss(vap, chan);
1699 selbs = select_bss(ss, vap, IEEE80211_MSG_SCAN);
1706 chan = demote11b(vap, chan);
1714 chan, vap->iv_flags_ht);
1716 chan, vap->iv_vht_flags);
1717 if (!ieee80211_sta_join(vap, chan, &selbs->base))
1763 ap_start(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) argument
1767 makescanlist(ss, vap, staScanTable);
1784 ap_cancel(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) argument
1833 ap_end(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) argument
1835 struct ieee80211com *ic = vap->iv_ic;
1838 KASSERT(vap->iv_opmode == IEEE80211_M_HOSTAP,
1839 ("wrong opmode %u", vap->iv_opmode));
1843 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
1868 chan = ieee80211_ht_adjust_channel(ic, bestchan, vap->iv_flags_ht);
1869 chan = ieee80211_vht_adjust_channel(ic, chan, vap->iv_vht_flags);
1870 ieee80211_create_ibss(vap, chan);
1899 mesh_pick_bss(struct ieee80211_scan_state *ss, struct ieee80211vap *vap) argument
1902 struct ieee80211_mesh_state *ms = vap->iv_mesh;
1906 KASSERT(vap->iv_opmode == IEEE80211_M_MBSS,
1907 ("wrong opmode %u", vap->iv_opmode));
1928 IEEE80211_DPRINTF(vap, IEEE80211_MSG_SCAN,
1939 if (vap->iv_des_chan == IEEE80211_CHAN_ANYC ||
1940 IEEE80211_IS_CHAN_RADAR(vap->iv_des_chan)) {
1941 struct ieee80211com *ic = vap->iv_ic;
1947 chan, vap->iv_flags_ht);
1949 chan, vap->iv_vht_flags);
1952 chan = vap->iv_des_chan;
1954 ieee80211_create_ibss(vap, chan);
1969 selbs = select_bss(ss, vap, IEEE80211_MSG_SCAN);
1976 chan = demote11b(vap, chan);
1977 if (!ieee80211_sta_join(vap, chan, &selbs->base))