freebsd-dev/sys/net80211
Adrian Chadd f8bf74f232 Implement basic 802.11n awareness in the PHY and AMRR rate control code.
* Add 802.11n 2ghz and 5ghz tables, including legacy rates and up to
  MCS23 rates (3x3.)

* Populate the rate code -> rate index lookup table with MCS _and_
  normal rates, but _not_ the basic rate flag.  Since the basic rate flag
  is the same as the MCS flag, we can only use one.

* Introduce some accessor inlines that do PLCP and rate table lookup/access
  and enforce that it doesn't set the basic rate bit.  They're not
  designed for MCS rates, so it will panic.

* Start converting drivers that use the rate table stuff to use the
  accessor inlines and strip the basic flag.

* Teach AMRR about basic 11n - it's still as crap for MCS as it is
  being used by iwn, so it's not a step _backwardS_.

* Convert iwn over to accept 11n MCS rates rather than 'translate' legacy
  to MCS rates.  It doesn't use a lookup table any longer; instead it's a
  function which takes the current node (for HT parameters) and the
  rate code, and returns the hardware PLCP code to use.

Tested:

* ath - it's a no-op, and it works that way
* iwn - both 11n and non-11n
2013-07-04 21:16:49 +00:00
..
_ieee80211.h
ieee80211_acl.c
ieee80211_action.c Mesh: management mesh action frames are to be discarded 2013-02-07 21:21:40 +00:00
ieee80211_action.h
ieee80211_adhoc.c Disable this variable; the code using it is also disabled. 2013-02-18 01:37:55 +00:00
ieee80211_adhoc.h
ieee80211_ageq.c
ieee80211_ageq.h
ieee80211_alq.c
ieee80211_alq.h
ieee80211_amrr.c Implement basic 802.11n awareness in the PHY and AMRR rate control code. 2013-07-04 21:16:49 +00:00
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 Update ddb to print mesh routing table. 2013-02-07 21:29:48 +00:00
ieee80211_dfs.c
ieee80211_dfs.h
ieee80211_freebsd.c Add VNET wrappers around the rest of the ieee80211 rtsock messages. 2013-03-20 02:42:52 +00:00
ieee80211_freebsd.h Bring over my initial work from the net80211 TX locking branch. 2013-03-08 20:23:55 +00:00
ieee80211_hostap.c Bring over my initial work from the net80211 TX locking branch. 2013-03-08 20:23:55 +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 Fix a VAP BSS node reference in the HT code to actually take a reference 2013-05-10 09:37:58 +00:00
ieee80211_ht.h
ieee80211_hwmp.c Bring over my initial work from the net80211 TX locking branch. 2013-03-08 20:23:55 +00:00
ieee80211_input.c Substitute '#ifdef ALIGNED_POINTER' with '#ifndef __NO_STRICT_ALIGNMENT', 2013-02-12 11:24:37 +00:00
ieee80211_input.h
ieee80211_ioctl.c Don't panic the kernel if we run wpa_supplicant on a hostap VAP. 2013-06-29 06:36:42 +00:00
ieee80211_ioctl.h Update net80211 mesh struct ieee80211_meshgann_ie. 2013-02-07 21:20:28 +00:00
ieee80211_mesh.c Fix non-invariant compilation. 2013-03-09 05:20:33 +00:00
ieee80211_mesh.h HWMP: ic->raw_xmit didn't always point to correct ni. 2013-02-07 21:26:40 +00:00
ieee80211_monitor.c
ieee80211_monitor.h
ieee80211_node.c Initial cut at making IBSS support 802.11n aware. 2013-01-26 00:37:54 +00:00
ieee80211_node.h Stop a mesh STA from flooding with peer frames. 2013-02-07 21:12:55 +00:00
ieee80211_output.c Fix net80211 fragment creation. 2013-05-25 06:28:30 +00:00
ieee80211_phy.c Implement basic 802.11n awareness in the PHY and AMRR rate control code. 2013-07-04 21:16:49 +00:00
ieee80211_phy.h Implement basic 802.11n awareness in the PHY and AMRR rate control code. 2013-07-04 21:16:49 +00:00
ieee80211_power.c Bring over my initial work from the net80211 TX locking branch. 2013-03-08 20:23:55 +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 if_start() is being used here as a way of kick-starting the new queue 2012-12-22 01:17:49 +00:00
ieee80211_proto.h Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
ieee80211_radiotap.c
ieee80211_radiotap.h Add in the missing radiotap definitions from the sipsolutions.net 2013-01-08 06:59:21 +00:00
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 Initial cut at making IBSS support 802.11n aware. 2013-01-26 00:37:54 +00:00
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 Kill this, it's not needed at this point and (hopefully) the parent 2013-03-10 04:38:06 +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 Fix typo (dbM -> dBm) 2013-06-14 23:04:31 +00:00
ieee80211_wds.c Bring over my initial work from the net80211 TX locking branch. 2013-03-08 20:23:55 +00:00
ieee80211_wds.h
ieee80211_xauth.c
ieee80211.c Add const qualifier to the dst parameter of the ifnet if_output method. 2013-04-26 12:50:32 +00:00
ieee80211.h Mesh: QoS Control field bit flags fix. 2013-02-14 20:00:38 +00:00