Lines Matching defs:ni

133 amrr_node_is_11n(struct ieee80211_node *ni)
136 if (ni->ni_chan == NULL)
138 if (ni->ni_chan == IEEE80211_CHAN_ANYC)
140 return (IEEE80211_IS_CHAN_HT(ni->ni_chan));
144 amrr_node_init(struct ieee80211_node *ni)
147 struct ieee80211vap *vap = ni->ni_vap;
152 if (ni->ni_rctls == NULL) {
153 ni->ni_rctls = amn = malloc(sizeof(struct ieee80211_amrr_node),
161 amn = ni->ni_rctls;
169 if (amrr_node_is_11n(ni)) {
171 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
173 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
175 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
177 rs = &ni->ni_rates;
184 if (! amrr_node_is_11n(ni))
192 if (amrr_node_is_11n(ni) &&
201 if (amrr_node_is_11n(ni))
205 ni->ni_txrate = rate;
208 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
215 amrr_node_deinit(struct ieee80211_node *ni)
217 free(ni->ni_rctls, M_80211_RATECTL);
222 struct ieee80211_node *ni)
230 if (amrr_node_is_11n(ni)) {
232 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
234 rs = &ni->ni_rates;
237 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
258 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
279 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_RATECTL, ni,
300 amrr_rate(struct ieee80211_node *ni, void *arg __unused, uint32_t iarg __unused)
302 struct ieee80211_amrr_node *amn = ni->ni_rctls;
308 if (amrr_node_is_11n(ni)) {
310 rs = (struct ieee80211_rateset *) &ni->ni_htrates;
312 rs = &ni->ni_rates;
316 rix = amrr_update(amrr, amn, ni);
319 ni->ni_txrate = rs->rs_rates[rix];
321 if (amrr_node_is_11n(ni))
322 ni->ni_txrate |= IEEE80211_RATE_MCS;
324 ni->ni_txrate &= IEEE80211_RATE_VAL;
340 const struct ieee80211_node *ni, int ok,
343 struct ieee80211_amrr_node *amn = ni->ni_rctls;
358 amrr_tx_update(const struct ieee80211vap *vap, const struct ieee80211_node *ni,
361 struct ieee80211_amrr_node *amn = ni->ni_rctls;