Lines Matching refs:ni

2679 	struct ieee80211_node *ni = ic->ic_bss;
2690 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[i];
2693 ieee80211_delba_request(ic, ni, 0, 1, i);
3240 struct ieee80211_node *ni = ic->ic_bss;
3255 ieee80211_delba_request(ic, ni,
3267 struct ieee80211_node *ni = ic->ic_bss;
3294 iwx_release_frames(sc, ni, rxba, buf, nssn, ml);
3306 struct ieee80211_node *ni = ic->ic_bss;
3343 iwx_release_frames(sc, ni, rxba, buf, sn, &ml);
3378 iwx_sta_rx_agg_baid_cfg_cmd(struct iwx_softc *sc, struct ieee80211_node *ni,
3429 iwx_sta_rx_agg_sta_cmd(struct iwx_softc *sc, struct ieee80211_node *ni,
3434 struct iwx_node *in = (void *)ni;
3488 iwx_sta_rx_agg(struct iwx_softc *sc, struct ieee80211_node *ni, uint8_t tid,
3499 ieee80211_addba_req_refuse(ic, ni, tid);
3505 err = iwx_sta_rx_agg_baid_cfg_cmd(sc, ni, tid, ssn, winsize,
3508 err = iwx_sta_rx_agg_sta_cmd(sc, ni, tid, ssn, winsize,
3512 ieee80211_addba_req_refuse(ic, ni, tid);
3522 ieee80211_addba_req_refuse(ic, ni, tid);
3538 ba = &ni->ni_rx_ba[tid];
3546 ieee80211_addba_req_accept(ic, ni, tid);
3584 struct ieee80211_node *ni = &in->in_ni;
3597 if ((ni->ni_flags & IEEE80211_NODE_HT) &&
3598 IEEE80211_CHAN_40MHZ_ALLOWED(ni->ni_chan) &&
3599 ieee80211_node_supports_ht_chan40(ni))
3600 sco = (ni->ni_htop0 & IEEE80211_HTOP0_SCO_MASK);
3603 if ((ni->ni_flags & IEEE80211_NODE_VHT) &&
3605 ieee80211_node_supports_vht_chan80(ni))
3673 iwx_sta_tx_agg_start(struct iwx_softc *sc, struct ieee80211_node *ni,
3685 ba = &ni->ni_tx_ba[tid];
3701 ieee80211_addba_resp_refuse(ic, ni, tid,
3711 ieee80211_addba_resp_refuse(ic, ni, tid,
3718 ba->ba_winstart = ni->ni_qos_txseqs[tid];
3724 ieee80211_addba_resp_accept(ic, ni, tid);
3733 struct ieee80211_node *ni = ic->ic_bss;
3741 struct ieee80211_rx_ba *ba = &ni->ni_rx_ba[tid];
3742 iwx_sta_rx_agg(sc, ni, tid, ba->ba_winstart,
3746 iwx_sta_rx_agg(sc, ni, tid, 0, 0, 0, 0);
3755 iwx_sta_tx_agg_start(sc, ni, tid);
3769 iwx_ampdu_rx_start(struct ieee80211com *ic, struct ieee80211_node *ni,
3792 iwx_ampdu_rx_stop(struct ieee80211com *ic, struct ieee80211_node *ni,
3805 iwx_ampdu_tx_start(struct ieee80211com *ic, struct ieee80211_node *ni,
3809 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[tid];
4545 iwx_ccmp_decap(struct iwx_softc *sc, struct mbuf *m, struct ieee80211_node *ni,
4561 k = ieee80211_get_rxkey(ic, m, ni);
4609 struct ieee80211_node *ni;
4623 ni = ieee80211_find_rxnode(ic, wh);
4627 (ni->ni_flags & IEEE80211_NODE_RXPROT) &&
4629 ni->ni_rsncipher == IEEE80211_CIPHER_CCMP) ||
4631 ni->ni_rsngroupcipher == IEEE80211_CIPHER_CCMP))) {
4653 ieee80211_release_node(ic, ni);
4666 struct ieee80211_node *ni;
4672 ni = ieee80211_find_rxnode(ic, wh);
4674 iwx_ccmp_decap(sc, m, ni, rxi) != 0) {
4677 ieee80211_release_node(ic, ni);
4759 ieee80211_inputm(IC2IFP(ic), m, ni, rxi, ml);
4760 ieee80211_release_node(ic, ni);
4834 iwx_release_frames(struct iwx_softc *sc, struct ieee80211_node *ni,
4892 iwx_oldsn_workaround(struct iwx_softc *sc, struct ieee80211_node *ni, int tid,
4929 ieee80211_delba_request(ic, ni, IEEE80211_REASON_UNSPECIFIED,
4952 struct ieee80211_node *ni;
5019 ni = ieee80211_find_rxnode(ic, wh);
5022 iwx_release_frames(sc, ni, rxba, buffer, nssn, ml);
5038 iwx_release_frames(sc, ni, rxba, buffer, min_sn, ml);
5041 if (iwx_oldsn_workaround(sc, ni, tid, buffer, reorder_data,
5060 ieee80211_release_node(ic, ni);
5075 ieee80211_release_node(ic, ni);
5129 iwx_release_frames(sc, ni, rxba, buffer, nssn, ml);
5131 ieee80211_release_node(ic, ni);
5136 ieee80211_release_node(ic, ni);
5432 struct ieee80211_node *ni;
5448 ni = ic->ic_bss;
5449 in = (void *)ni;
5472 ba = &ni->ni_tx_ba[tid];
6045 struct ieee80211_node *ni = &in->in_ni;
6046 struct ieee80211_rateset *rs = &ni->ni_rates;
6060 } else if (ni->ni_flags & IEEE80211_NODE_HT) {
6061 ridx = iwx_mcs2ridx[ni->ni_txmcs];
6063 rval = (rs->rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL);
6070 ni->ni_rsn_supp_state == RSNA_SUPP_PTKNEGOTIATING)
6097 rval = (rs->rs_rates[ni->ni_txrate] & IEEE80211_RATE_VAL);
6152 iwx_tx(struct iwx_softc *sc, struct mbuf *m, struct ieee80211_node *ni)
6155 struct iwx_node *in = (void *)ni;
6188 ba = &ni->ni_tx_ba[tid];
6217 tap->wt_chan_freq = htole16(ni->ni_chan->ic_freq);
6218 chan_flags = ni->ni_chan->ic_flags;
6227 if ((ni->ni_flags & IEEE80211_NODE_HT) &&
6244 k = ieee80211_get_txkey(ic, wh, ni);
6545 struct ieee80211_node *ni = &in->in_ni;
6550 if (ni->ni_dtimperiod)
6551 dtim_period = ni->ni_dtimperiod;
6561 dtim_msec = dtim_period * ni->ni_intval;
6780 struct ieee80211_node *ni = &in->in_ni;
6834 struct ieee80211_tx_ba *ba = &ni->ni_tx_ba[i];
6837 ieee80211_delba_request(ic, ni, 0, 1, i);
7243 struct ieee80211_node *ni = &in->in_ni;
7244 struct ieee80211_rateset *rs = &ni->ni_rates;
7251 if (ni->ni_chan == IEEE80211_CHAN_ANYC ||
7252 IEEE80211_IS_CHAN_2GHZ(ni->ni_chan)) {
7331 struct ieee80211_node *ni = ic->ic_bss;
7378 if (ni->ni_flags & IEEE80211_NODE_QOS)
7381 if (ni->ni_flags & IEEE80211_NODE_HT) {
7383 (ni->ni_htop1 & IEEE80211_HTOP1_PROT_MASK);
7419 struct ieee80211_node *ni = &in->in_ni;
7423 dtim_off = ni->ni_dtimcount * ni->ni_intval * IEEE80211_DUR_TU;
7424 memcpy(&tsf, ni->ni_tstamp, sizeof(tsf));
7429 sta->dtim_time = htole32(ni->ni_rstamp + dtim_off);
7431 sta->assoc_beacon_arrive_time = htole32(ni->ni_rstamp);
7433 sta->bi = htole32(ni->ni_intval);
7434 sta->dtim_interval = htole32(ni->ni_intval * ni->ni_dtimperiod);
7437 sta->assoc_id = htole32(ni->ni_associd);
7445 struct ieee80211_node *ni = &in->in_ni;
7470 } else if (!assoc || !ni->ni_associd || !ni->ni_dtimperiod) {
7608 struct ieee80211_node *ni = &in->in_ni;
7632 IEEE80211_SEND_ACTION(ic, ni, IEEE80211_CATEG_BA,
7637 ieee80211_node_tx_ba_clear(ni, tid);
7645 ni->ni_unref_arg = sc->bgscan_unref_arg;
7646 ni->ni_unref_arg_size = sc->bgscan_unref_arg_size;
7745 iwx_rs_ht_rates(struct iwx_softc *sc, struct ieee80211_node *ni, int rsidx)
7754 if (!isset(ni->ni_rxmcs, mcs) ||
7764 iwx_rs_vht_rates(struct iwx_softc *sc, struct ieee80211_node *ni, int num_ss)
7769 rx_mcs = (ni->ni_vht_rxmcs & IEEE80211_VHT_MCS_FOR_SS_MASK(num_ss)) >>
7782 if (!ieee80211_node_supports_ht_chan40(ni))
7798 struct ieee80211_node *ni = &in->in_ni;
7799 struct ieee80211_rateset *rs = &ni->ni_rates;
7815 if (ni->ni_flags & IEEE80211_NODE_VHT) {
7818 htole16(iwx_rs_vht_rates(sc, ni, 1));
7820 htole16(iwx_rs_vht_rates(sc, ni, 2));
7821 } else if (ni->ni_flags & IEEE80211_NODE_HT) {
7824 htole16(iwx_rs_ht_rates(sc, ni,
7827 htole16(iwx_rs_ht_rates(sc, ni,
7841 if (ni->ni_flags & IEEE80211_NODE_VHT)
7845 if (ni->ni_flags & IEEE80211_NODE_HT) {
7846 if (ieee80211_node_supports_ht_sgi20(ni)) {
7850 if (ieee80211_node_supports_ht_sgi40(ni)) {
7855 if ((ni->ni_flags & IEEE80211_NODE_VHT) &&
7856 ieee80211_node_supports_vht_sgi80(ni))
7866 struct ieee80211_node *ni = &in->in_ni;
7867 struct ieee80211_rateset *rs = &ni->ni_rates;
7883 if (ni->ni_flags & IEEE80211_NODE_VHT) {
7886 htole16(iwx_rs_vht_rates(sc, ni, 1));
7888 htole16(iwx_rs_vht_rates(sc, ni, 2));
7889 } else if (ni->ni_flags & IEEE80211_NODE_HT) {
7892 htole16(iwx_rs_ht_rates(sc, ni,
7895 htole16(iwx_rs_ht_rates(sc, ni,
7909 if (ni->ni_flags & IEEE80211_NODE_VHT)
7913 if (ni->ni_flags & IEEE80211_NODE_HT) {
7914 if (ieee80211_node_supports_ht_sgi20(ni)) {
7918 if (ieee80211_node_supports_ht_sgi40(ni)) {
7923 if ((ni->ni_flags & IEEE80211_NODE_VHT) &&
7924 ieee80211_node_supports_vht_sgi80(ni))
7947 struct ieee80211_node *ni = ic->ic_bss;
7948 struct ieee80211_rateset *rs = &ni->ni_rates;
7966 ni->ni_txmcs = (rate_n_flags &
7968 ni->ni_vht_ss = ((rate_n_flags &
7973 ni->ni_txmcs = IWX_RATE_HT_MCS_INDEX(rate_n_flags);
7978 ni->ni_txmcs = (rate_n_flags &
7980 ni->ni_vht_ss = ((rate_n_flags &
7985 ni->ni_txmcs = (rate_n_flags &
8020 ni->ni_txrate = i;
8254 struct ieee80211_node *ni = &in->in_ni;
8277 } else if (ni->ni_flags & IEEE80211_NODE_HT) {
8281 ieee80211_node_supports_ht_chan40(ni))
8282 sco = (ni->ni_htop0 & IEEE80211_HTOP0_SCO_MASK);
8285 if ((ni->ni_flags & IEEE80211_NODE_VHT) &&
8287 ieee80211_node_supports_vht_chan80(ni))
8377 struct ieee80211_node *ni = &in->in_ni;
8402 iwx_sta_rx_agg(sc, ni, rxba->tid, 0, 0, 0, 0);
8433 iwx_set_key(struct ieee80211com *ic, struct ieee80211_node *ni,
8437 struct iwx_node *in = (void *)ni;
8443 err = ieee80211_set_key(ic, ni, k);
8454 a->ni = ni;
8463 iwx_add_sta_key(struct iwx_softc *sc, int sta_id, struct ieee80211_node *ni,
8467 struct iwx_node *in = (void *)ni;
8475 * Keys are stored in 'ni' so 'k' is valid if 'ni' is valid.
8476 * Currently we only implement station mode where 'ni' is always
8479 KASSERT(ni == ic->ic_bss);
8506 IEEE80211_SEND_MGMT(ic, ni, IEEE80211_FC0_SUBTYPE_DEAUTH,
8519 ether_sprintf(ni->ni_macaddr)));
8520 ni->ni_port_valid = 1;
8538 err = iwx_add_sta_key(sc, a->sta_id, a->ni, a->k);
8540 a->ni = NULL;
8552 iwx_delete_key(struct ieee80211com *ic, struct ieee80211_node *ni,
8560 ieee80211_delete_key(ic, ni, k);
8797 struct ieee80211_node *ni)
8807 if (ni) {
8808 if (ni->ni_flags & IEEE80211_NODE_HT) {
8809 if (ni->ni_rxmcs[1] != 0)
8829 if (ni) {
9214 struct ieee80211_node *ni;
9235 ni = m->m_pkthdr.ph_cookie;
9255 if ((m = ieee80211_encap(ifp, m, &ni)) == NULL) {
9265 if (iwx_tx(sc, m, ni) != 0) {
9266 ieee80211_release_node(ic, ni);