Lines Matching defs:ni

79 static void	amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s);
151 amrr_node_is_11n(struct ieee80211_node *ni)
154 if (ni->ni_chan == NULL)
156 if (ni->ni_chan == IEEE80211_CHAN_ANYC)
158 if (IEEE80211_IS_CHAN_HT(ni->ni_chan) && ni->ni_htrates.rs_nrates == 0)
160 return (IEEE80211_IS_CHAN_HT(ni->ni_chan));
164 amrr_node_init(struct ieee80211_node *ni)
167 struct ieee80211vap *vap = ni->ni_vap;
178 if (ni->ni_rctls == NULL) {
179 ni->ni_rctls = amn = IEEE80211_MALLOC(sizeof(struct ieee80211_amrr_node),
187 amn = ni->ni_rctls;
195 if (amrr_node_is_11n(ni)) {
197 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
199 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
201 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
203 rs = &ni->ni_rates;
210 if (! amrr_node_is_11n(ni))
219 if (amrr_node_is_11n(ni)) {
228 if (amrr_node_is_11n(ni))
232 ni->ni_txrate = rate;
237 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
240 amrr_node_is_11n(ni) ? "MCS " : "",
245 amrr_node_deinit(struct ieee80211_node *ni)
247 IEEE80211_FREE(ni->ni_rctls, M_80211_RATECTL);
252 struct ieee80211_node *ni)
260 if (amrr_node_is_11n(ni)) {
262 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
264 rs = &ni->ni_rates;
269 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
292 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
315 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
336 amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused)
338 struct ieee80211_amrr_node *amn = ni->ni_rctls;
346 ni->ni_txrate = ni->ni_rates.rs_rates[0];
353 if (amrr_node_is_11n(ni)) {
355 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
357 rs = &ni->ni_rates;
361 rix = amrr_update(amrr, amn, ni);
364 ni->ni_txrate = rs->rs_rates[rix];
366 if (amrr_node_is_11n(ni))
367 ni->ni_txrate |= IEEE80211_RATE_MCS;
369 ni->ni_txrate &= IEEE80211_RATE_VAL;
385 const struct ieee80211_node *ni, int ok,
388 struct ieee80211_amrr_node *amn = ni->ni_rctls;
406 amrr_tx_update(const struct ieee80211vap *vap, const struct ieee80211_node *ni,
409 struct ieee80211_amrr_node *amn = ni->ni_rctls;
460 amrr_node_stats(struct ieee80211_node *ni, struct sbuf *s)
463 struct ieee80211_amrr_node *amn = ni->ni_rctls;
472 if (amrr_node_is_11n(ni)) {
473 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
477 rs = &ni->ni_rates;