Lines Matching defs:ni
132 amrr_node_init(struct ieee80211_node *ni)
134 const struct ieee80211_rateset *rs = &ni->ni_rates;
135 struct ieee80211vap *vap = ni->ni_vap;
139 if (ni->ni_rctls == NULL) {
140 ni->ni_rctls = amn = malloc(sizeof(struct ieee80211_amrr_node),
148 amn = ni->ni_rctls;
160 ni->ni_txrate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL;
163 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
164 "AMRR initial rate %d", ni->ni_txrate);
168 amrr_node_deinit(struct ieee80211_node *ni)
170 free(ni->ni_rctls, M_80211_RATECTL);
175 struct ieee80211_node *ni)
184 rix + 1 < ni->ni_rates.rs_nrates) {
188 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
190 ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL,
209 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
211 ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL,
230 amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused)
232 struct ieee80211_amrr_node *amn = ni->ni_rctls;
237 rix = amrr_update(amrr, amn, ni);
240 ni->ni_txrate =
241 ni->ni_rates.rs_rates[rix] & IEEE80211_RATE_VAL;
257 const struct ieee80211_node *ni, int ok,
260 struct ieee80211_amrr_node *amn = ni->ni_rctls;
275 amrr_tx_update(const struct ieee80211vap *vap, const struct ieee80211_node *ni,
278 struct ieee80211_amrr_node *amn = ni->ni_rctls;