Lines Matching full: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()
254 __func__, ni->ni_vht_chan1, ni->ni_vht_chan2, ni->ni_vht_chanwidth, in ieee80211_parse_vhtopmode()
255 ni->ni_vht_basicmcs); in ieee80211_parse_vhtopmode()
265 ieee80211_parse_vhtcap(struct ieee80211_node *ni, const uint8_t *ie) in ieee80211_parse_vhtcap() argument
269 ni->ni_vhtcap = le32dec(ie + 2); in ieee80211_parse_vhtcap()
272 ni->ni_vht_mcsinfo.rx_mcs_map = le16dec(ie + 6); in ieee80211_parse_vhtcap()
273 ni->ni_vht_mcsinfo.rx_highest = le16dec(ie + 8); in ieee80211_parse_vhtcap()
274 ni->ni_vht_mcsinfo.tx_mcs_map = le16dec(ie + 10); in ieee80211_parse_vhtcap()
275 ni->ni_vht_mcsinfo.tx_highest = le16dec(ie + 12); in ieee80211_parse_vhtcap()
279 ieee80211_vht_updateparams(struct ieee80211_node *ni, in ieee80211_vht_updateparams() argument
286 ieee80211_parse_vhtcap(ni, vhtcap_ie); in ieee80211_vht_updateparams()
287 ieee80211_parse_vhtopmode(ni, vhtop_ie); in ieee80211_vht_updateparams()
318 * @param ni struct ieee80211_node to configure
321 ieee80211_setup_vht_rates(struct ieee80211_node *ni) in ieee80211_setup_vht_rates() argument
323 struct ieee80211vap *vap = ni->ni_vap; in ieee80211_setup_vht_rates()
340 val2 = (ni->ni_vht_mcsinfo.rx_mcs_map >> (i*2)) & 0x3; in ieee80211_setup_vht_rates()
349 ni->ni_vht_tx_map = tx_mcs_map; in ieee80211_setup_vht_rates()
358 ieee80211_vht_node_join(struct ieee80211_node *ni) in ieee80211_vht_node_join() argument
361 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_join()
366 ieee80211_vht_node_leave(struct ieee80211_node *ni) in ieee80211_vht_node_leave() argument
369 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_11N, ni, in ieee80211_vht_node_leave()
395 ieee80211_vht_get_vhtcap_ie(struct ieee80211_node *ni, in ieee80211_vht_get_vhtcap_ie() argument
398 struct ieee80211vap *vap = ni->ni_vap; in ieee80211_vht_get_vhtcap_ie()
420 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
430 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
447 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
457 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
467 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
493 val2 = !! _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
506 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
535 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
546 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
557 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
570 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
585 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
602 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
616 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
625 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
635 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
648 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
665 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
675 val2 = _IEEE80211_MASKSHIFT(ni->ni_vhtcap, in ieee80211_vht_get_vhtcap_ie()
707 val2 = (ni->ni_vht_mcsinfo.tx_mcs_map >> (i*2)) & 0x3; in ieee80211_vht_get_vhtcap_ie()
727 ieee80211_add_vhtcap(uint8_t *frm, struct ieee80211_node *ni) in ieee80211_add_vhtcap() argument
731 ieee80211_vht_get_vhtcap_ie(ni, &vhtcap, 1); in ieee80211_add_vhtcap()
815 ieee80211_add_vhtinfo(uint8_t *frm, struct ieee80211_node *ni) in ieee80211_add_vhtinfo() argument
823 *frm++ = ieee80211_vht_get_chwidth_ie(ni->ni_chan); in ieee80211_add_vhtinfo()
826 *frm++ = ni->ni_chan->ic_vht_ch_freq1; in ieee80211_add_vhtinfo()
829 *frm++ = ni->ni_chan->ic_vht_ch_freq2; in ieee80211_add_vhtinfo()
838 ieee80211_vht_update_cap(struct ieee80211_node *ni, const uint8_t *vhtcap_ie, in ieee80211_vht_update_cap() argument
842 ieee80211_parse_vhtcap(ni, vhtcap_ie); in ieee80211_vht_update_cap()
843 ieee80211_parse_vhtopmode(ni, vhtop_ie); in ieee80211_vht_update_cap()
926 ieee80211_vht_get_vhtinfo_ie(struct ieee80211_node *ni, in ieee80211_vht_get_vhtinfo_ie() argument
936 ieee80211_vht_check_tx_vht(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht() argument
941 if (ni == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC || in ieee80211_vht_check_tx_vht()
942 ni->ni_vap == NULL || ni->ni_vap->iv_bss == NULL) in ieee80211_vht_check_tx_vht()
945 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht()
951 return (IEEE80211_IS_CHAN_VHT(ni->ni_chan)); in ieee80211_vht_check_tx_vht()
961 ieee80211_vht_check_tx_vht40(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht40() argument
966 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht40()
969 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht40()
973 IEEE80211_IS_CHAN_VHT40(ni->ni_chan) && in ieee80211_vht_check_tx_vht40()
974 (ni->ni_chw == IEEE80211_STA_RX_BW_40)); in ieee80211_vht_check_tx_vht40()
984 ieee80211_vht_check_tx_vht80(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht80() argument
989 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht80()
992 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht80()
996 IEEE80211_IS_CHAN_VHT80(ni->ni_chan) && in ieee80211_vht_check_tx_vht80()
997 (ni->ni_chw == IEEE80211_STA_RX_BW_80)); in ieee80211_vht_check_tx_vht80()
1007 ieee80211_vht_check_tx_vht160(const struct ieee80211_node *ni) in ieee80211_vht_check_tx_vht160() argument
1012 if (!ieee80211_vht_check_tx_vht(ni)) in ieee80211_vht_check_tx_vht160()
1015 vap = ni->ni_vap; in ieee80211_vht_check_tx_vht160()
1018 if (ni->ni_chw != IEEE80211_STA_RX_BW_160) in ieee80211_vht_check_tx_vht160()
1022 IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) in ieee80211_vht_check_tx_vht160()
1026 IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) in ieee80211_vht_check_tx_vht160()
1043 * @param ni the ieee80211_node to check
1049 ieee80211_vht_check_tx_bw(const struct ieee80211_node *ni, in ieee80211_vht_check_tx_bw() argument
1055 return (ieee80211_vht_check_tx_vht(ni)); in ieee80211_vht_check_tx_bw()
1057 return (ieee80211_vht_check_tx_vht40(ni)); in ieee80211_vht_check_tx_bw()
1059 return (ieee80211_vht_check_tx_vht80(ni)); in ieee80211_vht_check_tx_bw()
1061 return (ieee80211_vht_check_tx_vht160(ni)); in ieee80211_vht_check_tx_bw()
1076 * @param ni struct ieee80211_node node to check
1083 ieee80211_vht_node_check_tx_valid_mcs(const struct ieee80211_node *ni, in ieee80211_vht_node_check_tx_valid_mcs() argument
1102 mc = ni->ni_vht_tx_map >> (2*(nss-1)) & 0x3; in ieee80211_vht_node_check_tx_valid_mcs()