Lines Matching full:ni

158 lkpi_sta_sync_ht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni, int *ht_rx_nss)  in lkpi_sta_sync_ht_from_ni()  argument
165 if ((ni->ni_flags & IEEE80211_NODE_HT) == 0) in lkpi_sta_sync_ht_from_ni()
168 if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && in lkpi_sta_sync_ht_from_ni()
169 IEEE80211_IS_CHAN_HT40(ni->ni_chan)) in lkpi_sta_sync_ht_from_ni()
175 vap = ni->ni_vap; in lkpi_sta_sync_ht_from_ni()
176 …sta->deflink.ht_cap.ampdu_density = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSI… in lkpi_sta_sync_ht_from_ni()
179 …sta->deflink.ht_cap.ampdu_factor = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU… in lkpi_sta_sync_ht_from_ni()
183 ie = ni->ni_ies.htcap_ie; in lkpi_sta_sync_ht_from_ni()
184 KASSERT(ie != NULL, ("%s: HT but no htcap_ie on ni %p\n", __func__, ni)); in lkpi_sta_sync_ht_from_ni()
206 lkpi_sta_sync_vht_from_ni(struct ieee80211_sta *sta, struct ieee80211_node *ni, int *vht_rx_nss) in lkpi_sta_sync_vht_from_ni() argument
209 if ((ni->ni_flags & IEEE80211_NODE_VHT) == 0) in lkpi_sta_sync_vht_from_ni()
212 if (IEEE80211_IS_CHAN_VHT(ni->ni_chan)) { in lkpi_sta_sync_vht_from_ni()
214 if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) { in lkpi_sta_sync_vht_from_ni()
218 if (IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) in lkpi_sta_sync_vht_from_ni()
220 else if (IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) in lkpi_sta_sync_vht_from_ni()
224 IMPROVE("VHT sync ni to sta"); in lkpi_sta_sync_vht_from_ni()
230 lkpi_lsta_dump(struct lkpi_sta *lsta, struct ieee80211_node *ni, in lkpi_lsta_dump() argument
240 printf("%s:%d lsta %p ni %p sta %p\n", in lkpi_lsta_dump()
241 _f, _l, lsta, ni, &lsta->sta); in lkpi_lsta_dump()
242 if (ni != NULL) in lkpi_lsta_dump()
243 ieee80211_dump_node(NULL, ni); in lkpi_lsta_dump()
257 ("%s: lsta %p lsta_entry.tqe_prev %p ni %p\n", __func__, in lkpi_lsta_remove()
258 lsta, lsta->lsta_entry.tqe_prev, lsta->ni)); in lkpi_lsta_remove()
265 struct ieee80211_hw *hw, struct ieee80211_node *ni) in lkpi_lsta_alloc() argument
283 * Link the ni to the lsta here without taking a reference. in lkpi_lsta_alloc()
286 * For the other a ni and an lsta are 1:1 mapped and always together in lkpi_lsta_alloc()
288 * using the ni references for the lsta as well despite it being in lkpi_lsta_alloc()
291 lsta->ni = ni; in lkpi_lsta_alloc()
293 ni->ni_drv_data = lsta; in lkpi_lsta_alloc()
343 /* or should we get them from the ni? */ in lkpi_lsta_alloc()
354 lkpi_sta_sync_ht_from_ni(sta, ni, &ht_rx_nss); in lkpi_lsta_alloc()
358 lkpi_sta_sync_vht_from_ni(sta, ni, &vht_rx_nss); in lkpi_lsta_alloc()
393 lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) in lkpi_lsta_free() argument
399 "lsta %p ni %p added_to_drv %d\n", in lkpi_lsta_free()
400 __func__, lsta, ni, lsta->added_to_drv); in lkpi_lsta_free()
415 /* Flush mbufq (make sure to release ni refs!). */ in lkpi_lsta_free()
435 lsta->ni = NULL; in lkpi_lsta_free()
436 ni->ni_drv_data = NULL; in lkpi_lsta_free()
661 lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni)
668 if (ni != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC)
669 c = ni->ni_chan;
721 struct ieee80211_node *ni; in _lkpi_iv_key_set_delete() local
756 ni = vap->iv_bss; in _lkpi_iv_key_set_delete()
757 sta = ieee80211_find_sta(vif, ni->ni_bssid); in _lkpi_iv_key_set_delete()
887 lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni, in lkpi_update_dtim_tsf() argument
908 if (vif->bss_conf.beacon_int != ni->ni_intval) { in lkpi_update_dtim_tsf()
909 vif->bss_conf.beacon_int = ni->ni_intval; in lkpi_update_dtim_tsf()
922 vif->bss_conf.sync_tsf = le64toh(ni->ni_tstamp.tsf); in lkpi_update_dtim_tsf()
1132 struct ieee80211_node *ni; in lkpi_sta_scan_to_auth() local
1150 * Keep the ni alive locally. In theory (and practice) iv_bss can change in lkpi_sta_scan_to_auth()
1155 ni = ieee80211_ref_node(vap->iv_bss); in lkpi_sta_scan_to_auth()
1156 if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { in lkpi_sta_scan_to_auth()
1157 ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " in lkpi_sta_scan_to_auth()
1158 "on vap %p\n", __func__, ni, vap); in lkpi_sta_scan_to_auth()
1159 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
1164 chan = lkpi_find_lkpi80211_chan(lhw, ni->ni_chan); in lkpi_sta_scan_to_auth()
1167 "iv_bss ni %p on vap %p\n", __func__, ni, vap); in lkpi_sta_scan_to_auth()
1168 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
1180 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_scan_to_auth()
1182 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
1185 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
1214 KASSERT(ni->ni_chan != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC, in lkpi_sta_scan_to_auth()
1215 ("%s:%d: ni %p ni_chan %p\n", __func__, __LINE__, ni, ni->ni_chan)); in lkpi_sta_scan_to_auth()
1217 if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
1218 if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
1225 if (IEEE80211_IS_CHAN_VHT(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
1227 if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
1232 if (IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) in lkpi_sta_scan_to_auth()
1234 else if (IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) in lkpi_sta_scan_to_auth()
1247 vif->bss_conf.bssid = ni->ni_bssid; in lkpi_sta_scan_to_auth()
1249 vif->bss_conf.txpower = ni->ni_txpower; in lkpi_sta_scan_to_auth()
1260 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_scan_to_auth()
1279 if (IEEE80211_IS_CHAN_HT40U(ni->ni_chan)) in lkpi_sta_scan_to_auth()
1281 else if (IEEE80211_IS_CHAN_HT40D(ni->ni_chan)) in lkpi_sta_scan_to_auth()
1317 * Given ni and lsta are 1:1 from alloc to free we can assert that in lkpi_sta_scan_to_auth()
1318 * ni always has lsta data attach despite net80211 node swapping in lkpi_sta_scan_to_auth()
1321 KASSERT(ni->ni_drv_data != NULL, ("%s: ni %p ni_drv_data %p\n", in lkpi_sta_scan_to_auth()
1322 __func__, ni, ni->ni_drv_data)); in lkpi_sta_scan_to_auth()
1323 lsta = ni->ni_drv_data; in lkpi_sta_scan_to_auth()
1339 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_scan_to_auth()
1353 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_scan_to_auth()
1388 lsta->ni != vap->iv_bss) in lkpi_sta_scan_to_auth()
1390 "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, in lkpi_sta_scan_to_auth()
1392 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
1393 lvif->lvif_bss_synched, ni, lsta); in lkpi_sta_scan_to_auth()
1396 * Reference the "ni" for caching the lsta/ni in lvif->lvif_bss. in lkpi_sta_scan_to_auth()
1397 * Given we cache lsta we use lsta->ni instead of ni here (even though in lkpi_sta_scan_to_auth()
1398 * lsta->ni == ni) to be distinct from the rest of the code where we do in lkpi_sta_scan_to_auth()
1399 * assume that ni == vap->iv_bss which it may or may not be. in lkpi_sta_scan_to_auth()
1401 * function local ni already while ic was unlocked and would lead to in lkpi_sta_scan_to_auth()
1405 ieee80211_ref_node(lsta->ni); in lkpi_sta_scan_to_auth()
1407 if (lsta->ni == vap->iv_bss) { in lkpi_sta_scan_to_auth()
1420 * ni : lsta == 1:1. in lkpi_sta_scan_to_auth()
1431 * Release the reference that kept the ni stable locally in lkpi_sta_scan_to_auth()
1434 if (ni != NULL) in lkpi_sta_scan_to_auth()
1435 ieee80211_free_node(ni); in lkpi_sta_scan_to_auth()
1446 struct ieee80211_node *ni; in lkpi_sta_auth_to_scan() local
1462 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_auth_to_scan()
1464 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_scan()
1470 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_auth_to_scan()
1472 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_auth_to_scan()
1473 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_auth_to_scan()
1476 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_auth_to_scan()
1507 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_auth_to_scan()
1521 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_auth_to_scan()
1524 /* Remove ni reference for this cache of lsta. */ in lkpi_sta_auth_to_scan()
1530 * The very last release the reference on the ni for the ni/lsta on in lkpi_sta_auth_to_scan()
1531 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in lkpi_sta_auth_to_scan()
1534 ieee80211_free_node(ni); in lkpi_sta_auth_to_scan()
1597 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_auth_to_assoc()
1599 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_assoc()
1686 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_a_to_a()
1688 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_a_to_a()
1736 struct ieee80211_node *ni; in _lkpi_sta_assoc_to_down() local
1756 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in _lkpi_sta_assoc_to_down()
1758 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in _lkpi_sta_assoc_to_down()
1763 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in _lkpi_sta_assoc_to_down()
1765 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in _lkpi_sta_assoc_to_down()
1767 ni = lsta->ni; /* Reference held for lvif_bss. */ in _lkpi_sta_assoc_to_down()
1770 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
1803 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
1829 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in _lkpi_sta_assoc_to_down()
1843 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
1846 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in _lkpi_sta_assoc_to_down()
1857 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); /* sta no longer save to use. */ in _lkpi_sta_assoc_to_down()
1868 /* Remove ni reference for this cache of lsta. */ in _lkpi_sta_assoc_to_down()
1874 * The very last release the reference on the ni for the ni/lsta on in _lkpi_sta_assoc_to_down()
1875 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in _lkpi_sta_assoc_to_down()
1878 ieee80211_free_node(ni); in _lkpi_sta_assoc_to_down()
1948 struct ieee80211_node *ni; in lkpi_sta_assoc_to_run() local
1968 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_assoc_to_run()
1970 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_assoc_to_run()
1979 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_assoc_to_run()
1981 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_assoc_to_run()
1983 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_assoc_to_run()
1993 sta->aid = IEEE80211_NODE_AID(ni); in lkpi_sta_assoc_to_run()
2012 if (!vif->cfg.assoc || vif->cfg.aid != IEEE80211_NODE_AID(ni)) { in lkpi_sta_assoc_to_run()
2014 vif->cfg.aid = IEEE80211_NODE_AID(ni); in lkpi_sta_assoc_to_run()
2018 vif->cfg.ssid_len = ni->ni_esslen; in lkpi_sta_assoc_to_run()
2019 memcpy(vif->cfg.ssid, ni->ni_essid, ni->ni_esslen); in lkpi_sta_assoc_to_run()
2030 if ((ni->ni_flags & IEEE80211_NODE_QOS) != in lkpi_sta_assoc_to_run()
2036 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_assoc_to_run()
2066 if (!ieee80211_node_is_authorized(ni)) { in lkpi_sta_assoc_to_run()
2072 lkpi_sta_sync_ht_from_ni(sta, ni, NULL); in lkpi_sta_assoc_to_run()
2076 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_assoc_to_run()
2096 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_assoc_to_run()
2123 struct ieee80211_node *ni; in lkpi_sta_run_to_assoc() local
2142 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_run_to_assoc()
2144 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_assoc()
2149 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_run_to_assoc()
2151 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_assoc()
2153 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_run_to_assoc()
2156 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
2192 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
2220 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_assoc()
2230 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
2233 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_assoc()
2243 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
2265 struct ieee80211_node *ni; in lkpi_sta_run_to_init() local
2285 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_run_to_init()
2287 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_init()
2292 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_run_to_init()
2294 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_init()
2296 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_run_to_init()
2299 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
2332 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
2358 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
2368 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
2371 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
2381 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
2384 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
2420 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
2423 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
2436 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); /* sta no longer save to use. */ in lkpi_sta_run_to_init()
2450 /* Remove ni reference for this cache of lsta. */ in lkpi_sta_run_to_init()
2455 * The very last release the reference on the ni for the ni/lsta on in lkpi_sta_run_to_init()
2456 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in lkpi_sta_run_to_init()
2459 ieee80211_free_node(ni); in lkpi_sta_run_to_init()
2652 * new node without us knowing and thus our ni/lsta are out of sync.
2655 lkpi_iv_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) in lkpi_iv_update_bss() argument
2668 rni = lvif->iv_update_bss(vap, ni); in lkpi_iv_update_bss()
3612 struct ieee80211_node *ni; in lkpi_ic_node_alloc() local
3623 ni = lhw->ic_node_alloc(vap, mac); in lkpi_ic_node_alloc()
3624 if (ni == NULL) in lkpi_ic_node_alloc()
3628 lsta = lkpi_lsta_alloc(vap, mac, hw, ni); in lkpi_ic_node_alloc()
3631 lhw->ic_node_free(ni); in lkpi_ic_node_alloc()
3635 return (ni); in lkpi_ic_node_alloc()
3639 lkpi_ic_node_init(struct ieee80211_node *ni) in lkpi_ic_node_init() argument
3645 ic = ni->ni_ic; in lkpi_ic_node_init()
3649 error = lhw->ic_node_init(ni); in lkpi_ic_node_init()
3661 lkpi_ic_node_cleanup(struct ieee80211_node *ni) in lkpi_ic_node_cleanup() argument
3666 ic = ni->ni_ic; in lkpi_ic_node_cleanup()
3673 lhw->ic_node_cleanup(ni); in lkpi_ic_node_cleanup()
3677 lkpi_ic_node_free(struct ieee80211_node *ni) in lkpi_ic_node_free() argument
3683 ic = ni->ni_ic; in lkpi_ic_node_free()
3685 lsta = ni->ni_drv_data; in lkpi_ic_node_free()
3687 /* KASSERT lsta is not NULL here. Print ni/ni__refcnt. */ in lkpi_ic_node_free()
3690 * Pass in the original ni just in case of error we could check that in lkpi_ic_node_free()
3691 * it is the same as lsta->ni. in lkpi_ic_node_free()
3693 lkpi_lsta_free(lsta, ni); in lkpi_ic_node_free()
3696 lhw->ic_node_free(ni); in lkpi_ic_node_free()
3700 lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, in lkpi_ic_raw_xmit() argument
3705 lsta = ni->ni_drv_data; in lkpi_ic_raw_xmit()
3710 * Free the mbuf (do NOT release ni ref for the m_pkthdr.rcvif! in lkpi_ic_raw_xmit()
3724 printf("%s:%d lsta %p ni %p %6D mbuf_qlen %d\n", in lkpi_ic_raw_xmit()
3725 __func__, __LINE__, lsta, ni, ni->ni_macaddr, ":", in lkpi_ic_raw_xmit()
3735 struct ieee80211_node *ni; in lkpi_80211_txq_tx_one() local
3761 ni = lsta->ni; in lkpi_80211_txq_tx_one()
3768 k = ieee80211_crypto_encap(ni, m); in lkpi_80211_txq_tx_one()
3770 ieee80211_free_node(ni); in lkpi_80211_txq_tx_one()
3777 ic = ni->ni_ic; in lkpi_80211_txq_tx_one()
3780 c = ni->ni_chan; in lkpi_80211_txq_tx_one()
3782 if (ieee80211_radiotap_active_vap(ni->ni_vap)) { in lkpi_80211_txq_tx_one()
3798 ieee80211_radiotap_tx(ni->ni_vap, m); in lkpi_80211_txq_tx_one()
3810 ieee80211_free_node(ni); in lkpi_80211_txq_tx_one()
3826 /* Save the ni. */ in lkpi_80211_txq_tx_one()
3827 m->m_pkthdr.PH_loc.ptr = ni; in lkpi_80211_txq_tx_one()
3829 lvif = VAP_TO_LVIF(ni->ni_vap); in lkpi_80211_txq_tx_one()
3898 "ni %p %6D skb %p lxtq %p { qlen %u, ac %d tid %u } " in lkpi_80211_txq_tx_one()
3902 lsta, sta, ni, ni->ni_macaddr, ":", skb, ltxq, in lkpi_80211_txq_tx_one()
3915 printf("%s:%d mo_tx :: lsta %p sta %p ni %p %6D skb %p " in lkpi_80211_txq_tx_one()
3917 __func__, __LINE__, lsta, sta, ni, ni->ni_macaddr, ":", in lkpi_80211_txq_tx_one()
3939 printf("%s:%d lsta %p ni %p %6D pending %d mbuf_qlen %d\n", in lkpi_80211_txq_task()
3940 __func__, __LINE__, lsta, lsta->ni, lsta->ni->ni_macaddr, ":", in lkpi_80211_txq_task()
3979 struct ieee80211_node *ni; in lkpi_ic_transmit() local
3981 ni = (struct ieee80211_node *)m->m_pkthdr.rcvif; in lkpi_ic_transmit()
3982 return (lkpi_ic_raw_xmit(ni, m, NULL)); in lkpi_ic_transmit()
3987 lkpi_ic_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, in lkpi_ic_recv_action() argument
3993 ic = ni->ni_ic; in lkpi_ic_recv_action()
3998 return (lhw->ic_recv_action(ni, wh, frm, efrm)); in lkpi_ic_recv_action()
4002 lkpi_ic_send_action(struct ieee80211_node *ni, int category, int action, void *sa) in lkpi_ic_send_action() argument
4007 ic = ni->ni_ic; in lkpi_ic_send_action()
4012 return (lhw->ic_send_action(ni, category, action, sa)); in lkpi_ic_send_action()
4017 lkpi_ic_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) in lkpi_ic_ampdu_enable() argument
4022 ic = ni->ni_ic; in lkpi_ic_ampdu_enable()
4027 return (lhw->ic_ampdu_enable(ni, tap)); in lkpi_ic_ampdu_enable()
4037 lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, in lkpi_ic_addba_request() argument
4051 ic = ni->ni_ic; in lkpi_ic_addba_request()
4054 vap = ni->ni_vap; in lkpi_ic_addba_request()
4057 lsta = ni->ni_drv_data; in lkpi_ic_addba_request()
4061 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", in lkpi_ic_addba_request()
4062 __func__, lsta, ni, sta); in lkpi_ic_addba_request()
4081 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", in lkpi_ic_addba_request()
4082 __func__, error, ni, tap); in lkpi_ic_addba_request()
4086 return (lhw->ic_addba_request(ni, tap, dialogtoken, baparamset, batimeout)); in lkpi_ic_addba_request()
4097 lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, in lkpi_ic_addba_response() argument
4111 ic = ni->ni_ic; in lkpi_ic_addba_response()
4114 vap = ni->ni_vap; in lkpi_ic_addba_response()
4117 lsta = ni->ni_drv_data; in lkpi_ic_addba_response()
4121 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", in lkpi_ic_addba_response()
4122 __func__, lsta, ni, sta); in lkpi_ic_addba_response()
4159 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", in lkpi_ic_addba_response()
4160 __func__, error, ni, tap); in lkpi_ic_addba_response()
4164 …IMPROVE_HT("who unleashes the TXQ? and when?, do we need to ni->ni_txseqs[tid] = tap->txa_start & … in lkpi_ic_addba_response()
4166 return (lhw->ic_addba_response(ni, tap, status, baparamset, batimeout)); in lkpi_ic_addba_response()
4174 lkpi_ic_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) in lkpi_ic_addba_stop() argument
4187 ic = ni->ni_ic; in lkpi_ic_addba_stop()
4190 vap = ni->ni_vap; in lkpi_ic_addba_stop()
4193 lsta = ni->ni_drv_data; in lkpi_ic_addba_stop()
4197 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n", in lkpi_ic_addba_stop()
4198 __func__, lsta, ni, sta); in lkpi_ic_addba_stop()
4218 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n", in lkpi_ic_addba_stop()
4219 __func__, error, ni, tap); in lkpi_ic_addba_stop()
4226 lhw->ic_addba_stop(ni, tap); in lkpi_ic_addba_stop()
4230 lkpi_ic_addba_response_timeout(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) in lkpi_ic_addba_response_timeout() argument
4235 ic = ni->ni_ic; in lkpi_ic_addba_response_timeout()
4240 lhw->ic_addba_response_timeout(ni, tap); in lkpi_ic_addba_response_timeout()
4244 lkpi_ic_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, in lkpi_ic_bar_response() argument
4250 ic = ni->ni_ic; in lkpi_ic_bar_response()
4255 lhw->ic_bar_response(ni, tap, status); in lkpi_ic_bar_response()
4259 lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap, in lkpi_ic_ampdu_rx_start() argument
4273 ic = ni->ni_ic; in lkpi_ic_ampdu_rx_start()
4276 vap = ni->ni_vap; in lkpi_ic_ampdu_rx_start()
4279 lsta = ni->ni_drv_data; in lkpi_ic_ampdu_rx_start()
4285 ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p not added to firmware\n", in lkpi_ic_ampdu_rx_start()
4286 __func__, lsta, ni, vap, sta); in lkpi_ic_ampdu_rx_start()
4315 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", in lkpi_ic_ampdu_rx_start()
4316 __func__, error, ni, rap); in lkpi_ic_ampdu_rx_start()
4326 error = lhw->ic_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl); in lkpi_ic_ampdu_rx_start()
4331 lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) in lkpi_ic_ampdu_rx_stop() argument
4345 ic = ni->ni_ic; in lkpi_ic_ampdu_rx_stop()
4361 vap = ni->ni_vap; in lkpi_ic_ampdu_rx_stop()
4364 lsta = ni->ni_drv_data; in lkpi_ic_ampdu_rx_stop()
4369 if (&ni->ni_rx_ampdu[tid] == rap) in lkpi_ic_ampdu_rx_stop()
4387 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n", in lkpi_ic_ampdu_rx_stop()
4388 __func__, error, ni, rap); in lkpi_ic_ampdu_rx_stop()
4391 lhw->ic_ampdu_rx_stop(ni, rap); in lkpi_ic_ampdu_rx_stop()
4673 /* Flush mbufq (make sure to release ni refs!). */ in linuxkpi_ieee80211_iffree()
4683 ieee80211_free_node(rxni->ni); in linuxkpi_ieee80211_iffree()
5195 struct ieee80211_node *ni; in lkpi_80211_lhw_rxq_rx_one() local
5199 ni = NULL; in lkpi_80211_lhw_rxq_rx_one()
5205 ni = rxni->ni; in lkpi_80211_lhw_rxq_rx_one()
5208 if (ni != NULL) { in lkpi_80211_lhw_rxq_rx_one()
5209 ok = ieee80211_input_mimo(ni, m); in lkpi_80211_lhw_rxq_rx_one()
5210 ieee80211_free_node(ni); /* Release the reference. */ in lkpi_80211_lhw_rxq_rx_one()
5264 struct ieee80211_node *ni; in linuxkpi_ieee80211_rx() local
5384 ni = ieee80211_ref_node(lsta->ni); in linuxkpi_ieee80211_rx()
5389 ni = ieee80211_find_rxnode(ic, wh); in linuxkpi_ieee80211_rx()
5390 if (ni != NULL) in linuxkpi_ieee80211_rx()
5391 lsta = ni->ni_drv_data; in linuxkpi_ieee80211_rx()
5394 if (ni != NULL) in linuxkpi_ieee80211_rx()
5395 vap = ni->ni_vap; in linuxkpi_ieee80211_rx()
5405 printf("TRACE-RX: %s: sta %p lsta %p state %d ni %p vap %p%s\n", in linuxkpi_ieee80211_rx()
5407 ni, vap, is_beacon ? " beacon" : ""); in linuxkpi_ieee80211_rx()
5410 if (ni != NULL && vap != NULL && is_beacon && in linuxkpi_ieee80211_rx()
5418 if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid)) in linuxkpi_ieee80211_rx()
5481 if (ni != NULL) { in linuxkpi_ieee80211_rx()
5489 rxni->ni = ni; /* We hold a reference. */ in linuxkpi_ieee80211_rx()
5731 lkpi_find_lsta_by_ni(struct lkpi_vif *lvif, struct ieee80211_node *ni)
5737 if (lsta->ni == ni) {
5867 * passed back from the driver. rawx_mit() saves the ni on the m and the
5874 struct ieee80211_node *ni; in _lkpi_ieee80211_free_txskb() local
5881 ni = m->m_pkthdr.PH_loc.ptr; in _lkpi_ieee80211_free_txskb()
5883 ieee80211_tx_complete(ni, m, status); in _lkpi_ieee80211_free_txskb()
5884 /* ni & mbuf were consumed. */ in _lkpi_ieee80211_free_txskb()
5904 struct ieee80211_node *ni; in linuxkpi_ieee80211_tx_status_ext() local
5912 ni = m->m_pkthdr.PH_loc.ptr; in linuxkpi_ieee80211_tx_status_ext()
5915 ni = NULL; in linuxkpi_ieee80211_tx_status_ext()
5927 if (ni != NULL) { in linuxkpi_ieee80211_tx_status_ext()
5932 old_rate = ni->ni_vap->iv_bss->ni_txrate; in linuxkpi_ieee80211_tx_status_ext()
5951 ieee80211_ratectl_tx_complete(ni, &txs); in linuxkpi_ieee80211_tx_status_ext()
5952 ridx = ieee80211_ratectl_rate(ni->ni_vap->iv_bss, NULL, 0); in linuxkpi_ieee80211_tx_status_ext()
5958 old_rate, ni->ni_vap->iv_bss->ni_txrate, in linuxkpi_ieee80211_tx_status_ext()
6020 struct ieee80211_node *ni; in lkpi_ieee80211_free_skb_mbuf() local
6029 ni = m->m_pkthdr.PH_loc.ptr; in lkpi_ieee80211_free_skb_mbuf()
6031 if (ni != NULL) in lkpi_ieee80211_free_skb_mbuf()
6032 ieee80211_free_node(ni); in lkpi_ieee80211_free_skb_mbuf()