Lines Matching refs:ni

183 sta_authretry(struct ieee80211vap *vap, struct ieee80211_node *ni, int reason)
193 IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, 1);
211 struct ieee80211_node *ni;
224 ni = vap->iv_bss; /* NB: no reference held */
233 IEEE80211_SEND_MGMT(ni,
236 ieee80211_sta_leave(ni);
239 IEEE80211_SEND_MGMT(ni,
303 ieee80211_sta_leave(ni);
315 IEEE80211_SEND_MGMT(ni,
323 IEEE80211_SEND_MGMT(ni,
327 sta_authretry(vap, ni, arg>>8);
334 IEEE80211_SEND_MGMT(ni,
339 ieee80211_sta_leave(ni);
342 IEEE80211_SEND_MGMT(ni,
356 IEEE80211_SEND_MGMT(ni,
361 ieee80211_sta_leave(ni);
363 IEEE80211_SEND_MGMT(ni, arg ?
387 ether_sprintf(ni->ni_bssid));
389 ni->ni_esslen);
393 IEEE80211_RATE2MBS(ni->ni_txrate));
396 ieee80211_scan_assoc_success(vap, ni->ni_macaddr);
397 ieee80211_notify_node_join(ni,
415 2 * vap->iv_bmissthreshold * ni->ni_intval);
424 if (ni->ni_authmode != IEEE80211_AUTH_8021X)
425 ieee80211_node_authorize(ni);
513 sta_input(struct ieee80211_node *ni, struct mbuf *m, int rssi, int nf)
516 struct ieee80211vap *vap = ni->ni_vap;
517 struct ieee80211com *ic = ni->ni_ic;
544 KASSERT(ni != NULL, ("null node"));
545 ni->ni_inact = ni->ni_inact_reload;
551 ni->ni_macaddr, NULL,
567 ni->ni_macaddr, NULL, "wrong version, fc %02x:%02x",
578 if (!IEEE80211_ADDR_EQ(bssid, ni->ni_bssid)) {
585 IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi);
586 ni->ni_noise = nf;
593 if (! ieee80211_check_rxseq(ni, wh)) {
599 ni->ni_rxseqs[tid] >>
602 ni->ni_rxseqs[tid] &
606 IEEE80211_NODE_STAT(ni, rx_dup);
609 ni->ni_rxseqs[tid] = rxseq;
619 ni->ni_macaddr, NULL,
633 ieee80211_ampdu_reorder(ni, m) != 0) {
710 IEEE80211_NODE_STAT(ni, rx_noprivacy);
713 key = ieee80211_crypto_decap(ni, m, hdrspace);
716 IEEE80211_NODE_STAT(ni, rx_wepfail);
740 m = ieee80211_defrag(ni, m, hdrspace);
753 ni->ni_macaddr, "data", "%s", "demic error");
755 IEEE80211_NODE_STAT(ni, rx_demicfail);
775 ni->ni_macaddr, "data", "%s", "decap error");
777 IEEE80211_NODE_STAT(ni, rx_decap);
781 if (!ieee80211_node_is_authorized(ni)) {
796 IEEE80211_NODE_STAT(ni, rx_unauth);
811 IEEE80211_NODE_STAT(ni, rx_unencrypted);
817 m = ieee80211_decap_amsdu(ni, m);
822 m = ieee80211_decap_fastframe(vap, ni, m);
827 ieee80211_deliver_data(vap, ni, m);
832 IEEE80211_NODE_STAT(ni, rx_mgmt);
841 ni->ni_macaddr, "mgt", "too short: len %u",
878 key = ieee80211_crypto_decap(ni, m, hdrspace);
886 vap->iv_recv_mgmt(ni, m, subtype, rssi, nf);
891 IEEE80211_NODE_STAT(ni, rx_ctrl);
892 vap->iv_recv_ctl(ni, m, subtype);
913 sta_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh,
916 struct ieee80211vap *vap = ni->ni_vap;
918 if (ni->ni_authmode == IEEE80211_AUTH_SHARED) {
920 ni->ni_macaddr, "open auth",
921 "bad sta auth mode %u", ni->ni_authmode);
932 ni, "open auth failed (reason %d)", status);
942 sta_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh,
946 struct ieee80211vap *vap = ni->ni_vap;
960 ni->ni_macaddr, "shared key auth",
970 if (ni->ni_authmode != IEEE80211_AUTH_AUTO &&
971 ni->ni_authmode != IEEE80211_AUTH_SHARED) {
973 ni->ni_macaddr, "shared key auth",
974 "bad sta auth mode %u", ni->ni_authmode);
984 ni->ni_macaddr, "shared key auth",
1000 ni->ni_macaddr, "shared key auth",
1008 ni->ni_macaddr, "shared key auth",
1021 if (ni->ni_challenge != NULL) {
1022 free(ni->ni_challenge, M_80211_NODE);
1023 ni->ni_challenge = NULL;
1036 if (!ieee80211_alloc_challenge(ni))
1039 memcpy(ni->ni_challenge, &challenge[2], challenge[1]);
1040 IEEE80211_SEND_MGMT(ni,
1249 sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0,
1254 struct ieee80211vap *vap = ni->ni_vap;
1255 struct ieee80211com *ic = ni->ni_ic;
1275 if (!((ic->ic_flags & IEEE80211_F_SCAN) || ni->ni_associd)) {
1280 if (ieee80211_parse_beacon(ni, m0, &scan) != 0)
1287 IEEE80211_NODE_STAT(ni, rx_beacons);
1289 IEEE80211_NODE_STAT(ni, rx_proberesp);
1295 if (ni->ni_associd != 0 &&
1297 IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))) {
1299 memcpy(ni->ni_tstamp.data, scan.tstamp,
1300 sizeof(ni->ni_tstamp));
1304 if (ni->ni_erp != scan.erp) {
1308 ni->ni_erp, scan.erp);
1310 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
1314 ni->ni_erp = scan.erp;
1318 if ((ni->ni_capinfo ^ scan.capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) {
1322 ni->ni_capinfo, scan.capinfo);
1330 ni->ni_capinfo = (ni->ni_capinfo &~ IEEE80211_CAPINFO_SHORT_SLOTTIME)
1335 (ni->ni_flags & IEEE80211_NODE_QOS) &&
1340 ieee80211_parse_athparams(ni, scan.ath, wh);
1344 ieee80211_ht_updateparams(ni,
1352 int aid = IEEE80211_AID(ni->ni_associd);
1367 ni->ni_dtim_count = tim->tim_count;
1368 ni->ni_dtim_period = tim->tim_period;
1457 ieee80211_send_error(ni, wh->i_addr2,
1464 sta_auth_shared(ni, wh, frm + 6, efrm, rssi, nf,
1467 sta_auth_open(ni, wh, rssi, nf, seq, status);
1499 ni = vap->iv_bss;
1556 rate = ieee80211_setup_rates(ni, rates, xrates,
1571 ni->ni_capinfo = capinfo;
1572 ni->ni_associd = associd;
1573 if (ni->ni_jointime == 0)
1574 ni->ni_jointime = time_uptime;
1577 ni->ni_flags |= IEEE80211_NODE_QOS;
1580 ni->ni_flags &= ~IEEE80211_NODE_QOS;
1590 ieee80211_ht_node_init(ni);
1591 ieee80211_ht_updateparams(ni, htcap, htinfo);
1592 ieee80211_setup_htrates(ni, htcap,
1594 ieee80211_setup_basic_htrates(ni, htinfo);
1595 ieee80211_node_setuptxparms(ni);
1596 ieee80211_ratectl_node_init(ni);
1599 if (IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_ATH))
1600 ieee80211_ff_node_init(ni);
1609 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE)) {
1618 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME));
1625 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
1633 IEEE80211_NODE_AID(ni),
1637 ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "",
1638 ni->ni_flags & IEEE80211_NODE_HT ?
1639 (ni->ni_chw == 40 ? ", HT40" : ", HT20") : "",
1640 ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "",
1641 ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" :
1642 ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "",
1643 ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "",
1644 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_FF) ?
1646 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_TURBOP) ?
1675 IEEE80211_NODE_STAT(ni, rx_deauth);
1677 IEEE80211_NOTE(vap, IEEE80211_MSG_AUTH, ni,
1708 IEEE80211_NODE_STAT(ni, rx_disassoc);
1710 IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC, ni,
1729 if (ieee80211_parse_action(ni, m0) == 0)
1730 (void)ic->ic_recv_action(ni, wh, frm, efrm);
1754 sta_recv_ctl(struct ieee80211_node *ni, struct mbuf *m, int subtype)
1758 ieee80211_recv_bar(ni, m);