Page MenuHomeFreeBSD

ieee80211_ratectl*: switch to reusable KPI
ClosedPublic

Authored by avos on Sep 26 2016, 6:09 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 10, 4:27 PM
Unknown Object (File)
Mon, Nov 4, 10:19 PM
Unknown Object (File)
Oct 24 2024, 11:26 PM
Unknown Object (File)
Oct 24 2024, 11:26 PM
Unknown Object (File)
Oct 24 2024, 11:03 PM
Unknown Object (File)
Sep 11 2024, 4:36 AM
Unknown Object (File)
Sep 11 2024, 1:11 AM
Unknown Object (File)
Sep 8 2024, 1:49 AM
Subscribers

Details

Summary

Replace various void * / int argument combinations with common structures:

  • ieee80211_ratectl_tx_status for tx_complete();
  • ieee80211_ratectl_tx_stats for tx_update();

While here, improve amrr_tx_update() for a bit:

  1. In case, if receiver is not known (typical for Ralink USB drivers), refresh Tx rate for all nodes on the interface (via ieee80211_iterate_nodes_vap());
  2. There was a misuse:
    • otus(4) sends non-decreasing counters (as intended);
    • but ural(4), rum(4) and run(4) are using 'read & clear' registers to obtain statistics for some period of time (and those 'last period' values are used as arguments for tx_update())

If arguments are not big enough, they are just discarded after the next call.
Fix: move counting into tx_update() (now otus(4) will zero out all node counters after every tx_update() call)

Test Plan

Tested with:

  • Intel 3945BG (wpi(4)), STA mode.
  • WUSB54GC (rum(4)), STA / HOSTAP mode.
  • RTL8188EU (urtwn(4)), STA mode.

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

avos retitled this revision from to ieee80211_ratectl*: switch to reusable KPI.
avos updated this object.
avos edited the test plan for this revision. (Show Details)
avos added a reviewer: adrian.
avos set the repository for this revision to rS FreeBSD src repository - subversion.
adrian edited edge metadata.

God yes please, thankyou. I just made a start on the ratectl /lookup/ side, so this is great. Thanks!

This revision is now accepted and ready to land.Sep 30 2016, 8:46 PM