summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_input.c
Commit message (Collapse)AuthorAgeFilesLines
...
* pull some debug msgs up so they're seen more oftensam2005-06-101-11/+10
|
* kick the state machine when we receive failure notice from an ap (whensam2005-06-101-4/+13
| | | | | operating in sta mode); this speeds up the state machine, previously we were acting on a timeout
* discard open auth requests in adhoc modesam2005-06-101-11/+4
|
* reject open auth requests when shared key auth is configuredsam2005-06-101-0/+13
| | | | Obtained from: Atheros
* add ieee80211_send_error to encapsulate an idiomsam2005-06-101-18/+38
|
* o always check if ic_set_tim is !NULL before using itsam2005-06-101-3/+8
| | | | o add missing call to clear tim after flushing ps q
* mark state for protection only when operating in 11gsam2005-06-101-2/+4
|
* don't reject station based on the PRIVACY bit in the capabilities;sam2005-06-101-6/+2
| | | | | | the 802.11 spec says not to Obtained from: Atheros
* correct checks for rate set compatibilitysam2005-06-101-8/+6
|
* record tstamp from beacons received in station mode when associated;sam2005-06-101-0/+3
| | | | | this is needed by drivers that want to resync their timers based on the tsf of the last recv'd beacon frame
* o collect dtim period+count from beacons in station mode so driverssam2005-06-091-2/+17
| | | | | | | can better program beacon timers o leave placeholder in com structure for future ap/adhoc mode tim support Reviewed by: avatar
* add force flag to enmic/demic crypto api for use in xmit fragmentationsam2005-06-061-1/+1
| | | | | | and h/w mic verification Reviewed by: avatar
* change ieee80211_input to return the frame type or -1sam2005-04-041-5/+7
|
* when WPA is enabled discard association requests w/o a WPA iesam2005-03-261-0/+14
| | | | Submitted by: Divy Le Ray
* eliminate use after free in debug codesam2005-03-161-3/+3
| | | | Noticed by: Coverity Prevent analysis tool
* kill dead codesam2005-03-161-2/+1
| | | | Noticed by: Coverity Prevent analysis tool
* mark timestamp for pending fragmentssam2005-02-231-0/+2
| | | | Noticed by: Jeffrey D. Chung
* statically allocate the station/neighbor node table; the deferredsam2005-01-241-9/+9
| | | | | allocation scheme introduced a race condition during device state transitions
* when ssid suppression is enabled don't respond to probe requestssam2005-01-221-0/+8
| | | | unless our ssid is specified
* correct logic that caused beacon frames received in ibss mode to besam2005-01-181-1/+1
| | | | discarded when not scanning
* move beacon/probe response counting down to after we've decided whether orsam2005-01-181-9/+9
| | | | | not we're going to process the frame; this makes the counters reflect frames actually processes instead of received (discarded frames were already counted)
* bump copyright for 2005sam2004-12-311-1/+1
|
* fixup inactivity timers:sam2004-12-311-2/+0
| | | | | | | | | | | | | o ic_inact_auth is a bad name, it's the inactivity threshold for being associated but not authorized; use it that way o reset ni_inact when switching inactivity thresholds to minimize the race against the timer (don't want to lock for this stuff) o change the inactivity probe threshold from a one-shot to cover a range: when below this threshold but not expired send a probe each inactivity interval; should probably guard against the interval being turned way down as this could cause us to spam the net with probes
* don't return prematurely from processing a beacon or probe response framesam2004-12-311-1/+2
| | | | | when associated; this corrects a problem where doing a scan while associated caused the associated ap to sometimes not be included in the scan set
* change ieee80211_parse_wmeparams to return a unique value when the iesam2004-12-311-3/+4
| | | | | is invalid so we can distinguish this from needing a parameter update; fixes dynamic update of wme parameters
* remove stray \n from debug msgsam2004-12-311-1/+1
|
* clear wep bit in 802.11 header after crypto decap so packetsam2004-12-311-0/+3
| | | | capture doesn't see it
* Update 802.11 support; too much new functionality to fully describesam2004-12-081-417/+1916
| | | | | | 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.
* Link ALTQ to the build and break with ABI for struct ifnet. Please recompilemlaier2004-06-131-5/+0
| | | | | | | | | | | | your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation. __FreeBSD_version bump will follow. Tested-by: (i386)LINT
* Change handling of probe response frames. Previously we always dropped thesam2004-04-021-2/+27
| | | | | | | | | | | refcnt on the node but left it in the node table. This allows the node table to hold the results of scanned ap's but for ibss scans left nodes w/o any driver-private state setup and/or a bad refcnt (when the nodes were timed out they were prematurely discarded). Now we treat nodes identified for ap scanning as before but force nodes discovered when scanning for ibss neighbors to have complete/proper state and hold the refcnt on the node. Any other nodes created because of these frames are discarded directly (need to optimize this case to eliminate various work that's immediately discarded).
* always free node reference when processing a probe request frame; wassam2004-04-021-7/+2
| | | | | conditionally doing an unref if operating in adhoc mode which turns out to be wrong
* track node allocation failure stats in ieee80211_alloc_node insteadsam2004-04-021-9/+3
| | | | | | of each caller Obtained from: madwifi
* when processing beacon/probe response frames capture "is probe" in asam2004-04-021-6/+6
| | | | | | | variable to improve code legibility since we're going to use it more in forthcoming mods Obtained from: madwifi
* add a case of IEEE80211_ELEMID_IBSSPARMS so the statistic on unknownsam2004-04-021-0/+2
| | | | | | elements is more meaningful (will add more with WPA merge) Obtained from: madwifi
* when doing internal bridging free the node instead of just dropping thesam2004-04-021-1/+1
| | | | | | reference for consistency (explicit refcounting is discouraged) Obtained from: madwifi
* when receiving a frame w/ a bad version number don't unref the node; thesam2004-04-021-1/+0
| | | | | | driver is responsible for that Obtained from: madwifi
* Add support for FH phy, which will be used by awi driver.onoe2004-01-151-2/+5
| | | | | Also some if_media constants to indicate operational mode are changed to bitmasks to reduce diffs from NetBSD.
* fix station mode breakage (repeat after me: "test every change, nosam2003-10-171-13/+24
| | | | matter how small...")
* add statistics for all failures and/or abnormal events; still needsam2003-10-171-23/+83
| | | | to add per-node statistics
* fixup debug msgssam2003-10-171-3/+6
|
* Change input handling to not expect drivers to filter short frames.sam2003-09-151-6/+24
| | | | | | | | In particular, let drivers send up control frames so we can dispatch them to bpf in monitor mode. This is the first (small) step to adding more functionality such as power save mode.
* MFp4 changes to fix locking issues and correct referencesam2003-08-191-73/+55
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | count handling of station entries in hostap mode: Input path: o driver is now expected to find the node associated with the sender of a received frame; use ic_bss if none is located o driver passes the (referenced) node into ieee80211_input for use within the wlan module and is responsible for cleaning up on return o the antenna state is no longer passed up with each frame; this is now considered driver-private state and drivers are responsible for keeping it in the driver-private part of a node Output path: Revamp output path for management frames to eliminate redundant locking that causes problems and to correct reference counting bogosity that occurs when stations are timed out due to inactivity (in AP mode). On output the refcnt'd node is stashed in the pkthdr's recvif field (yech) and retrieved by the driver. This eliminates an unref/ref scenario and related node table unlock/lock due to the driver looking up the node. This is particularly important when stations are timed out as this causes a lock order reversal that can result in a deadlock. As a byproduct we also reduce the overhead for sending management frames (minimal). Additional fallout from this is a change to ieee80211_encap to return a refcn't node for tieing to the outbound frame. Node refcnts are not reclaimed until after a frame is completely processed (e.g. in the tx interrupt handler). This is especially important for timed out stations as this deref will be the final one causing the node entry to be reclaimed. Additional semi-related changes: o replace m_copym use with m_copypacket (optimization) o add assert to verify ic_bss is never free'd during normal operation o add comments explaining calling conventions by drivers for frames going in each direction o remove extraneous code that "cannot be executed" (e.g. because pointers may never be null)
* Use IEEE80211_RATE_MAXSIZE instead of IEEE80211_RATE_SIZE to validate thesam2003-08-131-4/+4
| | | | | | rate set element id from an AP. This allows stations to associate with AP's that violate the 802.11 spec by sending >8 rates. This corrects a recent regression; older code did likewise.
* add monitor modesam2003-07-211-0/+7
|
* o change ieee80211_new_state handling to use a proper method that driverssam2003-07-201-6/+10
| | | | | | | | | override in their sub-class; this eliminates the hack of interpreting the EINPROGRESS return value to mean "don't do any of the normal work" o correct active scanning so the first channel is only scanned once and so per-channel passive mode is properly honored o expose 802.11 FSM state names so every driver doesn't keep a private copy o eliminate node parameter to ieee80211_begin_scan; it was not being used
* revise copyright notices per discussion with Atsushi Onoe <onoe@sm.sony.co.jp>sam2003-06-271-21/+17
|
* add commentsam2003-06-261-0/+2
|
* fix tcpdump -y IEEE802_11; NBPFILTER was a holdover from netbsd compatibilitysam2003-06-251-6/+0
|
* new 802.11 layer:sam2003-06-231-0/+1093
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