Lines Matching refs:ni
80 vht_recv_action_placeholder(struct ieee80211_node *ni, in vht_recv_action_placeholder() argument
86 ieee80211_note(ni->ni_vap, "%s: called; fc=0x%.2x/0x%.2x", in vht_recv_action_placeholder()
93 vht_send_action_placeholder(struct ieee80211_node *ni, in vht_send_action_placeholder() argument
98 ieee80211_note(ni->ni_vap, "%s: called; category=%d, action=%d", in vht_send_action_placeholder()
219 ieee80211_vht_node_init(struct ieee80211_node *ni) in ieee80211_vht_node_init() argument
222 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_init()
224 ni->ni_flags |= IEEE80211_NODE_VHT; in ieee80211_vht_node_init()
228 ieee80211_vht_node_cleanup(struct ieee80211_node *ni) in ieee80211_vht_node_cleanup() argument
231 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_cleanup()
233 ni->ni_flags &= ~IEEE80211_NODE_VHT; in ieee80211_vht_node_cleanup()
234 ni->ni_vhtcap = 0; in ieee80211_vht_node_cleanup()
235 bzero(&ni->ni_vht_mcsinfo, sizeof(struct ieee80211_vht_mcs_info)); in ieee80211_vht_node_cleanup()
244 ieee80211_parse_vhtopmode(struct ieee80211_node *ni, const uint8_t *ie) in ieee80211_parse_vhtopmode() argument
247 ni->ni_vht_chanwidth = ie[2]; in ieee80211_parse_vhtopmode()
248 ni->ni_vht_chan1 = ie[3]; in ieee80211_parse_vhtopmode()
249 ni->ni_vht_chan2 = ie[4]; in ieee80211_parse_vhtopmode()
250 ni->ni_vht_basicmcs = le16dec(ie + 5); in ieee80211_parse_vhtopmode()
253 net80211_vap_printf(ni->ni_vap, in ieee80211_parse_vhtopmode()
255 __func__, ni->ni_vht_chan1, ni->ni_vht_chan2, ni->ni_vht_chanwidth, in ieee80211_parse_vhtopmode()
256 ni->ni_vht_basicmcs); in ieee80211_parse_vhtopmode()
266 ieee80211_parse_vhtcap(struct ieee80211_node *ni, const uint8_t *ie) in ieee80211_parse_vhtcap() argument
270 ni->ni_vhtcap = le32dec(ie + 2); in ieee80211_parse_vhtcap()
273 ni->ni_vht_mcsinfo.rx_mcs_map = le16dec(ie + 6); in ieee80211_parse_vhtcap()
274 ni->ni_vht_mcsinfo.rx_highest = le16dec(ie + 8); in ieee80211_parse_vhtcap()
275 ni->ni_vht_mcsinfo.tx_mcs_map = le16dec(ie + 10); in ieee80211_parse_vhtcap()
276 ni->ni_vht_mcsinfo.tx_highest = le16dec(ie + 12); in ieee80211_parse_vhtcap()
280 ieee80211_vht_updateparams(struct ieee80211_node *ni, in ieee80211_vht_updateparams() argument
287 ieee80211_parse_vhtcap(ni, vhtcap_ie); in ieee80211_vht_updateparams()
288 ieee80211_parse_vhtopmode(ni, vhtop_ie); in ieee80211_vht_updateparams()
322 ieee80211_setup_vht_rates(struct ieee80211_node *ni) in ieee80211_setup_vht_rates() argument
324 struct ieee80211vap *vap = ni->ni_vap; in ieee80211_setup_vht_rates()
341 val2 = (ni->ni_vht_mcsinfo.rx_mcs_map >> (i*2)) & 0x3; in ieee80211_setup_vht_rates()
350 ni->ni_vht_tx_map = tx_mcs_map; in ieee80211_setup_vht_rates()
359 ieee80211_vht_node_join(struct ieee80211_node *ni) in ieee80211_vht_node_join() argument
362 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_join()
367 ieee80211_vht_node_leave(struct ieee80211_node *ni) in ieee80211_vht_node_leave() argument
370 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_leave()
396 ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, in ieee80211_vht_get_vhtcap_ie() argument
399 struct ieee80211vap *vap = ni->ni_vap; in ieee80211_vht_get_vhtcap_ie()
421 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
431 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
448 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
458 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
468 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
494 val2 = !! _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
507 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
536 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
547 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
558 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
571 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
586 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
603 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
617 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
626 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
636 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
649 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
666 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
676 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
708 val2 = (ni->ni_vht_mcsinfo.tx_mcs_map >> (i*2)) & 0x3; in ieee80211_vht_get_vhtcap_ie()
728 ieee80211_add_vhtcap(uint8_t *frm, struct ieee80211_node *ni) in ieee80211_add_vhtcap() argument
732 ieee80211_vht_get_vhtcap_ie(ni, &vhtcap, 1); in ieee80211_add_vhtcap()
818 ieee80211_add_vhtinfo(uint8_t *frm, struct ieee80211_node *ni) in ieee80211_add_vhtinfo() argument
826 *frm++ = ieee80211_vht_get_chwidth_ie(ni->ni_vap, ni->ni_chan); in ieee80211_add_vhtinfo()
829 *frm++ = ni->ni_chan->ic_vht_ch_freq1; in ieee80211_add_vhtinfo()
832 *frm++ = ni->ni_chan->ic_vht_ch_freq2; in ieee80211_add_vhtinfo()
841 ieee80211_vht_update_cap(struct ieee80211_node *ni, const uint8_t *vhtcap_ie) in ieee80211_vht_update_cap() argument
844 ieee80211_parse_vhtcap(ni, vhtcap_ie); in ieee80211_vht_update_cap()
929 ieee80211_vht_get_vhtinfo_ie(struct ieee80211_node *ni, in ieee80211_vht_get_vhtinfo_ie() argument
932 net80211_vap_printf(ni->ni_vap, "%s: called; TODO!\n", __func__); in ieee80211_vht_get_vhtinfo_ie()
939 ieee80211_vht_check_tx_vht(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht() argument
944 if (ni == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC || in ieee80211_vht_check_tx_vht()
945 ni->ni_vap == NULL || ni->ni_vap->iv_bss == NULL) in ieee80211_vht_check_tx_vht()
948 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht()
954 return (IEEE80211_IS_CHAN_VHT(ni->ni_chan)); in ieee80211_vht_check_tx_vht()
964 ieee80211_vht_check_tx_vht40(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht40() argument
969 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht40()
972 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht40()
976 IEEE80211_IS_CHAN_VHT40(ni->ni_chan) && in ieee80211_vht_check_tx_vht40()
977 (ni->ni_chw == IEEE80211_STA_RX_BW_40)); in ieee80211_vht_check_tx_vht40()
987 ieee80211_vht_check_tx_vht80(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht80() argument
992 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht80()
995 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht80()
1005 IEEE80211_IS_CHAN_VHT80(ni->ni_chan) && in ieee80211_vht_check_tx_vht80()
1006 (ni->ni_chw != IEEE80211_STA_RX_BW_20)); in ieee80211_vht_check_tx_vht80()
1016 ieee80211_vht_check_tx_vht160(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht160() argument
1021 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht160()
1024 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht160()
1033 if (ni->ni_chw == IEEE80211_STA_RX_BW_20) in ieee80211_vht_check_tx_vht160()
1037 IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) in ieee80211_vht_check_tx_vht160()
1041 IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) in ieee80211_vht_check_tx_vht160()
1064 ieee80211_vht_check_tx_bw(const struct ieee80211_node *ni, in ieee80211_vht_check_tx_bw() argument
1070 return (ieee80211_vht_check_tx_vht(ni)); in ieee80211_vht_check_tx_bw()
1072 return (ieee80211_vht_check_tx_vht40(ni)); in ieee80211_vht_check_tx_bw()
1074 return (ieee80211_vht_check_tx_vht80(ni)); in ieee80211_vht_check_tx_bw()
1076 return (ieee80211_vht_check_tx_vht160(ni)); in ieee80211_vht_check_tx_bw()
1098 ieee80211_vht_node_check_tx_valid_mcs(const struct ieee80211_node *ni, in ieee80211_vht_node_check_tx_valid_mcs() argument
1117 mc = ni->ni_vht_tx_map >> (2*(nss-1)) & 0x3; in ieee80211_vht_node_check_tx_valid_mcs()