summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_ioctl.h
Commit message (Collapse)AuthorAgeFilesLines
* Revert unwanted changes in revision 203422.rpaulo2010-02-061-3/+3
| | | | Spotted by: sam
* When taking the AMPDU reorder fastpath, need_tap wasn't beingrpaulo2010-02-031-3/+3
| | | | | | initialized. Initialize on declaration to avoid this. Found with: clang static analyzer
* The isr_intval in ieee80211req_scan_result structure should be 16 bit.rpaulo2009-11-091-1/+1
| | | | | | | | This makes ifconfig list scan display the correct beacon interval (previously it would int overflow). As a side effect, this makes the ieee80211req_scan_result word aligned. Submitted by: Paul B Mahol <onemda at gmail.com>
* Mesh fixes, namely:rpaulo2009-07-271-2/+6
| | | | | | | | | | | | * don't clobber proxy entries * HWMP seq number processing, including discard of old frames * flush routing table entries based on nexthop * print route flags in ifconfig * more debugging messages and comments Proxy changes submitted by sam. Approved by: re (kib)
* More mesh bits, namely:rpaulo2009-07-201-2/+16
| | | | | | | | | | | | | | * bridge support (sam) * handling of errors (sam) * deletion of inactive routing entries * more debug msgs (sam) * fixed some inconsistencies with the spec. * decap is now specific to mesh (sam) * print mesh seq. no. on ifconfig list mesh * small perf. improvements Reviewed by: sam Approved by: re (kib)
* Move code that does payload realigment to a new routine, ieee80211_realign,sam2009-07-181-1/+2
| | | | | | | so it can be reused. While here rewrite the logic to always use a single mbuf. Reviewed by: rpaulo Approved by: re (kib)
* Implementation of the upcoming Wireless Mesh standard, 802.11s, on therpaulo2009-07-111-1/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* mark struct ieee80211req_maclist packed so sizeof works as intended on arm;sam2009-07-101-1/+1
| | | | | | fixes "list mac" Approved by: re (kensmith)
* Rev IEEE80211_IOC_STA_INFO abi: ni_flags grew from 16 bits to 32sam2009-06-131-1/+2
| | | | | | | | bits but isi_state did not follow; expand it to 32 bits and pad to maintain alignment. Note this is an incompatible change that requires rebuilding of user applications. Submitted by: rpaulo, cbzimmer, avatar
* reserve ioc's for Greenfield and STBCsam2009-06-051-0/+2
|
* pad data structures to enable integration of future features w/o abi breakagesam2009-06-011-2/+7
|
* Hoist 802.11 encapsulation up into net80211:sam2009-03-301-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | o call ieee80211_encap in ieee80211_start so frames passed down to drivers are already encapsulated o remove ieee80211_encap calls in drivers o fixup wi so it recreates the 802.3 head it requires from the 802.11 header contents o move fast-frame aggregation from ath to net80211 (conditional on IEEE80211_SUPPORT_SUPERG): - aggregation is now done in ieee80211_start; it is enabled when the packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames are held on a staging queue according to ieee80211_ffagemax (net.wlan.ffagemax) to wait for a frame to combine with - drivers must call back to age/flush the staging queue (ath does this on tx done, at swba, and on rx according to the state of the tx queues and/or the contents of the staging queue) - remove fast-frame-related data structures from ath - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle per-node fast-frames state (we reuse 11n tx ampdu state) o change ieee80211_encap calling convention to include an explicit vap so frames coming through a WDS vap are recognized w/o setting M_WDS With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames. Reviewed by: thompsa, rpaulo, avatar, imp, sephe
* Remove assumptions about the max # channels in ioctl's:sam2009-01-271-6/+21
| | | | | | | | | o change ioctl's that pass channel lists in/out to handle variable-size arrays instead of a fixed (compile-time) value; we do this in a way that maintains binary compatibility o change ifconfig so all channel list data structures are now allocated to hold MAXCHAN entries (1536); this, for example, allows the kernel to return > IEEE80211_CHAN_MAX entries for calls like IEEE80211_IOC_DEVCAPS
* TDMA support for long distance point-to-point links using ath devices:sam2009-01-081-2/+9
| | | | | | | | | | | | | | | 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
* RIFS support; needs driver callback for dynamic state changesam2008-09-221-0/+1
|
* MIMO power save support; still needs callbacks for notifying driverssam2008-09-211-0/+1
| | | | of dynamic state change in station mode.
* o validate the ba policy in addba responsesam2008-09-061-1/+2
| | | | | o leave a check for the max ba window disabled; we accept out of range values and just truncate them but may want to act differently in the future
* Multi-bss (aka vap) support for 802.11 devices.sam2008-04-201-31/+222
| | | | | | | | | | | 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)
* sync 11n support with vap code base; many changes based on interopsam2007-11-021-2/+22
| | | | | | testing with all major vendors MFC after: 1 week
* correct channel flags returned by IEEE80211_IOC_STA_INFO; we needsam2007-11-021-1/+1
| | | | | | to return all 32-bits to identify stations operating with HT MFC after: 1 week
* o move IEEE80211_NONQOS_TID into a public locationsam2007-09-181-2/+3
| | | | | | o add IEEE80211_TID_SIZE and replace all the nake constants Approved by: re (blanket wireless)
* Fixup sta inactivity handling:sam2007-09-061-0/+1
| | | | | | | | | | | | o reset ni_inact when ni_inact_reload is changed so we're assured a valid setting o never let ni_inact go negative o add a knob to disable hostap sta idle handling (e.g. so it can be done by a user application) o remove bogus reload on associate Reviewed by: avatar Approved by: re (blanket wireless)
* Update 802.11 wireless support:sam2007-06-111-188/+236
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* More statistics fixups:sam2006-08-101-3/+5
| | | | | | | | | | | | | | | | | o change rssi to be signed in ieee80211_nodestats o add noise floor in ieee80211_nodestats (use an implicit hole to preserve layout); return it as zero until we can update the api's so the driver can provide noise floor data o add a bandaid so IEEE80211_IOC_STA_STATS works for sta mode; when all nodes are in the station table this will no longer be needed o fix braino in IEEE80211_IOC_STA_INFO implementation; was supposed to take a mac address and return info for that sta or all stations if ff:ff:ff:ff:ff was supplied--but somehow this didn't get implemented; implement the intended semantics and leave a compat shim at the old ioctl number for the previous api Reviewed by: mlaier MFC after: 3 weeks
* minor fixups:sam2006-08-101-1/+4
| | | | | | | | | o add some missing stats to the global stat structure o move accounting work for data frame rx into ieee80211_deliver_data o add per-sta stats for rx ucast/mcast frames o set rcvif in ieee80211_deliver_data so callers don't need to MFC after: 2 weeks
* add IEEE80211_IOC_BMISSTHRESHOLD for managing the beacon misssam2006-07-261-0/+1
| | | | | | | threshold Submitted by: Henrik Brix Andersen <henrik@brixandersen.dk> MFC after: 2 weeks
* Rev ioctl to get scan results:sam2006-01-181-5/+11
| | | | | | | | | | | | | | | | o lock the list walk o malloc a results buffer instead of copying out one result at a time using an on-stack buffer o fix definition of ieee80211req_scan_result so size of variable-length information elements is large enough to hold all possible ie's (still only return wpa+wme, at some point may return all) o make rssi+noise data signed; they should've been so all along o add a bit more padding for future additions while we're here o define a new ioctl for new api and add compat code for old ioctl under COMPAT_FREEBSD6 (temporarily enabled local to the file) Reviewed by: Scott Long MFC after: 2 weeks
* make packet bursting configurable (default to on if device is capable)sam2005-12-141-0/+1
|
* add fixed rate for sending multicast framessam2005-12-121-0/+1
| | | | | Obtained from: atheros MFC after: 1 week
* Extend acl support to pass ioctl requests through and use this tosam2005-08-131-0/+6
| | | | | | | | add support for getting the current policy setting and collecting the list of mac addresses in the acl table. Submitted by: Michal Mertl (original version) MFC after: 2 weeks
* Cleanup beacon/listen interval handling:sam2005-08-081-1/+2
| | | | | | | | | | | | | | | | | o separate configured beacon interval from listen interval; this avoids potential use of one value for the other (e.g. setting powersavesleep to 0 clobbers the beacon interval used in hostap or ibss mode) o bounds check the beacon interval received in probe response and beacon frames and drop frames with bogus settings; not clear if we should instead clamp the value as any alteration would result in mismatched sta+ap configuration and probably be more confusing (don't want to log to the console but perhaps ok with rate limiting) o while here up max beacon interval to reflect WiFi standard Noticed by: Martin <nakal@nurfuerspam.de> MFC after: 1 week
* add stats we know we'll need soon and some spare fields for future expansionsam2005-07-221-0/+8
| | | | MFC after: 3 days
* o add IEEE80211_IOC_FRAGTHRESHOLD for getting+setting thesam2005-07-221-0/+1
| | | | | | | tx fragmentation threshold o fix bounds checking on IEEE80211_IOC_RTSTHRESHOLD MFC after: 3 days
* add "pureg" mode for ap operation: reject association requests fromsam2005-07-061-0/+1
| | | | | | | 11b-only stations when operating in 11g Reviewed by: avatar Approved by: re (scottl)
* Change the MLME ASSOCIATE ioctl to accept either a ssid, a bssid,sam2005-06-071-0/+2
| | | | | | | or a bssid+ssid. This is needed for later versions of wpa_supplicant and for forthcoming addons to wpa_supplicant. Note this is an api change and applications must be rebuilt.
* bump copyright for 2005sam2004-12-311-1/+1
|
* Relearn how WPA keying is supposed to work and fix WPA+WME whilesam2004-12-311-0/+1
| | | | | | | | | | | | | | | | | we're at it: o WPA/802.11i has a unicast key and a group key; in station mode everything is sent with the unicast key--we were consulting the destination mac address and incorrectly using the group key o (perpetuate fallback use of the default tx key to maintain compatibility with the way wpa_supplicant works) o correct EAPOL encryption logic to check unicast key instead of assuming other state implies this o move QoS encapsulation up to before enmic work so TKIP has the information required to calculate the pseudo-header o do not do QoS-encapsulation of EAPOL frames as some ap's do the wrong thing with such frames (may need to revisit this if ap's start dropping non-QoS frames from stations assoc'd with QoS) o move ieee80211_mbuf_adjust closer to its caller
* Update 802.11 support; too much new functionality to fully describesam2004-12-081-7/+323
| | | | | | 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.
* o add support for controlling the power of transmitted framessam2004-03-301-0/+5
| | | | | | | o add support for controlling the 11g protection mechanism used to protect OFDM frames in a mixed 11b/g network Reviewed by: imp
* add statistics for all failures and/or abnormal events; still needsam2003-10-171-0/+46
| | | | to add per-node statistics
* correct spelling of IEEE80211_IOC_RTSTHRESHOLDsam2003-09-261-1/+1
|
* 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/+78
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