summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211.h
Commit message (Collapse)AuthorAgeFilesLines
* Net80211s update: Mesh Gate Announcement and removal of Portal Announcement.monthadar2012-05-011-1/+1
| | | | | | | | | | | | | | | * Renamed IEEE80211_ELEMID_MESHPANN to IEEE80211_ELEMID_MESHGANN according to amendment; * Added IEEE80211_IOC_MESH_GATE that controls whether Mesh Gate Announcement is activated or not; * Renamed all flags from Portal to Gate in HWMP frames; * Removed IEEE80211_ACTION_MESHPANN enum cause its part of the Mesh Action category now as per amendment; * Renamed IEEE80211_MESHFLAGS_PORTAL to IEEE80211_MESHFLAGS_GATE in ieee80211_mesh_state flags; * Modified ieee80211_hwmp.c/ieee80211_mesh.c to use new GATE flags; Approved by: adrian
* Added Self-protected action category (including MPM).monthadar2012-05-011-0/+2
| | | | | | | | | | | | | * Added new action category IEEE80211_ACTION_CAT_SELF_PROT which is used by 11s for Mesh Peering Management; * Updated Self protected enum Action codes to start from 1 instead of 0 according to the standard spec; * Removed old and wrong action categories IEEE80211_ACTION_CAT_MESHPEERING; * Modified ieee80211_mesh.c and ieee80211_action.c to use the new action category code; * Added earlier verification code in ieee80211_input; Approved by: adrian
* * Introduce new flag for QoS control field;adrian2012-03-041-0/+7
| | | | | | | | | | | | * Change in mesh_input to validate that QoS is set and Mesh Control field is present, also both bytes of the QoS are read; * Moved defragmentation in mesh_input before we try to forward packet as inferred from amendment spec, because Mesh Control field only present in first fragment; * Changed in ieee80211_encap to set QoS subtype and Mesh Control field present, only first fragment have Mesh Control field present bit equal to 1; Submitted by: monthadar@gmail.com
* * Added IEEE80211_ACTION_CAT_MESH in ieee80211.h as specified amendment spec;adrian2012-03-041-0/+1
| | | | | | | | | | | | | | | | | * Moved old categories as specified by D4.0 to be action fields of MESH category as specified in amendment spec; * Modified functions to use MESH category and its action fields: + ieee80211_send_action_register + ieee80211_send_action + ieee80211_recv_action_register +ieee80211_recv_action; * Modified ieee80211_hwmp_init and hwmp_send_action so they uses correct action fields as specified in amendment spec; * Modified ieee80211_parse_action so that it verifies MESH frames. * Change Mesh Link Metric to use one information element as amendment spec. Draft 4.0 defined two different information elements for request and response. Submitted by: monthadar@gmail.com
* Update the 802.11s IE numbers to represent the latest 802.11 amendment standard.adrian2012-02-081-20/+25
| | | | | Submitted by: monthadar@gmail.com Reviewed by: rpaulo
* Update the mesh reason codes to match the latest 802.11s specification.adrian2012-02-061-13/+15
| | | | | Submitted by: <monthadar@gmail.com> Reviewed by: rpaulo
* Add 802.11h quiet time element support into net80211.adrian2011-11-081-0/+12
| | | | | | | | | | | | This supports both station and hostap modes: * Station mode quiet time element support listens to quiet time IE's and modifies the local quiet time configuration as appropriate; * Hostap mode both obeys the locally configured quiet time period and includes it in beacon frames so stations also can obey as needed. Submitted by: Himali Patel <himali.patel@sibridgetech.com> Sponsored by: Sibridge Technologies
* Add a new mgmt subtype "ACTION NO ACK" defined in 802.11n-2009, while herebschmidt2011-02-211-0/+1
| | | | | | | | | clean up parts of the *_recv_mgmt() functions. - make sure appropriate counters are bumped and debug messages are printed - order the unhandled subtypes by value and add a few missing ones - fix some whitespace nits - remove duplicate code in adhoc_recv_mgmt() - remove a useless comment, probably left in while c&p
* Update 802.11s mesh support to draft 3.03. This includes a revised framerpaulo2009-09-221-4/+6
| | | | | | | | format for peering and changes to the PERR frames. Note that this is incompatible with the previous code. Reviewed by: sam MFC after: 1 week
* Implementation of the upcoming Wireless Mesh standard, 802.11s, on therpaulo2009-07-111-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | net80211 wireless stack. This work is based on the March 2009 D3.0 draft standard. This standard is expected to become final next year. This includes two main net80211 modules, ieee80211_mesh.c which deals with peer link management, link metric calculation, routing table control and mesh configuration and ieee80211_hwmp.c which deals with the actually routing process on the mesh network. HWMP is the mandatory routing protocol on by the mesh standard, but others, such as RA-OLSR, can be implemented. Authentication and encryption are not implemented. There are several scripts under tools/tools/net80211/scripts that can be used to test different mesh network topologies and they also teach you how to setup a mesh vap (for the impatient: ifconfig wlan0 create wlandev ... wlanmode mesh). A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled by default on GENERIC kernels for i386, amd64, sparc64 and pc98. Drivers that support mesh networks right now are: ath, ral and mwl. More information at: http://wiki.freebsd.org/WifiMesh Please note that this work is experimental. Also, please note that bridging a mesh vap with another network interface is not yet supported. Many thanks to the FreeBSD Foundation for sponsoring this project and to Sam Leffler for his support. Also, I would like to thank Gateworks Corporation for sending me a Cambria board which was used during the development of this project. Reviewed by: sam Approved by: re (kensmith) Obtained from: projects/mesh11s
* Correct ieee80211_gettid:sam2009-06-091-0/+3
| | | | | | | | | | o don't increment extracted tid, this was a vestige of IEEE80211_NONQOS_TID being defined as 0 (w/ real tid's +1) o handle 4-address frames (add IEEE80211_IS_DSTODS to check if an 802.11 header is DSTODS) Submitted by: cbzimmer Reviewed by: avatar
* o correct/add action frame categoriessam2009-06-051-1/+5
| | | | o add IEEE80211_STATUS_MISSING_HT_CAPS, added in 11n D3.0 spec
* o station mode channel switch supportsam2009-06-041-1/+9
| | | | | | | | | | o IEEE80211_IOC_CHANSWITCH fixups: - restrict to hostap vaps - return EOPNOTSUPP instead of EINVAL when applied to !hostap vap or to a vap w/o 11h enabled - interpret count of 0 to mean cancel the current CSA Reviewed by: rpaulo, avatar
* add block ack frame idsam2009-05-181-0/+1
|
* promote ieee80211_seq typedefsam2009-05-021-0/+2
|
* o move tdma+superg protocol defs out of public viewsam2009-03-261-92/+5
| | | | | o add #ifdef _KERNEL to superg+tdma include files so they can be used by user code to get the protocol defs
* Minor cleanups of tdma protocol handling:sam2009-03-181-7/+23
| | | | | | | | | | | o break out version-related code to simplify rev'ing the protocol o add parameter validation macros so checks that appear multiple places are consistent (and easy to change) o add protocol version check when looking for a scan candidate o improve scan debug output format o rewrite beacon update handling to calculate a bitmask of changed values and pass that down through the driver callback so drivers can optimize work o do slot bounds check before use when parsing received beacons
* o make %b msg bit defines public (to user apps too)sam2009-01-271-0/+13
| | | | o rename IEEE80211_C_CRYPTO_BITS to IEEE80211_CRYPTO_BITS
* TDMA support for long distance point-to-point links using ath devices:sam2009-01-081-1/+23
| | | | | | | | | | | | | | | o add net80211 support for a tdma vap that is built on top of the existing adhoc-demo support o add tdma scheduling of frame transmission to the ath driver; it's conceivable other devices might be capable of this too in which case they can make use of the 802.11 protocol additions etc. o add minor bits to user tools that need to know: ifconfig to setup and configure, new statistics in athstats, and new debug mask bits While the architecture can support >2 slots in a TDMA BSS the current design is intended (and tested) for only 2 slots. Sponsored by: Intel
* o fix spelling of EOSPsam2008-09-211-4/+4
| | | | o correct SMPS values
* o fix BAR definitionssam2008-09-061-3/+15
| | | | o add 11e reason codes
* add WPS ouisam2008-08-061-0/+2
| | | | | Submitted by: "Chuck Tuffli" <chuck@tuffli.net> MFC after: 3 days
* add PLCP service bit definitionssam2008-05-111-0/+5
|
* Multi-bss (aka vap) support for 802.11 devices.sam2008-04-201-6/+13
| | | | | | | | | | | Note this includes changes to all drivers and moves some device firmware loading to use firmware(9) and a separate module (e.g. ral). Also there no longer are separate wlan_scan* modules; this functionality is now bundled into the wlan module. Supported by: Hobnob and Marvell Reviewed by: many Obtained from: Atheros (some bits)
* correct TID_TO_WME_AC handling of BEsam2007-11-231-1/+1
| | | | MFC after: 3 days
* correct MIMO power save action frame format;sam2007-11-141-2/+8
| | | | | | this one really is from the D2.04 spec MFC after: 3 days
* sync 11n support with vap code base; many changes based on interopsam2007-11-021-13/+17
| | | | | | testing with all major vendors MFC after: 1 week
* Miscellaneous fixups to 802.11 defs:sam2007-09-051-37/+62
| | | | | | | | | | | | | o update 11n definitions to D2.0 spec o add IEEE80211_CAPINFO_SPECTRUM_MGMT for DFS support o add CSA ie definition for DFS support o purge some unused definitions o correct 802.11 reason and status codes o correct reason code returned when a sta tries to associate to an ap operating with WPA/RSN but without a WPA/RSN ie Reviewed by: thompsa, avatar Approved by: re (blanket wireless)
* Update 802.11 wireless support:sam2007-06-111-136/+485
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o major overhaul of the way channels are handled: channels are now fully enumerated and uniquely identify the operating characteristics; these changes are visible to user applications which require changes o make scanning support independent of the state machine to enable background scanning and roaming o move scanning support into loadable modules based on the operating mode to enable different policies and reduce the memory footprint on systems w/ constrained resources o add background scanning in station mode (no support for adhoc/ibss mode yet) o significantly speedup sta mode scanning with a variety of techniques o add roaming support when background scanning is supported; for now we use a simple algorithm to trigger a roam: we threshold the rssi and tx rate, if either drops too low we try to roam to a new ap o add tx fragmentation support o add first cut at 802.11n support: this code works with forthcoming drivers but is incomplete; it's included now to establish a baseline for other drivers to be developed and for user applications o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates prepending mbufs for traffic generated locally o add support for Atheros protocol extensions; mainly the fast frames encapsulation (note this can be used with any card that can tx+rx large frames correctly) o add sta support for ap's that beacon both WPA1+2 support o change all data types from bsd-style to posix-style o propagate noise floor data from drivers to net80211 and on to user apps o correct various issues in the sta mode state machine related to handling authentication and association failures o enable the addition of sta mode power save support for drivers that need net80211 support (not in this commit) o remove old WI compatibility ioctls (wicontrol is officially dead) o change the data structures returned for get sta info and get scan results so future additions will not break user apps o fixed tx rate is now maintained internally as an ieee rate and not an index into the rate set; this needs to be extended to deal with multi-mode operation o add extended channel specifications to radiotap to enable 11n sniffing Drivers: o ath: add support for bg scanning, tx fragmentation, fast frames, dynamic turbo (lightly tested), 11n (sniffing only and needs new hal) o awi: compile tested only o ndis: lightly tested o ipw: lightly tested o iwi: add support for bg scanning (well tested but may have some rough edges) o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data o wi: lightly tested This work is based on contributions by Atheros, kmacy, sephe, thompsa, mlaier, kevlo, and others. Much of the scanning work was supported by Atheros. The 11n work was supported by Marvell.
* copyright updates:sam2007-06-061-7/+1
| | | | | | | o update to include 2007 o switch back to a 2-clause bsd-only license Reviewed by: onoe
* Fix packing on the country band descriptor. No real change since thisimp2006-12-011-1/+1
| | | | | | is unused. Reviewed by: sam
* o move min/max beacon interval and dtim period to public locationsam2006-07-261-0/+24
| | | | | | | o add min/max beacon miss threshold settings o delete IEEE80211_SWBMISS_THRESHOLD, it was never used MFC after: 2 weeks
* o add IEEE80211_FRAG_DEFAULTsam2005-07-221-3/+11
| | | | o move default settings for RTS and frag thresholds to ieee80211_var.h
* move AID implementation defines from the protocol definitions tosam2005-06-101-6/+0
| | | | where they are used
* remove netbsd rcsid lines; they are way out of date and we appear to besam2004-12-311-1/+0
| | | | diverging too much to make tracking these files worthwhile
* bump copyright for 2005sam2004-12-311-1/+1
|
* Update 802.11 support; too much new functionality to fully describesam2004-12-081-156/+258
| | | | | | here but it includes completed 802.11g, WPA, 802.11i, 802.1x, WME/WMM, AP-side power-save, crypto plugin framework, authenticator plugin framework, and access control plugin frameowrk.
* add definitions for WME, WPA (and WPA2), and miscellaneous other stuffsam2004-04-051-1/+145
| | | | | | that's coming soon Obtained from: madwifi
* Handle SIOCSIFMTU ioctl directly so we can apply 802.11-specific bounds.sam2004-01-131-1/+10
| | | | Note that the min is actually constrained to IF_MINMTU by the if layer.
* add definitions for various control frames and a minimum-sized frame thatsam2003-09-151-0/+51
| | | | | we use to define IEEE80211_MIN_LEN; the minimal length for frames drivers may pass up into the 802.11 layer
* revise copyright notices per discussion with Atsushi Onoe <onoe@sm.sony.co.jp>sam2003-06-271-11/+17
|
* new 802.11 layer:sam2003-06-231-0/+326
o code reorg (relative to old netbsd-derived code) for future growth o drivers now specify available channels and rates and 802.11 layer handles almost all ifmedia actions o multi-mode support for 11a/b/g devices o 11g protocol additions (incomplete) o new element id additions (for other than 11g) o node/station table redone for proper locking and to eliminate driver incestuousness o split device flags and capabilities to reduce confusion and provide room for expansion o incomplete power management infrastructure (need to revisit) o incomplete hooks for software retry o more...
OpenPOWER on IntegriCloud