Lines Matching full:ni

185 sta_authretry(struct ieee80211vap *vap, struct ieee80211_node *ni, int reason)  in sta_authretry()  argument
195 IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, 1); in sta_authretry()
231 struct ieee80211_node *ni; in sta_newstate() local
244 ni = vap->iv_bss; /* NB: no reference held */ in sta_newstate()
254 IEEE80211_SEND_MGMT(ni, in sta_newstate()
257 ieee80211_sta_leave(ni); in sta_newstate()
260 IEEE80211_SEND_MGMT(ni, in sta_newstate()
330 ieee80211_sta_leave(ni); in sta_newstate()
342 IEEE80211_SEND_MGMT(ni, in sta_newstate()
350 IEEE80211_SEND_MGMT(ni, in sta_newstate()
354 sta_authretry(vap, ni, arg>>8); in sta_newstate()
362 IEEE80211_SEND_MGMT(ni, in sta_newstate()
367 ieee80211_sta_leave(ni); in sta_newstate()
370 IEEE80211_SEND_MGMT(ni, in sta_newstate()
384 IEEE80211_SEND_MGMT(ni, in sta_newstate()
389 ieee80211_sta_leave(ni); in sta_newstate()
391 IEEE80211_SEND_MGMT(ni, arg ? in sta_newstate()
415 ether_sprintf(ni->ni_bssid)); in sta_newstate()
417 ni->ni_esslen); in sta_newstate()
420 ieee80211_node_get_txrate_kbit(ni) / 1000); in sta_newstate()
423 ieee80211_scan_assoc_success(vap, ni->ni_macaddr); in sta_newstate()
424 ieee80211_notify_node_join(ni, in sta_newstate()
441 if (ni->ni_authmode != IEEE80211_AUTH_8021X) in sta_newstate()
442 ieee80211_node_authorize(ni); in sta_newstate()
533 sta_input(struct ieee80211_node *ni, struct mbuf *m, in sta_input() argument
536 struct ieee80211vap *vap = ni->ni_vap; in sta_input()
537 struct ieee80211com *ic = ni->ni_ic; in sta_input()
548 KASSERT(ni != NULL, ("%s: null node, mbuf %p", __func__, m)); in sta_input()
563 ni->ni_macaddr, NULL, in sta_input()
570 ni->ni_macaddr, NULL, "wrong version, fc %02x:%02x", in sta_input()
600 ni->ni_inact = ni->ni_inact_reload; in sta_input()
614 if (!IEEE80211_ADDR_EQ(bssid, ni->ni_bssid)) { in sta_input()
645 IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi); in sta_input()
646 ni->ni_noise = nf; in sta_input()
653 if (! ieee80211_check_rxseq(ni, wh, bssid, rxs)) in sta_input()
664 ni->ni_macaddr, NULL, in sta_input()
678 ieee80211_ampdu_reorder(ni, m, rxs) != 0) { in sta_input()
770 IEEE80211_NODE_STAT(ni, rx_noprivacy); in sta_input()
773 if (ieee80211_crypto_decap(ni, m, hdrspace, &key) == 0) { in sta_input()
775 IEEE80211_NODE_STAT(ni, rx_wepfail); in sta_input()
798 m = ieee80211_defrag(ni, m, hdrspace, has_decrypted); in sta_input()
816 ni->ni_macaddr, "data", "%s", "demic error"); in sta_input()
818 IEEE80211_NODE_STAT(ni, rx_demicfail); in sta_input()
838 ni->ni_macaddr, "data", "%s", "decap error"); in sta_input()
840 IEEE80211_NODE_STAT(ni, rx_decap); in sta_input()
847 if (!ieee80211_node_is_authorized(ni)) { in sta_input()
859 ni->ni_macaddr, "data", "unauthorized or " in sta_input()
864 IEEE80211_NODE_STAT(ni, rx_unauth); in sta_input()
881 IEEE80211_NODE_STAT(ni, rx_unencrypted); in sta_input()
887 m = ieee80211_decap_amsdu(ni, m); in sta_input()
892 m = ieee80211_decap_fastframe(vap, ni, m); in sta_input()
897 ieee80211_deliver_data(vap, ni, m); in sta_input()
902 IEEE80211_NODE_STAT(ni, rx_mgmt); in sta_input()
911 ni->ni_macaddr, "mgt", "too short: len %u", in sta_input()
961 if (ieee80211_crypto_decap(ni, m, hdrspace, &key) == 0) { in sta_input()
969 vap->iv_recv_mgmt(ni, m, subtype, rxs, rssi, nf); in sta_input()
974 IEEE80211_NODE_STAT(ni, rx_ctrl); in sta_input()
975 vap->iv_recv_ctl(ni, m, subtype); in sta_input()
996 sta_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh, in sta_auth_open() argument
999 struct ieee80211vap *vap = ni->ni_vap; in sta_auth_open()
1001 if (ni->ni_authmode == IEEE80211_AUTH_SHARED) { in sta_auth_open()
1003 ni->ni_macaddr, "open auth", in sta_auth_open()
1004 "bad sta auth mode %u", ni->ni_authmode); in sta_auth_open()
1015 ni, "open auth failed (reason %d)", status); in sta_auth_open()
1025 sta_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh, in sta_auth_shared() argument
1029 struct ieee80211vap *vap = ni->ni_vap; in sta_auth_shared()
1042 ni->ni_macaddr, "shared key auth", in sta_auth_shared()
1051 if (ni->ni_authmode != IEEE80211_AUTH_AUTO && in sta_auth_shared()
1052 ni->ni_authmode != IEEE80211_AUTH_SHARED) { in sta_auth_shared()
1054 ni->ni_macaddr, "shared key auth", in sta_auth_shared()
1055 "bad sta auth mode %u", ni->ni_authmode); in sta_auth_shared()
1064 ni->ni_macaddr, "shared key auth", in sta_auth_shared()
1079 ni->ni_macaddr, "shared key auth", in sta_auth_shared()
1086 ni->ni_macaddr, "shared key auth", in sta_auth_shared()
1098 if (ni->ni_challenge != NULL) { in sta_auth_shared()
1099 IEEE80211_FREE(ni->ni_challenge, M_80211_NODE); in sta_auth_shared()
1100 ni->ni_challenge = NULL; in sta_auth_shared()
1113 if (!ieee80211_alloc_challenge(ni)) in sta_auth_shared()
1116 memcpy(ni->ni_challenge, &challenge[2], challenge[1]); in sta_auth_shared()
1117 IEEE80211_SEND_MGMT(ni, in sta_auth_shared()
1145 struct ieee80211_node *ni) in ieee80211_parse_wmeie() argument
1149 ni->ni_uapsd = 0; in ieee80211_parse_wmeie()
1152 IEEE80211_DISCARD_IE(ni->ni_vap, in ieee80211_parse_wmeie()
1158 ni->ni_uapsd = frm[WME_CAPINFO_IE_OFFSET]; in ieee80211_parse_wmeie()
1160 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_POWER | IEEE80211_MSG_ASSOC, in ieee80211_parse_wmeie()
1161 ni, "U-APSD settings from STA: 0x%02x", ni->ni_uapsd); in ieee80211_parse_wmeie()
1391 sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype, in sta_recv_mgmt() argument
1396 struct ieee80211vap *vap = ni->ni_vap; in sta_recv_mgmt()
1397 struct ieee80211com *ic = ni->ni_ic; in sta_recv_mgmt()
1422 if (!((ic->ic_flags & IEEE80211_F_SCAN) || ni->ni_associd)) { in sta_recv_mgmt()
1435 if (ieee80211_parse_beacon(ni, m0, rxchan, &scan) != 0) { in sta_recv_mgmt()
1446 IEEE80211_NODE_STAT(ni, rx_beacons); in sta_recv_mgmt()
1448 IEEE80211_NODE_STAT(ni, rx_proberesp); in sta_recv_mgmt()
1454 if (ni->ni_associd != 0 && in sta_recv_mgmt()
1456 IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))) { in sta_recv_mgmt()
1458 memcpy(ni->ni_tstamp.data, scan.tstamp, in sta_recv_mgmt()
1459 sizeof(ni->ni_tstamp)); in sta_recv_mgmt()
1463 if (ni->ni_erp != scan.erp) { in sta_recv_mgmt()
1467 ni->ni_erp, scan.erp); in sta_recv_mgmt()
1469 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION)) in sta_recv_mgmt()
1473 ni->ni_erp = scan.erp; in sta_recv_mgmt()
1478 if ((ni->ni_capinfo ^ scan.capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) { in sta_recv_mgmt()
1482 ni->ni_capinfo, scan.capinfo); in sta_recv_mgmt()
1490 ni->ni_capinfo = (ni->ni_capinfo &~ IEEE80211_CAPINFO_SHORT_SLOTTIME) in sta_recv_mgmt()
1495 (ni->ni_flags & IEEE80211_NODE_QOS)) { in sta_recv_mgmt()
1500 ni->ni_flags |= in sta_recv_mgmt()
1506 ni->ni_flags &= ~IEEE80211_NODE_UAPSD; in sta_recv_mgmt()
1509 ieee80211_parse_athparams(ni, scan.ath, wh); in sta_recv_mgmt()
1514 ieee80211_ht_updateparams(ni, in sta_recv_mgmt()
1521 ieee80211_vht_updateparams(ni, in sta_recv_mgmt()
1526 if (ieee80211_ht_updateparams_final(ni, in sta_recv_mgmt()
1540 ic->ic_set_quiet(ni, scan.quiet); in sta_recv_mgmt()
1541 ni->ni_quiet_ie_set = 1; in sta_recv_mgmt()
1542 memcpy(&ni->ni_quiet_ie, scan.quiet, in sta_recv_mgmt()
1545 if (ni->ni_quiet_ie_set == 1) in sta_recv_mgmt()
1546 ic->ic_set_quiet(ni, NULL); in sta_recv_mgmt()
1547 ni->ni_quiet_ie_set = 0; in sta_recv_mgmt()
1548 bzero(&ni->ni_quiet_ie, in sta_recv_mgmt()
1560 int aid = IEEE80211_AID(ni->ni_associd); in sta_recv_mgmt()
1615 ni->ni_dtim_count = tim->tim_count; in sta_recv_mgmt()
1616 ni->ni_dtim_period = tim->tim_period; in sta_recv_mgmt()
1721 ieee80211_send_error(ni, wh->i_addr2, in sta_recv_mgmt()
1728 sta_auth_shared(ni, wh, frm + 6, efrm, rssi, nf, in sta_recv_mgmt()
1731 sta_auth_open(ni, wh, rssi, nf, seq, status); in sta_recv_mgmt()
1763 ni = vap->iv_bss; in sta_recv_mgmt()
1827 rate = ieee80211_setup_rates(ni, rates, xrates, in sta_recv_mgmt()
1842 ni->ni_capinfo = capinfo; in sta_recv_mgmt()
1843 ni->ni_associd = associd; in sta_recv_mgmt()
1844 if (ni->ni_jointime == 0) in sta_recv_mgmt()
1845 ni->ni_jointime = time_uptime; in sta_recv_mgmt()
1848 ni->ni_flags |= IEEE80211_NODE_QOS; in sta_recv_mgmt()
1851 ni->ni_flags &= ~IEEE80211_NODE_QOS; in sta_recv_mgmt()
1861 ieee80211_ht_node_init(ni); in sta_recv_mgmt()
1862 ieee80211_ht_updateparams(ni, htcap, htinfo); in sta_recv_mgmt()
1870 if (IEEE80211_IS_CHAN_2GHZ(ni->ni_chan)) { in sta_recv_mgmt()
1873 ni->ni_macaddr, in sta_recv_mgmt()
1876 ieee80211_vht_node_init(ni); in sta_recv_mgmt()
1877 ieee80211_vht_updateparams(ni, vhtcap, vhtopmode); in sta_recv_mgmt()
1878 ieee80211_setup_vht_rates(ni); in sta_recv_mgmt()
1882 ieee80211_ht_updateparams_final(ni, htcap, htinfo); in sta_recv_mgmt()
1883 ieee80211_setup_htrates(ni, htcap, in sta_recv_mgmt()
1885 ieee80211_setup_basic_htrates(ni, htinfo); in sta_recv_mgmt()
1887 ieee80211_node_setuptxparms(ni); in sta_recv_mgmt()
1888 ieee80211_ratectl_node_init(ni); in sta_recv_mgmt()
1896 ieee80211_ff_node_init(ni); in sta_recv_mgmt()
1905 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE)) { in sta_recv_mgmt()
1914 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME)); in sta_recv_mgmt()
1922 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION)) in sta_recv_mgmt()
1931 IEEE80211_NODE_AID(ni), in sta_recv_mgmt()
1935 ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "", in sta_recv_mgmt()
1936 ni->ni_flags & IEEE80211_NODE_HT ? in sta_recv_mgmt()
1937 (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "", in sta_recv_mgmt()
1938 ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "", in sta_recv_mgmt()
1939 ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "", in sta_recv_mgmt()
1940 ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" : in sta_recv_mgmt()
1941 ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "", in sta_recv_mgmt()
1942 ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "", in sta_recv_mgmt()
1943 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_FF) ? in sta_recv_mgmt()
1945 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_TURBOP) ? in sta_recv_mgmt()
1974 IEEE80211_NODE_STAT(ni, rx_deauth); in sta_recv_mgmt()
1976 IEEE80211_NOTE(vap, IEEE80211_MSG_AUTH, ni, in sta_recv_mgmt()
2008 IEEE80211_NODE_STAT(ni, rx_disassoc); in sta_recv_mgmt()
2010 IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC, ni, in sta_recv_mgmt()
2030 if (ieee80211_parse_action(ni, m0) == 0) in sta_recv_mgmt()
2031 (void)ic->ic_recv_action(ni, wh, frm, efrm); in sta_recv_mgmt()
2055 sta_recv_ctl(struct ieee80211_node *ni, struct mbuf *m, int subtype) in sta_recv_ctl() argument
2059 ieee80211_recv_bar(ni, m); in sta_recv_ctl()