net80211 ratectl proof of concept
Rui Paulo
rpaulo at gmail.com
Wed Mar 31 13:06:00 UTC 2010
Hi,
I've started developing a ratectl framework for net80211, loosely based on what DragonFly has. Right now only one driver has been ported, but I would like your feedback before continuing.
The objective is to, eventually, have all the ratectl stuff (amrr, sample, onoe(?) and rssadapt) in net80211 so all drivers can use it. We can also select which ratectl modules are built in the kernel config file.
The framework support changing the current ratectl is out of scope for this patch.
You can find the patch here:
* http://people.freebsd.org/~rpaulo/ratectl.diff
Only the ral driver and the AMRR rate control algorithms were ported.
Some comments:
o The rate control calls now dereferences several pointers and some inline functions are now real functions. I wonder how much this impacts performance and what we can do to solve it.
o I wished there was a better way to do the IEEE80211_AMRR_SUCCESS / IEEE80211_AMRR_FAILURe call.
o Some other stuff can also be `const'
o I create ieee80211_ratect.[ch] to avoid polluting other files
o I moved the AMRR parameters inside amrr_init() on purpose. The drivers we have now only specify a different interval and I plan to add export amrr_set_interval() via the ratectl framework later.
I would like very much to see this in, unless there's a strong impending argument.
Thanks,
--
Rui Paulo
More information about the freebsd-net
mailing list