Chenchong's work on net80211_ratectl

Chenchong Qin qinchenchong at gmail.com
Thu Aug 15 12:03:32 UTC 2013


Hi!

Here is my latest update. In this update:

* add a new struct, ieee80211_ratectl_node. This is the common state that
all per node rc
  state, i.e. ieee80211_[amrr|sample]_node, should contains it as the first
field. It's now used to store
  the capabilities. see below.
* rename ir_capabilities to irn_capabilities and move it to
ieee80211_ratectl_node (it contained in
  ieee80211_[amrr|sample]_node). ieee80211_ratectl is readonly, so
ir_capabilities can't be set. And,
  the capabilities is not a part of rc algo. It seems that it should be put
in the per node rc state. Interface
  of ieee80211_ratectl_node_init() and its callers  are updated. References
to ir_capabilities are also adapted.
* add ieee80211_ratectl_[node_is11n|get_rateset] to the ratectl api. rc
algoes all need these functions.
* change the naming conversion of IEEE80211_RATECTL_FLAG_*.
* some errors fixed.


On Thu, Aug 15, 2013 at 12:58 AM, Adrian Chadd <adrian at freebsd.org> wrote:

> Hi!
>
> So yes, we do need to have a generic way of returning that completion
> information to the rate control code.
>
> I'm all for you churning the rate control API to return a struct
> ieee80211_rc_info in the complete function and totally just kill arg1/arg2.
> That forces us to extend ieee80211_rc_info to be "right" for all the
> drivers.
>

Do you mean drop arg1/arg2 and pass pointer of ieee80211_rc_info to the
complete function directly? Or return it
when complete function return?


> What wifi devices do you have there? It looks like we're almost at the
> point where we can start converting a few things to use the modified rate
> control API and modules - notably iwn (which won't use the multi-rate retry
> stuff to begin with - it works "differently"..) and ath (which will use the
> multi-rate retry stuff and the sample rate control module.)
>

Yeah, I have an AR9227 device at hand.

And, I also get a question here. The ieee80211_ratetable doesn't get a
rateCode field. So, how we get the
ratecode of the non_ht rate?

Thanks!

Chenchong
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 20130815-net80211-ratectl.diff
Type: application/octet-stream
Size: 76077 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-wireless/attachments/20130815/bb48c1d7/attachment.obj>


More information about the freebsd-wireless mailing list