Lines Matching full:ni

187 sta_authretry(struct ieee80211vap *vap, struct ieee80211_node *ni, int reason)
197 IEEE80211_SEND_MGMT(ni, IEEE80211_FC0_SUBTYPE_AUTH, 1);
233 struct ieee80211_node *ni;
246 ni = vap->iv_bss; /* NB: no reference held */
256 IEEE80211_SEND_MGMT(ni,
259 ieee80211_sta_leave(ni);
262 IEEE80211_SEND_MGMT(ni,
332 ieee80211_sta_leave(ni);
344 IEEE80211_SEND_MGMT(ni,
352 IEEE80211_SEND_MGMT(ni,
356 sta_authretry(vap, ni, arg>>8);
364 IEEE80211_SEND_MGMT(ni,
369 ieee80211_sta_leave(ni);
372 IEEE80211_SEND_MGMT(ni,
386 IEEE80211_SEND_MGMT(ni,
391 ieee80211_sta_leave(ni);
393 IEEE80211_SEND_MGMT(ni, arg ?
417 ether_sprintf(ni->ni_bssid));
419 ni->ni_esslen);
423 IEEE80211_RATE2MBS(ni->ni_txrate));
426 ieee80211_scan_assoc_success(vap, ni->ni_macaddr);
427 ieee80211_notify_node_join(ni,
444 if (ni->ni_authmode != IEEE80211_AUTH_8021X)
445 ieee80211_node_authorize(ni);
536 sta_input(struct ieee80211_node *ni, struct mbuf *m,
539 struct ieee80211vap *vap = ni->ni_vap;
540 struct ieee80211com *ic = ni->ni_ic;
551 KASSERT(ni != NULL, ("%s: null node, mbuf %p", __func__, m));
566 ni->ni_macaddr, NULL,
573 ni->ni_macaddr, NULL, "wrong version, fc %02x:%02x",
603 ni->ni_inact = ni->ni_inact_reload;
617 if (!IEEE80211_ADDR_EQ(bssid, ni->ni_bssid)) {
648 IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi);
649 ni->ni_noise = nf;
656 if (! ieee80211_check_rxseq(ni, wh, bssid, rxs))
667 ni->ni_macaddr, NULL,
681 ieee80211_ampdu_reorder(ni, m, rxs) != 0) {
773 IEEE80211_NODE_STAT(ni, rx_noprivacy);
776 if (ieee80211_crypto_decap(ni, m, hdrspace, &key) == 0) {
778 IEEE80211_NODE_STAT(ni, rx_wepfail);
801 m = ieee80211_defrag(ni, m, hdrspace, has_decrypted);
819 ni->ni_macaddr, "data", "%s", "demic error");
821 IEEE80211_NODE_STAT(ni, rx_demicfail);
841 ni->ni_macaddr, "data", "%s", "decap error");
843 IEEE80211_NODE_STAT(ni, rx_decap);
850 if (!ieee80211_node_is_authorized(ni)) {
862 ni->ni_macaddr, "data", "unauthorized or "
867 IEEE80211_NODE_STAT(ni, rx_unauth);
884 IEEE80211_NODE_STAT(ni, rx_unencrypted);
890 m = ieee80211_decap_amsdu(ni, m);
895 m = ieee80211_decap_fastframe(vap, ni, m);
900 ieee80211_deliver_data(vap, ni, m);
905 IEEE80211_NODE_STAT(ni, rx_mgmt);
914 ni->ni_macaddr, "mgt", "too short: len %u",
964 if (ieee80211_crypto_decap(ni, m, hdrspace, &key) == 0) {
972 vap->iv_recv_mgmt(ni, m, subtype, rxs, rssi, nf);
977 IEEE80211_NODE_STAT(ni, rx_ctrl);
978 vap->iv_recv_ctl(ni, m, subtype);
999 sta_auth_open(struct ieee80211_node *ni, struct ieee80211_frame *wh,
1002 struct ieee80211vap *vap = ni->ni_vap;
1004 if (ni->ni_authmode == IEEE80211_AUTH_SHARED) {
1006 ni->ni_macaddr, "open auth",
1007 "bad sta auth mode %u", ni->ni_authmode);
1018 ni, "open auth failed (reason %d)", status);
1028 sta_auth_shared(struct ieee80211_node *ni, struct ieee80211_frame *wh,
1032 struct ieee80211vap *vap = ni->ni_vap;
1045 ni->ni_macaddr, "shared key auth",
1054 if (ni->ni_authmode != IEEE80211_AUTH_AUTO &&
1055 ni->ni_authmode != IEEE80211_AUTH_SHARED) {
1057 ni->ni_macaddr, "shared key auth",
1058 "bad sta auth mode %u", ni->ni_authmode);
1067 ni->ni_macaddr, "shared key auth",
1082 ni->ni_macaddr, "shared key auth",
1089 ni->ni_macaddr, "shared key auth",
1101 if (ni->ni_challenge != NULL) {
1102 IEEE80211_FREE(ni->ni_challenge, M_80211_NODE);
1103 ni->ni_challenge = NULL;
1116 if (!ieee80211_alloc_challenge(ni))
1119 memcpy(ni->ni_challenge, &challenge[2], challenge[1]);
1120 IEEE80211_SEND_MGMT(ni,
1148 struct ieee80211_node *ni)
1152 ni->ni_uapsd = 0;
1155 IEEE80211_DISCARD_IE(ni->ni_vap,
1161 ni->ni_uapsd = frm[WME_CAPINFO_IE_OFFSET];
1163 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_POWER | IEEE80211_MSG_ASSOC,
1164 ni, "U-APSD settings from STA: 0x%02x", ni->ni_uapsd);
1394 sta_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype,
1399 struct ieee80211vap *vap = ni->ni_vap;
1400 struct ieee80211com *ic = ni->ni_ic;
1425 if (!((ic->ic_flags & IEEE80211_F_SCAN) || ni->ni_associd)) {
1438 if (ieee80211_parse_beacon(ni, m0, rxchan, &scan) != 0) {
1449 IEEE80211_NODE_STAT(ni, rx_beacons);
1451 IEEE80211_NODE_STAT(ni, rx_proberesp);
1457 if (ni->ni_associd != 0 &&
1459 IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))) {
1461 memcpy(ni->ni_tstamp.data, scan.tstamp,
1462 sizeof(ni->ni_tstamp));
1466 if (ni->ni_erp != scan.erp) {
1470 ni->ni_erp, scan.erp);
1472 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
1476 ni->ni_erp = scan.erp;
1481 if ((ni->ni_capinfo ^ scan.capinfo) & IEEE80211_CAPINFO_SHORT_SLOTTIME) {
1485 ni->ni_capinfo, scan.capinfo);
1493 ni->ni_capinfo = (ni->ni_capinfo &~ IEEE80211_CAPINFO_SHORT_SLOTTIME)
1498 (ni->ni_flags & IEEE80211_NODE_QOS)) {
1503 ni->ni_flags |=
1509 ni->ni_flags &= ~IEEE80211_NODE_UAPSD;
1512 ieee80211_parse_athparams(ni, scan.ath, wh);
1517 ieee80211_ht_updateparams(ni,
1524 ieee80211_vht_updateparams(ni,
1529 if (ieee80211_ht_updateparams_final(ni,
1543 ic->ic_set_quiet(ni, scan.quiet);
1544 ni->ni_quiet_ie_set = 1;
1545 memcpy(&ni->ni_quiet_ie, scan.quiet,
1548 if (ni->ni_quiet_ie_set == 1)
1549 ic->ic_set_quiet(ni, NULL);
1550 ni->ni_quiet_ie_set = 0;
1551 bzero(&ni->ni_quiet_ie,
1563 int aid = IEEE80211_AID(ni->ni_associd);
1618 ni->ni_dtim_count = tim->tim_count;
1619 ni->ni_dtim_period = tim->tim_period;
1724 ieee80211_send_error(ni, wh->i_addr2,
1731 sta_auth_shared(ni, wh, frm + 6, efrm, rssi, nf,
1734 sta_auth_open(ni, wh, rssi, nf, seq, status);
1766 ni = vap->iv_bss;
1830 rate = ieee80211_setup_rates(ni, rates, xrates,
1845 ni->ni_capinfo = capinfo;
1846 ni->ni_associd = associd;
1847 if (ni->ni_jointime == 0)
1848 ni->ni_jointime = time_uptime;
1851 ni->ni_flags |= IEEE80211_NODE_QOS;
1854 ni->ni_flags &= ~IEEE80211_NODE_QOS;
1864 ieee80211_ht_node_init(ni);
1865 ieee80211_ht_updateparams(ni, htcap, htinfo);
1873 if (IEEE80211_IS_CHAN_2GHZ(ni->ni_chan)) {
1876 ni->ni_macaddr,
1879 ieee80211_vht_node_init(ni);
1880 ieee80211_vht_updateparams(ni, vhtcap, vhtopmode);
1881 ieee80211_setup_vht_rates(ni, vhtcap, vhtopmode);
1885 ieee80211_ht_updateparams_final(ni, htcap, htinfo);
1886 ieee80211_setup_htrates(ni, htcap,
1888 ieee80211_setup_basic_htrates(ni, htinfo);
1890 ieee80211_node_setuptxparms(ni);
1891 ieee80211_ratectl_node_init(ni);
1899 ieee80211_ff_node_init(ni);
1908 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE)) {
1917 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME));
1925 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
1934 IEEE80211_NODE_AID(ni),
1938 ni->ni_flags & IEEE80211_NODE_QOS ? ", QoS" : "",
1939 ni->ni_flags & IEEE80211_NODE_HT ?
1940 (ni->ni_chw == IEEE80211_STA_RX_BW_40 ? ", HT40" : ", HT20") : "",
1941 ni->ni_flags & IEEE80211_NODE_AMPDU ? " (+AMPDU)" : "",
1942 ni->ni_flags & IEEE80211_NODE_AMSDU ? " (+AMSDU)" : "",
1943 ni->ni_flags & IEEE80211_NODE_MIMO_RTS ? " (+SMPS-DYN)" :
1944 ni->ni_flags & IEEE80211_NODE_MIMO_PS ? " (+SMPS)" : "",
1945 ni->ni_flags & IEEE80211_NODE_RIFS ? " (+RIFS)" : "",
1946 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_FF) ?
1948 IEEE80211_ATH_CAP(vap, ni, IEEE80211_NODE_TURBOP) ?
1977 IEEE80211_NODE_STAT(ni, rx_deauth);
1979 IEEE80211_NOTE(vap, IEEE80211_MSG_AUTH, ni,
2011 IEEE80211_NODE_STAT(ni, rx_disassoc);
2013 IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC, ni,
2033 if (ieee80211_parse_action(ni, m0) == 0)
2034 (void)ic->ic_recv_action(ni, wh, frm, efrm);
2058 sta_recv_ctl(struct ieee80211_node *ni, struct mbuf *m, int subtype)
2062 ieee80211_recv_bar(ni, m);