Re: churning ratectl api

2016-03-15 Thread Adrian Chadd
for reference:

https://wiki.freebsd.org/WiFi/RateControl


-a
___
freebsd-wireless@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"


churning ratectl api

2016-03-15 Thread Adrian Chadd
hiya,

I'd like to start churning the ratectl api in preparation for teaching
it about more interesting things (eg ath_rate_sample, ath_rate_onoe)
and hopefully getting it ready for some 11ac things in the future.

There are some immediate things I'd like to change:

* not everything implements both tx_update and tx_complete. I'd like
to fix that.
* I don't like the void * / int args that are left to the
implementation to define. It means things aren't /really/
plug/play'able, which is kinda silly.
* ieee8021_ratectl_rate() is currently used inconsistently, the pktlen
isn't passed in, other things that are missing (eg is it multicast?
etc); it returns rix rather than rate and it means that the users are
typically calling the function and then checking ni_txrates. That's a
bit race-prone for me and means I can't do things like choose a
different rate based on packet size.
* there's like, zero locking in use anywhere here.

There's also a bunch of things that we could prepare for - eg, the
multi-rate retry schedules that some hardware supports (ath, iwn/iwm
to some extent, etc), proper 11n support and A-MSDU / A-MPDU support.

So I'd like some input on this before I rush off and redesign it all.
I'll braindump some of this into a wiki page soon so interested
parties can help out churn things.

thanks!


-a
___
freebsd-wireless@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-wireless
To unsubscribe, send any mail to "freebsd-wireless-unsubscr...@freebsd.org"