freebsd-nq/sys/net80211
Adrian Chadd 24effd1107 Handle ath-specific and WME IE's in adhoc mode.
The Adhoc support wasn't parsing and handling the ath specific and WME
IEs, thus the atheros vendor support and WME TXOP parameters aren't being
copied from the peer.

It copies the WME parameters from whichever adhoc node it decides to
associate to, rather than just having them be statically configured
per adhoc node.  This may or may not be exactly "right", but it's certainly
going to be more convienent for people - they just have to ensure their
adhoc nodes are setup with correct WME parameters.

Since WME parameters aren't per-node but are configured on hardware TX
queues, if some nodes support WME and some don't - or perhaps, have
different WME parameters - things will get quite quirky.

So ensure that you configure your adhoc nodes with the same WME
parameters.

Secondly - the Atheros Vendor IE is parsed and operated on per-node, so
this should work out ok between nodes that do and don't do Atheros
extensions.  Once you see a becaon from that node and you setup the
association state, it _should_ parse things correctly.

TODO:

* I do need to ensure that both adhoc setup paths are correctly updating
  the IE stuff.  Ie, if the adhoc node is created by a data frame instead
  of a beacon frame, it'll come up with no WME/ath IE config.  The next
  beacon frame that it receives from that node will update the state.
  I just need to sit down and better understand how that's suppose to
  work in IBSS mode.

Tested:

* AR5416 <-> AR9280 - fast frames and the WME configuration both popped
  up. (This is with a local HAL patch that enables the fast frames
  capability on the AR5416 chipsets.)

PR:		kern/165969
2012-12-09 22:56:29 +00:00
..
_ieee80211.h Add a check for dynamic OFDM/CCK channel types. 2012-07-01 04:25:49 +00:00
ieee80211_acl.c
ieee80211_action.c
ieee80211_action.h
ieee80211_adhoc.c Handle ath-specific and WME IE's in adhoc mode. 2012-12-09 22:56:29 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c
ieee80211_amrr.h
ieee80211_crypto_ccmp.c
ieee80211_crypto_none.c
ieee80211_crypto_tkip.c
ieee80211_crypto_wep.c
ieee80211_crypto.c
ieee80211_crypto.h
ieee80211_ddb.c
ieee80211_dfs.c
ieee80211_dfs.h
ieee80211_freebsd.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_freebsd.h Add a primitive to check if a lock is not owned. 2012-11-26 00:06:55 +00:00
ieee80211_hostap.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_hostap.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_ht.c Add some further BAR TX debugging; it was useful when figuring out 2012-10-28 04:18:49 +00:00
ieee80211_ht.h
ieee80211_hwmp.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_input.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_input.h
ieee80211_ioctl.c
ieee80211_ioctl.h
ieee80211_mesh.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_mesh.h
ieee80211_monitor.c
ieee80211_monitor.h
ieee80211_node.c Fix a crash bug introduced in the iterate node work recently done. 2012-09-16 22:45:00 +00:00
ieee80211_node.h Don't call the node iteration function inside the node table / node 2012-08-15 20:01:28 +00:00
ieee80211_output.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_phy.c
ieee80211_phy.h
ieee80211_power.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_power.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_proto.c
ieee80211_proto.h
ieee80211_radiotap.c Extend the radiotap code to be aware of the size of any extra vendor 2012-06-18 02:08:04 +00:00
ieee80211_radiotap.h
ieee80211_ratectl_none.c
ieee80211_ratectl.c
ieee80211_ratectl.h
ieee80211_regdomain.c
ieee80211_regdomain.h Add a new 900MHz GSM regulatory SKU for the Xagyl Communications XC900M. 2012-12-07 06:34:46 +00:00
ieee80211_rssadapt.c
ieee80211_rssadapt.h
ieee80211_scan_sta.c
ieee80211_scan.c Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_scan.h
ieee80211_sta.c Handle ath-specific and WME IE's in adhoc mode. 2012-12-09 22:56:29 +00:00
ieee80211_sta.h Handle ath-specific and WME IE's in adhoc mode. 2012-12-09 22:56:29 +00:00
ieee80211_superg.c Atheros SuperG bug fixes, as part of hunting down kern/174283. 2012-12-09 19:20:28 +00:00
ieee80211_superg.h Atheros SuperG bug fixes, as part of hunting down kern/174283. 2012-12-09 19:20:28 +00:00
ieee80211_tdma.c
ieee80211_tdma.h
ieee80211_var.h Migrate the power-save functions to be overridable VAP methods. 2012-10-02 17:45:19 +00:00
ieee80211_wds.c Mechanically substitute flags from historic mbuf allocator with 2012-12-05 08:04:20 +00:00
ieee80211_wds.h
ieee80211_xauth.c
ieee80211.c Fix up some initial issues with creation and deletion of hotplugged 2012-10-26 16:56:55 +00:00
ieee80211.h Fix an incorrect comment. 2012-08-08 17:16:06 +00:00