Lines Matching full:ni

77 static void	amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s);
142 amrr_node_init(struct ieee80211_node *ni) in amrr_node_init() argument
145 struct ieee80211vap *vap = ni->ni_vap; in amrr_node_init()
156 if (ni->ni_rctls == NULL) { in amrr_node_init()
157 ni->ni_rctls = amn = IEEE80211_MALLOC(sizeof(struct ieee80211_amrr_node), in amrr_node_init()
165 amn = ni->ni_rctls; in amrr_node_init()
173 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_node_init()
175 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init()
177 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_node_init()
179 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init()
181 rs = &ni->ni_rates; in amrr_node_init()
188 if (! ieee80211_ht_check_tx_ht(ni)) in amrr_node_init()
197 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_node_init()
206 if (ieee80211_ht_check_tx_ht(ni)) in amrr_node_init()
210 ni->ni_txrate = rate; in amrr_node_init()
215 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_node_init()
218 ieee80211_ht_check_tx_ht(ni) ? "MCS " : "", in amrr_node_init()
223 amrr_node_deinit(struct ieee80211_node *ni) in amrr_node_deinit() argument
225 IEEE80211_FREE(ni->ni_rctls, M_80211_RATECTL); in amrr_node_deinit()
230 struct ieee80211_node *ni) in amrr_update() argument
238 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_update()
240 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_update()
242 rs = &ni->ni_rates; in amrr_update()
247 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update()
270 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update()
293 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni, in amrr_update()
314 amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused) in amrr_rate() argument
316 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_rate()
324 ni->ni_txrate = ni->ni_rates.rs_rates[0]; in amrr_rate()
331 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_rate()
333 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_rate()
335 rs = &ni->ni_rates; in amrr_rate()
339 rix = amrr_update(amrr, amn, ni); in amrr_rate()
342 ni->ni_txrate = rs->rs_rates[rix]; in amrr_rate()
344 if (ieee80211_ht_check_tx_ht(ni)) in amrr_rate()
345 ni->ni_txrate |= IEEE80211_RATE_MCS; in amrr_rate()
347 ni->ni_txrate &= IEEE80211_RATE_VAL; in amrr_rate()
362 amrr_tx_complete(const struct ieee80211_node *ni, in amrr_tx_complete() argument
365 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_tx_complete()
382 amrr_tx_update_cb(void *arg, struct ieee80211_node *ni) in amrr_tx_update_cb() argument
385 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_tx_update_cb()
413 amrr_tx_update_cb(stats, stats->ni); in amrr_tx_update()
461 struct ieee80211_node *ni, struct sbuf *s) in amrr_print_node_rate() argument
466 if (ieee80211_ht_check_tx_ht(ni)) { in amrr_print_node_rate()
467 rs = (struct ieee80211_rateset *) &ni->ni_htrates; in amrr_print_node_rate()
471 rs = &ni->ni_rates; in amrr_print_node_rate()
478 amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s) in amrr_node_stats() argument
480 struct ieee80211_amrr_node *amn = ni->ni_rctls; in amrr_node_stats()
487 amrr_print_node_rate(amn, ni, s); in amrr_node_stats()