Lines Matching full:ni
78 static void amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s);
143 amrr_node_init_vht(struct ieee80211_node *ni) in amrr_node_init_vht() argument
145 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_node_init_vht()
150 ieee80211_node_set_txrate_vht_rate(ni, amn->amn_vht_nss, in amrr_node_init_vht()
153 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init_vht()
160 amrr_node_init_ht(struct ieee80211_node *ni) in amrr_node_init_ht() argument
163 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_node_init_ht()
166 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_node_init_ht()
183 ieee80211_node_set_txrate_dot11rate(ni, rate); in amrr_node_init_ht()
186 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init_ht()
193 amrr_node_init_legacy(struct ieee80211_node *ni) in amrr_node_init_legacy() argument
196 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_node_init_legacy()
199 rs = &ni->ni_rates; in amrr_node_init_legacy()
217 ieee80211_node_set_txrate_dot11rate(ni, rate); in amrr_node_init_legacy()
220 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init_legacy()
227 amrr_node_init(struct ieee80211_node *ni) in amrr_node_init() argument
229 struct ieee80211vap *vap = ni->ni_vap; in amrr_node_init()
239 if (ni->ni_rctls == NULL) { in amrr_node_init()
240 ni->ni_rctls = amn = IEEE80211_MALLOC(sizeof(struct ieee80211_amrr_node), in amrr_node_init()
248 amn = ni->ni_rctls; in amrr_node_init()
259 if (ieee80211_vht_check_tx_vht(ni)) in amrr_node_init()
260 amrr_node_init_vht(ni); in amrr_node_init()
261 else if (ieee80211_ht_check_tx_ht(ni)) in amrr_node_init()
262 amrr_node_init_ht(ni); in amrr_node_init()
264 amrr_node_init_legacy(ni); in amrr_node_init()
268 amrr_node_deinit(struct ieee80211_node *ni) in amrr_node_deinit() argument
270 IEEE80211_FREE(ni->ni_rctls, M_80211_RATECTL); in amrr_node_deinit()
274 amrr_update_vht_inc(struct ieee80211_node *ni) in amrr_update_vht_inc() argument
276 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_update_vht_inc()
299 if (ieee80211_vht_node_check_tx_valid_mcs(ni, ni->ni_chw, nss, in amrr_update_vht_inc()
309 amrr_update_vht_dec(struct ieee80211_node *ni) in amrr_update_vht_dec() argument
311 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_update_vht_dec()
334 if (ieee80211_vht_node_check_tx_valid_mcs(ni, ni->ni_chw, nss, in amrr_update_vht_dec()
350 amrr_update_vht(struct ieee80211_node *ni) in amrr_update_vht() argument
352 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_update_vht()
353 struct ieee80211_amrr *amrr = ni->ni_vap->iv_rs; in amrr_update_vht()
355 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_vht()
366 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_vht()
370 amrr_update_vht_inc(ni); in amrr_update_vht()
387 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_vht()
391 amrr_update_vht_dec(ni); in amrr_update_vht()
406 struct ieee80211_node *ni) in amrr_update_ht() argument
411 rs = (struct ieee80211_rateset *)&ni->ni_htrates; in amrr_update_ht()
414 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_ht()
436 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_ht()
459 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_ht()
473 struct ieee80211_node *ni) in amrr_update_legacy() argument
478 rs = &ni->ni_rates; in amrr_update_legacy()
481 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_legacy()
495 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_legacy()
517 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update_legacy()
530 struct ieee80211_node *ni) in amrr_update() argument
537 if (ieee80211_vht_check_tx_vht(ni)) in amrr_update()
538 rix = amrr_update_vht(ni); in amrr_update()
539 else if (ieee80211_ht_check_tx_ht(ni)) in amrr_update()
540 rix = amrr_update_ht(amrr, amn, ni); in amrr_update()
542 rix = amrr_update_legacy(amrr, amn, ni); in amrr_update()
552 amrr_rate_vht(struct ieee80211_node *ni) in amrr_rate_vht() argument
554 struct ieee80211_amrr *amrr = ni->ni_vap->iv_rs; in amrr_rate_vht()
555 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_rate_vht()
558 amrr_update_vht(ni); in amrr_rate_vht()
560 ieee80211_node_set_txrate_vht_rate(ni, amn->amn_vht_nss, in amrr_rate_vht()
573 amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused) in amrr_rate() argument
575 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_rate()
583 ieee80211_node_set_txrate_dot11rate(ni, in amrr_rate()
584 ni->ni_rates.rs_rates[0]); in amrr_rate()
588 if (ieee80211_vht_check_tx_vht(ni)) in amrr_rate()
589 return (amrr_rate_vht(ni)); in amrr_rate()
592 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_rate()
594 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_rate()
596 rs = &ni->ni_rates; in amrr_rate()
601 rix = amrr_update(amrr, amn, ni); in amrr_rate()
607 if (ieee80211_ht_check_tx_ht(ni)) in amrr_rate()
611 ieee80211_node_set_txrate_dot11rate(ni, dot11Rate); in amrr_rate()
627 amrr_tx_complete(const struct ieee80211_node *ni, in amrr_tx_complete() argument
630 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_tx_complete()
647 amrr_tx_update_cb(void *arg, struct ieee80211_node *ni) in amrr_tx_update_cb() argument
650 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_tx_update_cb()
678 amrr_tx_update_cb(stats, stats->ni); in amrr_tx_update()
726 struct ieee80211_node *ni, struct sbuf *s) in amrr_print_node_rate() argument
731 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_print_node_rate()
732 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_print_node_rate()
736 rs = &ni->ni_rates; in amrr_print_node_rate()
743 amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s) in amrr_node_stats() argument
745 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_node_stats()
752 amrr_print_node_rate(amn, ni, s); in amrr_node_stats()