• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/sys/net80211/

Lines Matching refs:amn

57 #define is_success(amn)	\
58 ((amn)->amn_retrycnt < (amn)->amn_txcnt / 10)
59 #define is_failure(amn) \
60 ((amn)->amn_retrycnt > (amn)->amn_txcnt / 3)
61 #define is_enough(amn) \
62 ((amn)->amn_txcnt > 10)
167 struct ieee80211_amrr_node *amn;
177 ni->ni_rctls = amn = IEEE80211_MALLOC(sizeof(struct ieee80211_amrr_node),
179 if (amn == NULL) {
185 amn = ni->ni_rctls;
186 amn->amn_amrr = amrr;
187 amn->amn_success = 0;
188 amn->amn_recovery = 0;
189 amn->amn_txcnt = amn->amn_retrycnt = 0;
190 amn->amn_success_threshold = amrr->amrr_min_success_threshold;
213 for (amn->amn_rix = rs->rs_nrates - 1; amn->amn_rix > 0;
214 amn->amn_rix--) {
218 if ((rs->rs_rates[amn->amn_rix] & 0x1f) < 4)
220 } else if ((rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL) <= 72)
223 rate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL;
231 amn->amn_ticks = ticks;
249 amrr_update(struct ieee80211_amrr *amrr, struct ieee80211_amrr_node *amn,
252 int rix = amn->amn_rix;
255 KASSERT(is_enough(amn), ("txcnt %d", amn->amn_txcnt));
270 amn->amn_txcnt,
271 amn->amn_retrycnt);
281 if (is_success(amn)) {
282 amn->amn_success++;
283 if (amn->amn_success >= amn->amn_success_threshold &&
285 amn->amn_recovery = 1;
286 amn->amn_success = 0;
293 amn->amn_txcnt, amn->amn_retrycnt);
295 amn->amn_recovery = 0;
297 } else if (is_failure(amn)) {
298 amn->amn_success = 0;
300 if (amn->amn_recovery) {
301 amn->amn_success_threshold *= 2;
302 if (amn->amn_success_threshold >
304 amn->amn_success_threshold =
307 amn->amn_success_threshold =
316 amn->amn_txcnt, amn->amn_retrycnt);
318 amn->amn_recovery = 0;
322 amn->amn_txcnt = 0;
323 amn->amn_retrycnt = 0;
336 struct ieee80211_amrr_node *amn = ni->ni_rctls;
342 if (!amn)
348 amrr = amn->amn_amrr;
358 if (is_enough(amn) && (ticks - amn->amn_ticks) > amrr->amrr_interval) {
359 rix = amrr_update(amrr, amn, ni);
360 if (rix != amn->amn_rix) {
368 amn->amn_rix = rix;
370 amn->amn_ticks = ticks;
372 rix = amn->amn_rix;
385 struct ieee80211_amrr_node *amn = ni->ni_rctls;
388 if (!amn)
395 amn->amn_txcnt++;
397 amn->amn_success++;
398 amn->amn_retrycnt += retries;
405 struct ieee80211_amrr_node *amn = ni->ni_rctls;
408 if (!amn)
417 amn->amn_txcnt += txcnt;
418 amn->amn_success += success;
419 amn->amn_retrycnt += retrycnt;
480 amrr_print_node_rate(struct ieee80211_amrr_node *amn,
488 rate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL;
492 rate = rs->rs_rates[amn->amn_rix] & IEEE80211_RATE_VAL;
500 struct ieee80211_amrr_node *amn = ni->ni_rctls;
504 if (!amn)
507 amrr_print_node_rate(amn, ni, s);
508 sbuf_printf(s, "ticks: %d\n", amn->amn_ticks);
509 sbuf_printf(s, "txcnt: %u\n", amn->amn_txcnt);
510 sbuf_printf(s, "success: %u\n", amn->amn_success);
511 sbuf_printf(s, "success_threshold: %u\n", amn->amn_success_threshold);
512 sbuf_printf(s, "recovery: %u\n", amn->amn_recovery);
513 sbuf_printf(s, "retry_cnt: %u\n", amn->amn_retrycnt);