Lines Matching full:ni
453 struct ieee80211_node *ni) in lkpi_sta_sync_ht_from_ni() argument
460 if ((ni->ni_flags & IEEE80211_NODE_HT) == 0) { in lkpi_sta_sync_ht_from_ni()
468 vap = ni->ni_vap; in lkpi_sta_sync_ht_from_ni()
469 …sta->deflink.ht_cap.ampdu_density = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MPDUDENSI… in lkpi_sta_sync_ht_from_ni()
472 …sta->deflink.ht_cap.ampdu_factor = _IEEE80211_MASKSHIFT(ni->ni_htparam, IEEE80211_HTCAP_MAXRXAMPDU… in lkpi_sta_sync_ht_from_ni()
476 ie = ni->ni_ies.htcap_ie; in lkpi_sta_sync_ht_from_ni()
477 KASSERT(ie != NULL, ("%s: HT but no htcap_ie on ni %p\n", __func__, ni)); in lkpi_sta_sync_ht_from_ni()
486 IEEE80211_IS_CHAN_HT40(ni->ni_chan)) in lkpi_sta_sync_ht_from_ni()
523 struct ieee80211_node *ni) in lkpi_sta_sync_vht_from_ni() argument
530 if ((ni->ni_flags & IEEE80211_NODE_VHT) == 0 || in lkpi_sta_sync_vht_from_ni()
531 !IEEE80211_IS_CHAN_VHT_5GHZ(ni->ni_chan)) { in lkpi_sta_sync_vht_from_ni()
538 sta->deflink.vht_cap.cap = ni->ni_vhtcap; in lkpi_sta_sync_vht_from_ni()
539 sta->deflink.vht_cap.vht_mcs = ni->ni_vht_mcsinfo; in lkpi_sta_sync_vht_from_ni()
545 if (ni->ni_vht_chanwidth == IEEE80211_VHT_CHANWIDTH_USE_HT) in lkpi_sta_sync_vht_from_ni()
593 struct ieee80211_sta *sta, struct ieee80211_node *ni, bool updchnctx) in lkpi_sta_sync_from_ni() argument
597 lkpi_sta_sync_ht_from_ni(vif, sta, ni); in lkpi_sta_sync_from_ni()
600 lkpi_sta_sync_vht_from_ni(vif, sta, ni); in lkpi_sta_sync_from_ni()
614 lkpi_get_max_rx_chains(struct ieee80211_node *ni) in lkpi_get_max_rx_chains() argument
621 lsta = ni->ni_drv_data; in lkpi_get_max_rx_chains()
641 lkpi_lsta_dump(struct lkpi_sta *lsta, struct ieee80211_node *ni, in lkpi_lsta_dump() argument
651 printf("%s:%d lsta %p ni %p sta %p\n", in lkpi_lsta_dump()
652 _f, _l, lsta, ni, &lsta->sta); in lkpi_lsta_dump()
653 if (ni != NULL) in lkpi_lsta_dump()
654 ieee80211_dump_node(NULL, ni); in lkpi_lsta_dump()
668 ("%s: lsta %p ni %p\n", __func__, lsta, lsta->ni)); in lkpi_lsta_remove()
674 struct ieee80211_hw *hw, struct ieee80211_node *ni) in lkpi_lsta_alloc() argument
691 * Link the ni to the lsta here without taking a reference. in lkpi_lsta_alloc()
694 * For the other a ni and an lsta are 1:1 mapped and always together in lkpi_lsta_alloc()
696 * using the ni references for the lsta as well despite it being in lkpi_lsta_alloc()
699 lsta->ni = ni; in lkpi_lsta_alloc()
701 ni->ni_drv_data = lsta; in lkpi_lsta_alloc()
780 lkpi_sta_sync_from_ni(hw, vif, sta, ni, false); in lkpi_lsta_alloc()
814 lkpi_lsta_free(struct lkpi_sta *lsta, struct ieee80211_node *ni) in lkpi_lsta_free() argument
820 "lsta %p ni %p added_to_drv %d\n", in lkpi_lsta_free()
821 __func__, lsta, ni, lsta->added_to_drv); in lkpi_lsta_free()
836 /* Flush mbufq (make sure to release ni refs!). */ in lkpi_lsta_free()
856 lsta->ni = NULL; in lkpi_lsta_free()
857 ni->ni_drv_data = NULL; in lkpi_lsta_free()
1137 lkpi_get_lkpi80211_chan(struct ieee80211com *ic, struct ieee80211_node *ni)
1144 if (ni != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC)
1145 c = ni->ni_chan;
1197 ieee80211_ref_node(lsta->ni); in lkpi_sta_del_keys()
1210 ic_printf(lsta->ni->ni_ic, "%s: running set_key cmd %d(%s) for " in lkpi_sta_del_keys()
1219 ic_printf(lsta->ni->ni_ic, "%s: set_key cmd %d(%s) for " in lkpi_sta_del_keys()
1233 ic_printf(lsta->ni->ni_ic, "%s: set_key cmd %d(%s) for " in lkpi_sta_del_keys()
1242 ieee80211_free_node(lsta->ni); in lkpi_sta_del_keys()
1258 struct ieee80211_node *ni; in lkpi_iv_key_delete() local
1275 ni = ieee80211_ref_node(vap->iv_bss); in lkpi_iv_key_delete()
1276 lsta = ni->ni_drv_data; in lkpi_iv_key_delete()
1278 ic_printf(ic, "%s: ni %p (%6D) with lsta NULL\n", in lkpi_iv_key_delete()
1279 __func__, ni, ni->ni_bssid, ":"); in lkpi_iv_key_delete()
1280 ieee80211_free_node(ni); in lkpi_iv_key_delete()
1293 ieee80211_free_node(ni); in lkpi_iv_key_delete()
1340 ieee80211_free_node(ni); in lkpi_iv_key_delete()
1354 struct ieee80211_node *ni; in lkpi_iv_key_set() local
1373 ni = ieee80211_ref_node(vap->iv_bss); in lkpi_iv_key_set()
1374 lsta = ni->ni_drv_data; in lkpi_iv_key_set()
1376 ic_printf(ic, "%s: ni %p (%6D) with lsta NULL\n", in lkpi_iv_key_set()
1377 __func__, ni, ni->ni_bssid, ":"); in lkpi_iv_key_set()
1378 ieee80211_free_node(ni); in lkpi_iv_key_set()
1396 ieee80211_free_node(ni); in lkpi_iv_key_set()
1462 ieee80211_free_node(ni); in lkpi_iv_key_set()
1521 ieee80211_free_node(ni); in lkpi_iv_key_set()
1533 struct ieee80211_node *ni; in lkpi_iv_key_update_begin() local
1558 ni = NULL; in lkpi_iv_key_update_begin()
1561 ni = ieee80211_ref_node(vap->iv_bss); in lkpi_iv_key_update_begin()
1573 lvif->key_update_iv_bss = ni; in lkpi_iv_key_update_begin()
1737 lkpi_update_dtim_tsf(struct ieee80211_vif *vif, struct ieee80211_node *ni, in lkpi_update_dtim_tsf() argument
1758 if (vif->bss_conf.beacon_int != ni->ni_intval) { in lkpi_update_dtim_tsf()
1759 vif->bss_conf.beacon_int = ni->ni_intval; in lkpi_update_dtim_tsf()
1772 vif->bss_conf.sync_tsf = le64toh(ni->ni_tstamp.tsf); in lkpi_update_dtim_tsf()
2014 struct ieee80211_node *ni; in lkpi_sta_scan_to_auth() local
2033 * Keep the ni alive locally. In theory (and practice) iv_bss can change in lkpi_sta_scan_to_auth()
2038 ni = ieee80211_ref_node(vap->iv_bss); in lkpi_sta_scan_to_auth()
2039 if (ni->ni_chan == NULL || ni->ni_chan == IEEE80211_CHAN_ANYC) { in lkpi_sta_scan_to_auth()
2040 ic_printf(vap->iv_ic, "%s: no channel set for iv_bss ni %p " in lkpi_sta_scan_to_auth()
2041 "on vap %p\n", __func__, ni, vap); in lkpi_sta_scan_to_auth()
2042 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
2047 chan = lkpi_find_lkpi80211_chan(lhw, ni->ni_chan); in lkpi_sta_scan_to_auth()
2050 "iv_bss ni %p on vap %p\n", __func__, ni, vap); in lkpi_sta_scan_to_auth()
2051 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
2063 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_scan_to_auth()
2065 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
2068 ieee80211_free_node(ni); /* Error handling for the local ni. */ in lkpi_sta_scan_to_auth()
2095 chanctx_conf->def.center_freq1 = ieee80211_get_channel_center_freq1(ni->ni_chan); in lkpi_sta_scan_to_auth()
2096 chanctx_conf->def.center_freq2 = ieee80211_get_channel_center_freq2(ni->ni_chan); in lkpi_sta_scan_to_auth()
2098 KASSERT(ni->ni_chan != NULL && ni->ni_chan != IEEE80211_CHAN_ANYC, in lkpi_sta_scan_to_auth()
2099 ("%s:%d: ni %p ni_chan %p\n", __func__, __LINE__, ni, ni->ni_chan)); in lkpi_sta_scan_to_auth()
2102 if (IEEE80211_IS_CHAN_HT(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
2103 if (IEEE80211_IS_CHAN_HT40(ni->ni_chan)) in lkpi_sta_scan_to_auth()
2110 if (IEEE80211_IS_CHAN_VHT_5GHZ(ni->ni_chan)) { in lkpi_sta_scan_to_auth()
2111 if (IEEE80211_IS_CHAN_VHT80P80(ni->ni_chan)) in lkpi_sta_scan_to_auth()
2113 else if (IEEE80211_IS_CHAN_VHT160(ni->ni_chan)) in lkpi_sta_scan_to_auth()
2115 else if (IEEE80211_IS_CHAN_VHT80(ni->ni_chan)) in lkpi_sta_scan_to_auth()
2119 chanctx_conf->rx_chains_dynamic = lkpi_get_max_rx_chains(ni); in lkpi_sta_scan_to_auth()
2125 if (IEEE80211_IS_CHAN_HT(ni->ni_chan) || IEEE80211_IS_CHAN_VHT(ni->ni_chan)) in lkpi_sta_scan_to_auth()
2136 vif->bss_conf.bssid = ni->ni_bssid; in lkpi_sta_scan_to_auth()
2138 vif->bss_conf.txpower = ni->ni_txpower; in lkpi_sta_scan_to_auth()
2149 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_scan_to_auth()
2200 * Given ni and lsta are 1:1 from alloc to free we can assert that in lkpi_sta_scan_to_auth()
2201 * ni always has lsta data attach despite net80211 node swapping in lkpi_sta_scan_to_auth()
2204 KASSERT(ni->ni_drv_data != NULL, ("%s: ni %p ni_drv_data %p\n", in lkpi_sta_scan_to_auth()
2205 __func__, ni, ni->ni_drv_data)); in lkpi_sta_scan_to_auth()
2206 lsta = ni->ni_drv_data; in lkpi_sta_scan_to_auth()
2212 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_scan_to_auth()
2226 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_scan_to_auth()
2261 lsta->ni != vap->iv_bss) in lkpi_sta_scan_to_auth()
2263 "lvif_bss->ni %p synched %d, ni %p lsta %p\n", __func__, __LINE__, in lkpi_sta_scan_to_auth()
2265 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_scan_to_auth()
2266 lvif->lvif_bss_synched, ni, lsta); in lkpi_sta_scan_to_auth()
2269 * Reference the "ni" for caching the lsta/ni in lvif->lvif_bss. in lkpi_sta_scan_to_auth()
2270 * Given we cache lsta we use lsta->ni instead of ni here (even though in lkpi_sta_scan_to_auth()
2271 * lsta->ni == ni) to be distinct from the rest of the code where we do in lkpi_sta_scan_to_auth()
2272 * assume that ni == vap->iv_bss which it may or may not be. in lkpi_sta_scan_to_auth()
2274 * function local ni already while ic was unlocked and would lead to in lkpi_sta_scan_to_auth()
2278 ieee80211_ref_node(lsta->ni); in lkpi_sta_scan_to_auth()
2280 if (lsta->ni == vap->iv_bss) { in lkpi_sta_scan_to_auth()
2293 * ni : lsta == 1:1. in lkpi_sta_scan_to_auth()
2315 * Release the reference that kept the ni stable locally in lkpi_sta_scan_to_auth()
2318 if (ni != NULL) in lkpi_sta_scan_to_auth()
2319 ieee80211_free_node(ni); in lkpi_sta_scan_to_auth()
2330 struct ieee80211_node *ni; in lkpi_sta_auth_to_scan() local
2346 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_auth_to_scan()
2348 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_scan()
2354 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_auth_to_scan()
2356 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_auth_to_scan()
2357 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_auth_to_scan()
2360 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_auth_to_scan()
2391 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_auth_to_scan()
2405 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_auth_to_scan()
2408 /* Remove ni reference for this cache of lsta. */ in lkpi_sta_auth_to_scan()
2414 * The very last release the reference on the ni for the ni/lsta on in lkpi_sta_auth_to_scan()
2415 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in lkpi_sta_auth_to_scan()
2418 ieee80211_free_node(ni); in lkpi_sta_auth_to_scan()
2465 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_auth_to_assoc()
2467 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_auth_to_assoc()
2554 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_a_to_a()
2556 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_a_to_a()
2604 struct ieee80211_node *ni; in _lkpi_sta_assoc_to_down() local
2624 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in _lkpi_sta_assoc_to_down()
2626 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in _lkpi_sta_assoc_to_down()
2631 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in _lkpi_sta_assoc_to_down()
2633 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in _lkpi_sta_assoc_to_down()
2635 ni = lsta->ni; /* Reference held for lvif_bss. */ in _lkpi_sta_assoc_to_down()
2638 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
2671 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
2697 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in _lkpi_sta_assoc_to_down()
2711 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in _lkpi_sta_assoc_to_down()
2714 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in _lkpi_sta_assoc_to_down()
2725 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); /* sta no longer save to use. */ in _lkpi_sta_assoc_to_down()
2736 /* Remove ni reference for this cache of lsta. */ in _lkpi_sta_assoc_to_down()
2742 * The very last release the reference on the ni for the ni/lsta on in _lkpi_sta_assoc_to_down()
2743 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in _lkpi_sta_assoc_to_down()
2746 ieee80211_free_node(ni); in _lkpi_sta_assoc_to_down()
2800 struct ieee80211_node *ni; in lkpi_sta_assoc_to_run() local
2820 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_assoc_to_run()
2822 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_assoc_to_run()
2831 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_assoc_to_run()
2833 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_assoc_to_run()
2835 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_assoc_to_run()
2845 sta->aid = IEEE80211_NODE_AID(ni); in lkpi_sta_assoc_to_run()
2864 if (!vif->cfg.assoc || vif->cfg.aid != IEEE80211_NODE_AID(ni)) { in lkpi_sta_assoc_to_run()
2866 vif->cfg.aid = IEEE80211_NODE_AID(ni); in lkpi_sta_assoc_to_run()
2870 vif->cfg.ssid_len = ni->ni_esslen; in lkpi_sta_assoc_to_run()
2871 memcpy(vif->cfg.ssid, ni->ni_essid, ni->ni_esslen); in lkpi_sta_assoc_to_run()
2882 if ((ni->ni_flags & IEEE80211_NODE_QOS) != in lkpi_sta_assoc_to_run()
2888 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_assoc_to_run()
2917 if (!ieee80211_node_is_authorized(ni)) { in lkpi_sta_assoc_to_run()
2923 lkpi_sta_sync_from_ni(hw, vif, sta, ni, true); in lkpi_sta_assoc_to_run()
2926 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_assoc_to_run()
2946 bss_changed |= lkpi_update_dtim_tsf(vif, ni, vap, __func__, __LINE__); in lkpi_sta_assoc_to_run()
2973 struct ieee80211_node *ni; in lkpi_sta_run_to_assoc() local
2992 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_run_to_assoc()
2994 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_assoc()
2999 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_run_to_assoc()
3001 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_assoc()
3003 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_run_to_assoc()
3006 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
3042 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
3070 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_assoc()
3080 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
3099 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_assoc()
3109 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_assoc()
3131 struct ieee80211_node *ni; in lkpi_sta_run_to_init() local
3151 "lvif_bss->ni %p synched %d\n", __func__, __LINE__, in lkpi_sta_run_to_init()
3153 (lvif->lvif_bss != NULL) ? lvif->lvif_bss->ni : NULL, in lkpi_sta_run_to_init()
3158 KASSERT(lsta != NULL && lsta->ni != NULL, ("%s: lsta %p ni %p " in lkpi_sta_run_to_init()
3160 lsta, (lsta != NULL) ? lsta->ni : NULL, lvif, vap)); in lkpi_sta_run_to_init()
3162 ni = lsta->ni; /* Reference held for lvif_bss. */ in lkpi_sta_run_to_init()
3165 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
3198 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
3224 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
3234 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
3253 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
3263 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
3266 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
3302 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); in lkpi_sta_run_to_init()
3305 KASSERT(lsta != NULL, ("%s: ni %p lsta is NULL\n", __func__, ni)); in lkpi_sta_run_to_init()
3318 lkpi_lsta_dump(lsta, ni, __func__, __LINE__); /* sta no longer save to use. */ in lkpi_sta_run_to_init()
3332 /* Remove ni reference for this cache of lsta. */ in lkpi_sta_run_to_init()
3337 * The very last release the reference on the ni for the ni/lsta on in lkpi_sta_run_to_init()
3338 * lvif->lvif_bss. Upon return from this both ni and lsta are invalid in lkpi_sta_run_to_init()
3341 ieee80211_free_node(ni); in lkpi_sta_run_to_init()
3518 * new node without us knowing and thus our ni/lsta are out of sync.
3521 lkpi_iv_update_bss(struct ieee80211vap *vap, struct ieee80211_node *ni) in lkpi_iv_update_bss() argument
3534 rni = lvif->iv_update_bss(vap, ni); in lkpi_iv_update_bss()
4554 struct ieee80211_node *ni; in lkpi_ic_node_alloc() local
4565 ni = lhw->ic_node_alloc(vap, mac); in lkpi_ic_node_alloc()
4566 if (ni == NULL) in lkpi_ic_node_alloc()
4570 lsta = lkpi_lsta_alloc(vap, mac, hw, ni); in lkpi_ic_node_alloc()
4573 lhw->ic_node_free(ni); in lkpi_ic_node_alloc()
4577 return (ni); in lkpi_ic_node_alloc()
4581 lkpi_ic_node_init(struct ieee80211_node *ni) in lkpi_ic_node_init() argument
4587 ic = ni->ni_ic; in lkpi_ic_node_init()
4591 error = lhw->ic_node_init(ni); in lkpi_ic_node_init()
4603 lkpi_ic_node_cleanup(struct ieee80211_node *ni) in lkpi_ic_node_cleanup() argument
4608 ic = ni->ni_ic; in lkpi_ic_node_cleanup()
4615 lhw->ic_node_cleanup(ni); in lkpi_ic_node_cleanup()
4619 lkpi_ic_node_free(struct ieee80211_node *ni) in lkpi_ic_node_free() argument
4625 ic = ni->ni_ic; in lkpi_ic_node_free()
4627 lsta = ni->ni_drv_data; in lkpi_ic_node_free()
4629 /* KASSERT lsta is not NULL here. Print ni/ni__refcnt. */ in lkpi_ic_node_free()
4632 * Pass in the original ni just in case of error we could check that in lkpi_ic_node_free()
4633 * it is the same as lsta->ni. in lkpi_ic_node_free()
4635 lkpi_lsta_free(lsta, ni); in lkpi_ic_node_free()
4638 lhw->ic_node_free(ni); in lkpi_ic_node_free()
4646 * Both take care of the ni reference in case of error, and otherwise during
4652 lkpi_xmit(struct ieee80211_node *ni, struct mbuf *m, argument
4659 lsta = ni->ni_drv_data;
4685 ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n",
4695 printf("%s:%d lsta %p ni %p %6D mbuf_qlen %d\n",
4696 __func__, __LINE__, lsta, ni, ni->ni_macaddr, ":",
4704 lkpi_ic_raw_xmit(struct ieee80211_node *ni, struct mbuf *m, argument
4707 return (lkpi_xmit(ni, m, NULL, true));
4839 ic_printf(lsta->ni->ni_ic, "%s: lsta %p k %p skb %p, "
4859 ic_printf(lsta->ni->ni_ic, "%s: lsta %p k %p kc %p skb %p, "
4886 struct ieee80211_node *ni; local
4911 ni = lsta->ni;
4919 k = ieee80211_crypto_get_txkey(ni, m);
4928 k = ieee80211_crypto_encap(ni, m);
4930 ieee80211_free_node(ni);
4937 ic = ni->ni_ic;
4940 c = ni->ni_chan;
4942 if (ieee80211_radiotap_active_vap(ni->ni_vap)) {
4958 ieee80211_radiotap_tx(ni->ni_vap, m);
4982 ic_printf(ic, "ERROR %s: skb alloc failed %d + %d, lsta %p sta %p ni %p\n",
4983 __func__, hw->extra_tx_headroom, m->m_pkthdr.len, lsta, sta, ni);
4992 ieee80211_free_node(ni);
5008 /* Save the ni. */
5009 m->m_pkthdr.PH_loc.ptr = ni;
5011 lvif = VAP_TO_LVIF(ni->ni_vap);
5061 * mbuf and release the reference on the ni.
5092 "ni %p %6D skb %p lxtq %p { qlen %u, ac %d tid %u } "
5096 lsta, sta, ni, ni->ni_macaddr, ":", skb, ltxq,
5109 printf("%s:%d mo_tx :: lsta %p sta %p ni %p %6D skb %p "
5111 __func__, __LINE__, lsta, sta, ni, ni->ni_macaddr, ":",
5133 printf("%s:%d lsta %p ni %p %6D pending %d mbuf_qlen %d\n",
5134 __func__, __LINE__, lsta, lsta->ni, lsta->ni->ni_macaddr, ":",
5182 struct ieee80211_node *ni; local
5184 ni = (struct ieee80211_node *)m->m_pkthdr.rcvif;
5185 return (lkpi_xmit(ni, m, NULL, false));
5190 lkpi_ic_recv_action(struct ieee80211_node *ni, const struct ieee80211_frame *wh, argument
5196 ic = ni->ni_ic;
5201 return (lhw->ic_recv_action(ni, wh, frm, efrm));
5205 lkpi_ic_send_action(struct ieee80211_node *ni, int category, int action, void *sa) argument
5210 ic = ni->ni_ic;
5215 return (lhw->ic_send_action(ni, category, action, sa));
5220 lkpi_ic_ampdu_enable(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) argument
5225 ic = ni->ni_ic;
5230 return (lhw->ic_ampdu_enable(ni, tap));
5240 lkpi_ic_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, argument
5254 ic = ni->ni_ic;
5257 vap = ni->ni_vap;
5260 lsta = ni->ni_drv_data;
5264 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n",
5265 __func__, lsta, ni, sta);
5284 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n",
5285 __func__, error, ni, tap);
5289 return (lhw->ic_addba_request(ni, tap, dialogtoken, baparamset, batimeout));
5300 lkpi_ic_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, argument
5314 ic = ni->ni_ic;
5317 vap = ni->ni_vap;
5320 lsta = ni->ni_drv_data;
5324 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n",
5325 __func__, lsta, ni, sta);
5362 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n",
5363 __func__, error, ni, tap);
5367 …IMPROVE_HT("who unleashes the TXQ? and when?, do we need to ni->ni_txseqs[tid] = tap->txa_start & …
5369 return (lhw->ic_addba_response(ni, tap, status, baparamset, batimeout));
5377 lkpi_ic_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) argument
5390 ic = ni->ni_ic;
5393 vap = ni->ni_vap;
5396 lsta = ni->ni_drv_data;
5400 ic_printf(ic, "%s: lsta %p ni %p, sta %p not added to firmware\n",
5401 __func__, lsta, ni, sta);
5421 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p tap %p\n",
5422 __func__, error, ni, tap);
5429 lhw->ic_addba_stop(ni, tap);
5433 lkpi_ic_addba_response_timeout(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap) argument
5438 ic = ni->ni_ic;
5443 lhw->ic_addba_response_timeout(ni, tap);
5447 lkpi_ic_bar_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap, argument
5453 ic = ni->ni_ic;
5458 lhw->ic_bar_response(ni, tap, status);
5462 lkpi_ic_ampdu_rx_start(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap, argument
5476 ic = ni->ni_ic;
5479 vap = ni->ni_vap;
5482 lsta = ni->ni_drv_data;
5488 ic_printf(ic, "%s: lsta %p ni %p vap %p, sta %p not added to firmware\n",
5489 __func__, lsta, ni, vap, sta);
5518 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n",
5519 __func__, error, ni, rap);
5529 error = lhw->ic_ampdu_rx_start(ni, rap, baparamset, batimeout, baseqctl);
5534 lkpi_ic_ampdu_rx_stop(struct ieee80211_node *ni, struct ieee80211_rx_ampdu *rap) argument
5549 ic = ni->ni_ic;
5565 vap = ni->ni_vap;
5568 lsta = ni->ni_drv_data;
5573 if (&ni->ni_rx_ampdu[tid] == rap)
5594 ic_printf(ic, "%s: mo_ampdu_action returned %d. ni %p rap %p\n",
5595 __func__, error, ni, rap);
5598 lhw->ic_ampdu_rx_stop(ni, rap);
5884 /* Flush mbufq (make sure to release ni refs!). */
5895 ieee80211_free_node(rxni->ni);
5899 struct ieee80211_node *ni;
5901 ni = m->m_pkthdr.PH_loc.ptr;
5902 ieee80211_free_node(ni);
6506 struct ieee80211_node *ni; local
6512 ni = NULL;
6519 ni = rxni->ni;
6523 ni = m->m_pkthdr.PH_loc.ptr;
6528 if (ni != NULL) {
6529 ok = ieee80211_input_mimo(ni, m);
6530 ieee80211_free_node(ni); /* Release the reference. */
6771 struct ieee80211_node *ni; local
6862 ni = ieee80211_ref_node(lsta->ni);
6867 ni = ieee80211_find_rxnode(ic, wh);
6868 if (ni != NULL)
6869 lsta = ni->ni_drv_data;
6882 if (ni != NULL)
6883 vap = ni->ni_vap;
6893 printf("TRACE-RX: %s: sta %p lsta %p state %d ni %p vap %p%s\n",
6895 ni, vap, is_beacon ? " beacon" : "");
6898 if (ni != NULL && vap != NULL && is_beacon &&
6906 if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_bssid))
6965 if (ni != NULL) {
6978 rxni->ni = ni; /* We hold a reference. */
6981 m->m_pkthdr.PH_loc.ptr = ni; /* We hold a reference. */
7000 ic_printf(ni->ni_ic, "%s: mbufq_enqueue failed: %d\n",
7264 lkpi_find_lsta_by_ni(struct lkpi_vif *lvif, struct ieee80211_node *ni)
7270 if (lsta->ni == ni) {
7400 * passed back from the driver. rawx_mit() saves the ni on the m and the
7407 struct ieee80211_node *ni; local
7414 ni = m->m_pkthdr.PH_loc.ptr;
7416 ieee80211_tx_complete(ni, m, status);
7417 /* ni & mbuf were consumed. */
7437 struct ieee80211_node *ni; local
7445 ni = m->m_pkthdr.PH_loc.ptr;
7448 ni = NULL;
7460 if (ni != NULL) {
7478 ieee80211_ratectl_tx_complete(ni, &txs);
7479 ieee80211_ratectl_rate(ni->ni_vap->iv_bss, NULL, 0);
7545 struct ieee80211_node *ni; local
7554 ni = m->m_pkthdr.PH_loc.ptr;
7556 if (ni != NULL)
7557 ieee80211_free_node(ni);