On Sat, Jan 19, 2019 at 10:52:01PM +0100, Patrick Wildt wrote: > > + case IEEE80211_M_HOSTAP: > > + ieee80211_iterate_nodes(ic, bwfm_update_node, sc); > > + break; > > I think HOSTAP needs > > #ifndef IEEE80211_STA_ONLY > > otherwise ramdisk kernels don't compile.
Yes, thanks! mlarkin pointed that out earlier as well. Fixed locally. > With that fixed, ok patrick@. :) Before committing this, I'd like to address the problem that this diff cannot work for 11n rates which aren't mentioned in if_media.h. Rates using SGI and those with a 40MHz channel can't be listed there because if_media.h baudrate defintions only support a single key/value number pairing. The same issue will need to be solved for 11ac rates. I'm considering adding complete MCS index tables for 11n and 11ac to net80211, right below our definitions of standard 11a/b/g rate sets. bwfm(4) won't be the only driver to benefit from this. And MiRA will need such tables in any case, once we add support for rates with SGI and for channels > 20MHz to iwn(4) / iwm(4) in the future. Once such tables exist, bwfm(4) will show the correct rate in all cases except where multiple MCS map the same data rate, which is rare. BTW, Linux uses a mix of tables and formulas for this. I think just having full tables is going to be easier to work with.
