Lines Matching defs:ni

159 ieee80211_input_hwdecrypt(struct ieee80211com *ic, struct ieee80211_node *ni,
167 k = ieee80211_get_rxkey(ic, m, ni);
269 ieee80211_inputm(struct ifnet *ifp, struct mbuf *m, struct ieee80211_node *ni,
278 KASSERT(ni != NULL);
328 && (ic->ic_opmode == IEEE80211_M_STA || ni != ic->ic_bss)
331 int ba_state = ni->ni_rx_ba[tid].ba_state;
340 if (ni->ni_state != IEEE80211_S_ASSOC) {
354 ether_sprintf(ni->ni_macaddr), tid));
356 IEEE80211_SEND_ACTION(ic, ni,
372 ieee80211_input_ba(ic, m, ni, tid, rxi, ml);
383 ieee80211_input_ba(ic, m, ni, tid, rxi, ml);
408 orxseq = &ni->ni_qos_rxseqs[tid];
410 orxseq = &ni->ni_rxseq;
426 ni->ni_rssi = rxi->rxi_rssi;
427 ni->ni_rstamp = rxi->rxi_tstamp;
428 ni->ni_inact = 0;
432 if ((*ic->ic_node_checkrssi)(ic, ni))
445 ni->ni_state == IEEE80211_STA_ASSOC) {
447 if (ni->ni_pwrsave == IEEE80211_PS_AWAKE) {
449 ni->ni_pwrsave = IEEE80211_PS_DOZE;
453 } else if (ni->ni_pwrsave == IEEE80211_PS_DOZE) {
457 ni->ni_pwrsave = IEEE80211_PS_AWAKE;
461 (*ic->ic_set_tim)(ic, ni->ni_associd, 0);
464 while ((m = mq_dequeue(&ni->ni_savedq)) != NULL) {
480 !IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid)) {
536 if (ni == ic->ic_bss) {
540 ni = ieee80211_find_node(ic, wh->i_addr2);
541 if (ni == NULL)
542 ni = ieee80211_dup_bss(ic, wh->i_addr2);
543 if (ni != NULL) {
544 IEEE80211_SEND_MGMT(ic, ni,
551 if (ni->ni_state != IEEE80211_STA_ASSOC) {
554 IEEE80211_SEND_MGMT(ic, ni,
578 (ni->ni_flags & IEEE80211_NODE_RXPROT))) {
587 m = ieee80211_decrypt(ic, m, ni);
593 m = ieee80211_input_hwdecrypt(ic, ni, m, rxi);
611 if ((ni->ni_flags & IEEE80211_NODE_HT) &&
613 ieee80211_amsdu_decap(ic, m, ni, hdrlen, ml);
615 ieee80211_decap(ic, m, ni, hdrlen, ml);
638 if (ni->ni_flags & IEEE80211_NODE_RXMGMTPROT) {
649 m = ieee80211_decrypt(ic, m, ni);
673 (*ic->ic_recv_mgmt)(ic, m, ni, rxi, subtype);
681 ieee80211_recv_pspoll(ic, m, ni);
685 ieee80211_recv_bar(ic, m, ni);
712 ieee80211_input(struct ifnet *ifp, struct mbuf *m, struct ieee80211_node *ni,
717 ieee80211_inputm(ifp, m, ni, rxi, &ml);
819 struct ieee80211_node *ni, int tid, struct ieee80211_rxinfo *rxi,
823 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
863 ieee80211_ba_move_window(ic, ni, tid, sn, ml);
866 ieee80211_input_ba_seq(ic, ni, tid,
868 ieee80211_input_ba_flush(ic, ni, ba, ml);
893 ieee80211_input_ba_flush(ic, ni, ba, ml);
901 ieee80211_input_ba_seq(struct ieee80211com *ic, struct ieee80211_node *ni,
905 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
921 ni, &ba->ba_buf[ba->ba_head].rxi, ml);
935 ieee80211_input_ba_flush(struct ieee80211com *ic, struct ieee80211_node *ni,
947 ieee80211_inputm(ifp, ba->ba_buf[ba->ba_head].m, ni,
991 struct ieee80211_node *ni = ba->ba_ni;
992 struct ieee80211com *ic = ni->ni_ic;
1003 ieee80211_input_ba_flush(ic, ni, ba, &ml);
1016 ieee80211_ba_move_window(struct ieee80211com *ic, struct ieee80211_node *ni,
1020 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
1031 ieee80211_inputm(ifp, ba->ba_buf[ba->ba_head].m, ni,
1043 ieee80211_input_ba_flush(ic, ni, ba, ml);
1048 struct ieee80211_node *ni, int mcast, struct mbuf_list *ml)
1056 if ((ic->ic_flags & IEEE80211_F_RSNON) && !ni->ni_port_valid &&
1109 ieee80211_eapol_key_input(ic, m, ni);
1118 struct ieee80211_node *ni, int hdrlen, struct mbuf_list *ml)
1174 ieee80211_enqueue_data(ic, m, ni, mcast, ml);
1179 struct ieee80211_node *ni)
1204 if (!ETHER_IS_EQ(ni->ni_macaddr, eh->ether_shost))
1226 struct ieee80211_node *ni, int hdrlen, struct mbuf_list *ml)
1293 if (ieee80211_amsdu_decap_validate(ic, m, ni)) {
1310 ieee80211_enqueue_data(ic, n, ni, mcast, ml);
1606 struct ieee80211_node *ni;
1775 (ni == NULL || ic->ic_state == IEEE80211_S_SCAN ||
1778 __func__, (ni == NULL ? "new " : ""),
1788 if ((ni = ieee80211_find_node(ic, wh->i_addr2)) == NULL) {
1789 ni = ieee80211_alloc_node(ic, wh->i_addr2);
1790 if (ni == NULL)
1796 ni->ni_chan = &ic->ic_channels[chan];
1799 ieee80211_setup_htcaps(ni, htcaps + 2, htcaps[1]);
1800 if (htop && !ieee80211_setup_htop(ni, htop + 2, htop[1], 1))
1802 if (htcaps && vhtcaps && IEEE80211_IS_CHAN_5GHZ(ni->ni_chan)) {
1803 ieee80211_setup_vhtcaps(ni, vhtcaps + 2, vhtcaps[1]);
1804 if (vhtop && !ieee80211_setup_vhtop(ni, vhtop + 2, vhtop[1], 1))
1809 ni->ni_dtimcount = tim[2];
1810 ni->ni_dtimperiod = tim[3];
1819 ni->ni_state == IEEE80211_STA_BSS) {
1824 if (ni->ni_erp != erp) {
1827 ni->ni_erp, erp));
1830 IEEE80211_IS_CHAN_2GHZ(ni->ni_chan))) &&
1843 htprot = ((ni->ni_htop1 & IEEE80211_HTOP1_PROT_MASK) >>
1850 ic->ic_bss->ni_htop1 = ni->ni_htop1;
1864 chw = (ni->ni_htop0 & IEEE80211_HTOP0_CHW);
1868 sco = ((ni->ni_htop0 & IEEE80211_HTOP0_SCO_MASK) >>
1870 ic->ic_bss->ni_htop0 = ni->ni_htop0;
1876 ic->ic_bss->ni_htop0 = ni->ni_htop0;
1883 if ((ni->ni_capinfo ^ capinfo) &
1890 if (tim && ic->ic_bss->ni_dtimperiod != ni->ni_dtimperiod) {
1891 ic->ic_bss->ni_dtimperiod = ni->ni_dtimperiod;
1892 ic->ic_bss->ni_dtimcount = ni->ni_dtimcount;
1911 if (ni->ni_flags & IEEE80211_NODE_QOS) {
1917 ni->ni_flags |= IEEE80211_NODE_QOS;
1919 ni->ni_flags &= ~IEEE80211_NODE_QOS;
1926 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
1927 ni->ni_supported_rsnprotos = IEEE80211_PROTO_NONE;
1928 ni->ni_rsnakms = 0;
1929 ni->ni_supported_rsnakms = 0;
1930 ni->ni_rsnciphers = 0;
1931 ni->ni_rsngroupcipher = 0;
1932 ni->ni_rsngroupmgmtcipher = 0;
1933 ni->ni_rsncaps = 0;
1937 ni->ni_supported_rsnprotos |= IEEE80211_PROTO_RSN;
1938 ni->ni_supported_rsnakms |= rsn.rsn_akms;
1942 ni->ni_supported_rsnprotos |= IEEE80211_PROTO_WPA;
1943 ni->ni_supported_rsnakms |= wpa.rsn_akms;
1951 (ni->ni_supported_rsnprotos & IEEE80211_PROTO_RSN) &&
1953 if (ieee80211_save_ie(rsnie, &ni->ni_rsnie) == 0
1958 ni->ni_rsnprotos = IEEE80211_PROTO_RSN;
1959 ni->ni_rsnakms = rsn.rsn_akms;
1960 ni->ni_rsnciphers = rsn.rsn_ciphers;
1961 ni->ni_rsngroupcipher = rsn.rsn_groupcipher;
1962 ni->ni_rsngroupmgmtcipher =
1964 ni->ni_rsncaps = rsn.rsn_caps;
1967 (ni->ni_supported_rsnprotos & IEEE80211_PROTO_WPA) &&
1969 if (ieee80211_save_ie(wpaie, &ni->ni_rsnie) == 0
1974 ni->ni_rsnprotos = IEEE80211_PROTO_WPA;
1975 ni->ni_rsnakms = wpa.rsn_akms;
1976 ni->ni_rsnciphers = wpa.rsn_ciphers;
1977 ni->ni_rsngroupcipher = wpa.rsn_groupcipher;
1978 ni->ni_rsngroupmgmtcipher =
1980 ni->ni_rsncaps = wpa.rsn_caps;
1992 if (ssid[1] != 0 && ni->ni_essid[0] == '\0') {
1993 ni->ni_esslen = ssid[1];
1994 memset(ni->ni_essid, 0, sizeof(ni->ni_essid));
1996 memcpy(ni->ni_essid, &ssid[2], ssid[1]);
1998 IEEE80211_ADDR_COPY(ni->ni_bssid, wh->i_addr3);
2000 IEEE80211_IS_CHAN_5GHZ(ni->ni_chan)) {
2007 if (isprobe || ni->ni_rssi == 0)
2008 ni->ni_rssi = rxi->rxi_rssi;
2009 else if (ni->ni_rssi < rxi->rxi_rssi)
2010 ni->ni_rssi = rxi->rxi_rssi;
2012 ni->ni_rssi = rxi->rxi_rssi;
2013 ni->ni_rstamp = rxi->rxi_tstamp;
2014 memcpy(ni->ni_tstamp, tstamp, sizeof(ni->ni_tstamp));
2015 ni->ni_intval = bintval;
2016 ni->ni_capinfo = capinfo;
2017 ni->ni_erp = erp;
2019 ieee80211_setup_rates(ic, ni, rates, xrates, IEEE80211_F_DOSORT);
2028 (*ic->ic_newassoc)(ic, ni, 1);
2043 struct ieee80211_node *ni, struct ieee80211_rxinfo *rxi)
2107 if (ni == ic->ic_bss) {
2108 ni = ieee80211_find_node(ic, wh->i_addr2);
2109 if (ni == NULL)
2110 ni = ieee80211_dup_bss(ic, wh->i_addr2);
2111 if (ni == NULL)
2116 ni->ni_rssi = rxi->rxi_rssi;
2117 ni->ni_rstamp = rxi->rxi_tstamp;
2118 rate = ieee80211_setup_rates(ic, ni, rates, xrates,
2127 ieee80211_setup_htcaps(ni, htcaps + 2, htcaps[1]);
2129 ieee80211_clear_htcaps(ni);
2131 ieee80211_setup_vhtcaps(ni, vhtcaps + 2, vhtcaps[1]);
2133 ieee80211_clear_vhtcaps(ni);
2134 IEEE80211_SEND_MGMT(ic, ni, IEEE80211_FC0_SUBTYPE_PROBE_RESP, 0);
2146 struct ieee80211_node *ni, struct ieee80211_rxinfo *rxi)
2174 IEEE80211_SEND_MGMT(ic, ni,
2181 ieee80211_auth_open(ic, wh, ni, rxi, seq, status);
2199 struct ieee80211_node *ni, struct ieee80211_rxinfo *rxi, int reassoc)
2299 if (ni->ni_state != IEEE80211_STA_AUTH &&
2300 ni->ni_state != IEEE80211_STA_ASSOC) {
2304 ni = ieee80211_find_node(ic, wh->i_addr2);
2305 if (ni == NULL)
2306 ni = ieee80211_dup_bss(ic, wh->i_addr2);
2307 if (ni != NULL) {
2308 IEEE80211_SEND_MGMT(ic, ni,
2316 if (ni->ni_state == IEEE80211_STA_ASSOC &&
2317 (ni->ni_flags & IEEE80211_NODE_MFP)) {
2318 if (ni->ni_flags & IEEE80211_NODE_SA_QUERY_FAILED) {
2320 IEEE80211_SEND_MGMT(ic, ni,
2324 ieee80211_node_leave(ic, ni);
2327 IEEE80211_SEND_MGMT(ic, ni, resp,
2330 if (!(ni->ni_flags & IEEE80211_NODE_SA_QUERY))
2331 ieee80211_sa_query_request(ic, ni);
2342 rate = ieee80211_setup_rates(ic, ni, rates, xrates,
2351 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2352 ni->ni_supported_rsnprotos = IEEE80211_PROTO_NONE;
2353 ni->ni_rsnakms = 0;
2354 ni->ni_supported_rsnakms = 0;
2355 ni->ni_rsnciphers = 0;
2356 ni->ni_rsngroupcipher = 0;
2357 ni->ni_rsngroupmgmtcipher = 0;
2358 ni->ni_rsncaps = 0;
2370 ni->ni_supported_rsnprotos = IEEE80211_PROTO_RSN;
2371 ni->ni_supported_rsnakms = rsn.rsn_akms;
2374 ni->ni_rsnprotos = IEEE80211_PROTO_RSN;
2381 ni->ni_supported_rsnprotos = IEEE80211_PROTO_WPA;
2382 ni->ni_supported_rsnakms = rsn.rsn_akms;
2385 ni->ni_rsnprotos = IEEE80211_PROTO_WPA;
2392 ni->ni_flags |= IEEE80211_NODE_QOS;
2394 ni->ni_flags &= ~IEEE80211_NODE_QOS;
2398 if (ni->ni_rsnprotos == IEEE80211_PROTO_NONE) {
2416 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2422 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2427 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2434 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2442 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2455 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2467 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2473 ieee80211_save_ie(saveie, &ni->ni_rsnie) != 0) {
2475 ni->ni_rsnprotos = IEEE80211_PROTO_NONE;
2478 ni->ni_rsnakms = rsn.rsn_akms;
2479 ni->ni_rsnciphers = rsn.rsn_ciphers;
2480 ni->ni_rsngroupcipher = ic->ic_bss->ni_rsngroupcipher;
2481 ni->ni_rsngroupmgmtcipher = ic->ic_bss->ni_rsngroupmgmtcipher;
2482 ni->ni_rsncaps = rsn.rsn_caps;
2484 if (ieee80211_is_8021x_akm(ni->ni_rsnakms)) {
2492 pmk = ieee80211_pmksa_find(ic, ni, pmkid);
2498 memcpy(ni->ni_pmk, pmk->pmk_key,
2500 memcpy(ni->ni_pmkid, pmk->pmk_pmkid,
2502 ni->ni_flags |= IEEE80211_NODE_PMK;
2507 ni->ni_rssi = rxi->rxi_rssi;
2508 ni->ni_rstamp = rxi->rxi_tstamp;
2509 ni->ni_intval = bintval;
2510 ni->ni_capinfo = capinfo;
2511 ni->ni_chan = ic->ic_bss->ni_chan;
2513 ieee80211_setup_htcaps(ni, htcaps + 2, htcaps[1]);
2515 ieee80211_clear_htcaps(ni);
2517 ieee80211_setup_vhtcaps(ni, vhtcaps + 2, vhtcaps[1]);
2519 ieee80211_clear_vhtcaps(ni);
2522 IEEE80211_SEND_MGMT(ic, ni, resp, status);
2523 ieee80211_node_leave(ic, ni);
2525 ieee80211_node_join(ic, ni, resp);
2542 struct ieee80211_node *ni, int reassoc)
2575 if (ni != ic->ic_bss)
2576 ni->ni_fails++;
2629 rate = ieee80211_setup_rates(ic, ni, rates, xrates,
2638 ni->ni_capinfo = capinfo;
2639 ni->ni_associd = associd;
2648 ni->ni_flags |= IEEE80211_NODE_QOS;
2650 ni->ni_flags &= ~IEEE80211_NODE_QOS;
2653 ieee80211_setup_htcaps(ni, htcaps + 2, htcaps[1]);
2655 ieee80211_setup_htop(ni, htop + 2, htop[1], 0);
2656 ieee80211_ht_negotiate(ic, ni);
2658 if (htcaps && vhtcaps && IEEE80211_IS_CHAN_5GHZ(ni->ni_chan)) {
2659 ieee80211_setup_vhtcaps(ni, vhtcaps + 2, vhtcaps[1]);
2660 if (vhtop && !ieee80211_setup_vhtop(ni, vhtop + 2, vhtop[1], 1))
2663 ieee80211_vht_negotiate(ic, ni);
2666 if (ni->ni_flags & IEEE80211_NODE_VHT)
2668 else if (ni->ni_flags & IEEE80211_NODE_HT)
2671 ieee80211_setmode(ic, ieee80211_chan2mode(ic, ni->ni_chan));
2682 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_PREAMBLE))
2689 (ni->ni_capinfo & IEEE80211_CAPINFO_SHORT_SLOTTIME));
2695 IEEE80211_IS_CHAN_2GHZ(ni->ni_chan))) &&
2696 (ni->ni_erp & IEEE80211_ERP_USE_PROTECTION))
2706 ni->ni_rsn_supp_state = RSNA_SUPP_PTKSTART;
2708 ni->ni_flags |= IEEE80211_NODE_TXRXPROT;
2720 struct ieee80211_node *ni)
2750 if (ni != ic->ic_bss) {
2753 (ni->ni_state == IEEE80211_STA_AUTH ||
2754 ni->ni_state == IEEE80211_STA_ASSOC));
2759 ether_sprintf(ni->ni_macaddr),
2762 ieee80211_node_leave(ic, ni);
2777 struct ieee80211_node *ni)
2805 if (ni != ic->ic_bss) {
2810 ether_sprintf(ni->ni_macaddr),
2812 ieee80211_node_leave(ic, ni);
2832 struct ieee80211_node *ni)
2841 if (!(ni->ni_flags & IEEE80211_NODE_HT)) {
2843 ether_sprintf(ni->ni_macaddr)));
2863 ba = &ni->ni_rx_ba[tid];
2879 if (!(ni->ni_flags & IEEE80211_NODE_MFP) ||
2880 !(ni->ni_rsncaps & IEEE80211_RSNCAP_PBAC))
2886 ieee80211_ba_move_window(ic, ni, tid, ssn, &ml);
2894 (!(ni->ni_flags & IEEE80211_NODE_MFP) ||
2895 !(ni->ni_rsncaps & IEEE80211_RSNCAP_PBAC)))
2912 ba->ba_ni = ni;
2936 err = ic->ic_ampdu_rx_start(ic, ni, tid);
2942 ieee80211_addba_req_refuse(ic, ni, tid);
2944 ieee80211_addba_req_accept(ic, ni, tid);
2949 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
2955 ieee80211_addba_req_accept(struct ieee80211com *ic, struct ieee80211_node *ni,
2958 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
2967 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
2973 ieee80211_addba_req_refuse(struct ieee80211com *ic, struct ieee80211_node *ni,
2976 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
2984 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
3000 struct ieee80211_node *ni)
3024 ether_sprintf(ni->ni_macaddr), tid, status));
3030 ba = &ni->ni_tx_ba[tid];
3037 ether_sprintf(ni->ni_macaddr), token, ba->ba_token));
3044 if (ni->ni_addba_req_intval[tid] <
3046 ni->ni_addba_req_intval[tid]++;
3048 ieee80211_addba_resp_refuse(ic, ni, tid, status);
3054 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
3062 err = ic->ic_ampdu_tx_start(ic, ni, tid);
3069 ieee80211_addba_resp_refuse(ic, ni, tid,
3072 ieee80211_addba_resp_accept(ic, ni, tid);
3077 struct ieee80211_node *ni, uint8_t tid)
3079 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[tid];
3086 ni->ni_addba_req_intval[tid] = 1;
3088 ni->ni_qos_txseqs[tid] = ba->ba_winstart;
3097 struct ieee80211_node *ni, uint8_t tid, uint16_t status)
3099 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[tid];
3114 struct ieee80211_node *ni)
3134 ether_sprintf(ni->ni_macaddr), tid, reason));
3138 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
3146 ic->ic_ampdu_rx_stop(ic, ni, tid);
3165 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[tid];
3173 ic->ic_ampdu_tx_stop(ic, ni, tid);
3189 struct ieee80211_node *ni)
3195 !(ni->ni_flags & IEEE80211_NODE_MFP)) {
3197 ether_sprintf(ni->ni_macaddr)));
3210 ni->ni_sa_query_trid = LE_READ_2(&frm[2]);
3213 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_SA_QUERY,
3226 struct ieee80211_node *ni)
3232 if (!(ni->ni_flags & IEEE80211_NODE_SA_QUERY)) {
3234 ether_sprintf(ni->ni_macaddr)));
3245 if (ni->ni_sa_query_trid != LE_READ_2(&frm[2])) {
3250 timeout_del(&ni->ni_sa_query_to);
3251 ni->ni_flags &= ~IEEE80211_NODE_SA_QUERY;
3262 struct ieee80211_node *ni)
3278 ieee80211_recv_addba_req(ic, m, ni);
3281 ieee80211_recv_addba_resp(ic, m, ni);
3284 ieee80211_recv_delba(ic, m, ni);
3291 ieee80211_recv_sa_query_req(ic, m, ni);
3295 ieee80211_recv_sa_query_resp(ic, m, ni);
3308 struct ieee80211_node *ni, struct ieee80211_rxinfo *rxi, int subtype)
3312 ieee80211_recv_probe_resp(ic, m, ni, rxi, 0);
3315 ieee80211_recv_probe_resp(ic, m, ni, rxi, 1);
3319 ieee80211_recv_probe_req(ic, m, ni, rxi);
3323 ieee80211_recv_auth(ic, m, ni, rxi);
3327 ieee80211_recv_assoc_req(ic, m, ni, rxi, 0);
3330 ieee80211_recv_assoc_req(ic, m, ni, rxi, 1);
3334 ieee80211_recv_assoc_resp(ic, m, ni, 0);
3337 ieee80211_recv_assoc_resp(ic, m, ni, 1);
3340 ieee80211_recv_deauth(ic, m, ni);
3343 ieee80211_recv_disassoc(ic, m, ni);
3346 ieee80211_recv_action(ic, m, ni);
3362 struct ieee80211_node *ni)
3371 ni->ni_state != IEEE80211_STA_ASSOC)
3387 if (aid != ni->ni_associd) {
3394 m = mq_dequeue(&ni->ni_savedq);
3397 if (mq_empty(&ni->ni_savedq)) {
3399 (*ic->ic_set_tim)(ic, ni->ni_associd, 0);
3415 struct ieee80211_node *ni)
3422 if (!(ni->ni_flags & IEEE80211_NODE_HT)) {
3424 ether_sprintf(ni->ni_macaddr)));
3452 ieee80211_bar_tid(ic, ni, tid, ssn);
3458 ieee80211_bar_tid(ic, ni, tid, ssn);
3467 ieee80211_bar_tid(struct ieee80211com *ic, struct ieee80211_node *ni,
3470 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
3476 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
3482 if ((ni->ni_flags & IEEE80211_NODE_MFP) &&
3483 (ni->ni_rsncaps & IEEE80211_RSNCAP_PBAC)) {
3496 ieee80211_ba_move_window(ic, ni, tid, ssn, &ml);