summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* guard against adhoc_pick_channel returning a NULL channel; this cansam2008-09-271-3/+6
| | | | happen after a scan cache flush (e.g. in response to ifconfig wlan bssid -)
* must do a deep copy of mcast packets as they can be modified after dispatchsam2008-09-251-1/+1
| | | | Submitted by: "Jared Go" <jared@hobnob.com>
* Use db_printsym to lookup and print the function pointers.thompsa2008-09-251-40/+46
|
* cleanup bss node setup; syncs w/ p4 state that's been in use for monthssam2008-09-221-8/+10
|
* cleanup after mergesam2008-09-221-1/+0
|
* Fix handling of shortgi: use the local configuration (and implicitlysam2008-09-223-2/+25
| | | | | device capabilities) to decide whether to use short gi. Drivers inspect ni_flags to decide whether to send a frame w/ short sgi.
* RIFS support; needs driver callback for dynamic state changesam2008-09-228-8/+54
|
* MIMO power save support; still needs callbacks for notifying driverssam2008-09-218-6/+88
| | | | of dynamic state change in station mode.
* Revamp ht ie handling:sam2008-09-214-49/+110
| | | | | | | | | | | | | | | o change ieee80211_parse_htcap and ieee80211_parse_htinfo to save only internal state obtained from the ie's; no dynamic state such as ni_chw is altered o add ieee80211_ht_updateparams to parse ht cap+info ie's and update dynamic node state o change ieee80211_ht_node_init to not take an htcap ie that is parsed; instead have the caller make a separate call as one caller wants to parse the ie while another wants to parse both cap+info ie's and update state so can better do this with ieee80211_ht_updateparams These changes fix sta mode state handling where the node's channel width was shifted to ht20/ht40 prematurely.
* don't propagate ht bss occupancy changes to legacy vaps;sam2008-09-211-0/+3
| | | | they won't have an htinfo ie to update
* o widen ni_flags as it's going to be full shortlysam2008-09-211-17/+17
| | | | o shuffle members to minimize holes
* Add current transmit parameters for fixed rate handling so driverssam2008-09-212-0/+46
| | | | | | | | | | | don't duplicate this. These are setup according to the role of the node--the bss node for ap and adhoc modes need to use parameters that are the least common denomimator of all nodes in the bss; otherwise we are setting up params for a station joining a bss and we select those according to the capabilities of the station. This stuff needs more work as we do extra work due to having setup in common code paths shared by nodes using both roles.
* change ieee80211_ampdu_stop to take an explicit reason codesam2008-09-212-6/+8
|
* simplify debug msgsam2008-09-211-3/+2
|
* Crypto api changes:sam2008-09-214-48/+54
| | | | | | | | | | | | | | o don't use the key index to identify when the driver has been asked to allocate a key slot, use an explicit flag; allows drivers to force s/w fallback for entries in the global table o change callback api to allocate driver resources for a crypto key: - de-const the key parameter so drivers can muck with the flags - on callback failure don't automatically try to setup s/w crypto; instead the driver must now mark the key entry for s/w crypto and the caller will re-attach the cipher module NB: api change permits drivers more control over fallback to s/w crypto (e.g. based on a limited number of h/w key slots)
* Cleanup AMPDU handling:sam2008-09-217-62/+78
| | | | | | | | | | | | | | | | | | | | | | For receive: o explicitly tag rx frames w/ M_AMPDU instead of passing frames through the reorder processing according to the node having HT and the frame being QoS data o relax ieee80211_ampdu_reorder asserts to allow any frame to be passed in, unsuitable frames are returned to the caller for normal processing; this permits drivers that cannot inspect the PLCP to mark all data frames as potential ampdu candidates with only a small penalty o add M_AMPDU_MPDU to identify frames resubmitted from the reorder q For transmit: o tag aggregation candidates with M_AMPDU_MPDU o fix the QoS ack policy set in ampdu subframes; we only support immediate BA streams which should be marked for "normal ack" to get implicit block ack behaviour; interestingly certain vendor parts BA'd frames with the 11e BA ack policy set o do not assign a sequence # to aggregation candidates; this must be done when frames are submitted for transmit (NB: this can/will be handled better when aggregation is pulled up to net80211)
* Always update ic_lastnonht so we track overlapping legacy bsssam2008-09-211-10/+9
| | | | | | | properly; was doing this only on a change in the protection mode so the advertised protection mode in the beacon would oscillate. Submitted by: Chris Zimmermann
* Cleanup starting seq# for tx ampdu:sam2008-09-213-7/+9
| | | | | | o use txa_start to form the addba request and purge txa_seqstart o fill txa_start before calling ic_addba_request to permit drivers to override when they handle seq# generation (e.g. mwl)
* o fix spelling of EOSPsam2008-09-211-4/+4
| | | | o correct SMPS values
* Fix clone destruction, can't use the simple api because that does not removethompsa2008-09-201-1/+1
| | | | | | the ifnet from cloner's list. Expose if_clone_destroyif api to do this. Submitted by: sam
* make all checks if ni_chw consistentsam2008-09-062-2/+2
|
* use c99 syntax for initializers; this silencessam2008-09-061-99/+95
| | | | warnings with picky compiler settings
* only return the negotiated ampdu density for sta modesam2008-09-061-1/+2
|
* o kill IEEE80211_NODE_PSUPDATE; it was never usedsam2008-09-062-9/+5
| | | | | o kill IEEE80211_NODE_CHWUPDATE; it's use was pointless and it was defined wrong (overlap w/ existing flags)
* put back placeholder commentsam2008-09-061-0/+1
|
* o validate the ba policy in addba responsesam2008-09-062-2/+29
| | | | | 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
* add IEEE80211_NODE_HT_ALL to collect up all the HT-related node flagssam2008-09-062-2/+4
|
* don't do ampdu reordering of fragments; they should never happensam2008-09-061-1/+15
|
* moreve the aggregation q; it's not being used andsam2008-09-063-12/+0
| | | | there's a better way to do this
* o show key indices w/o adjustmentsam2008-09-061-7/+11
| | | | o display all key flags symbolically
* purge ni_reqcw; not used and never will besam2008-09-062-3/+2
|
* o fix BAR definitionssam2008-09-061-3/+15
| | | | o add 11e reason codes
* fix age calculations (yet again); entries in the q have valuessam2008-09-061-1/+1
| | | | | | relative to the head MFC after: 3 days
* Replace a line matching /^ $/ with one matching /^$/.brooks2008-09-031-1/+1
| | | | Obtained from: //depot/projects/vimage-commit2/...
* free ifp allocated at ieee80211_vap_setup.weongyo2008-09-021-0/+2
| | | | Reviewed by: sam, thompsa
* Fixing INVARIANTS build by adding 'z' format prefix for size_t typedavatar2008-08-291-1/+1
| | | | | | variable. Reminded by: tinderbox
* Fix mic calculation when final data is entirely in a trailing mbuf;sam2008-08-291-1/+19
| | | | | | | | | it's unclear if this can happen on freebsd but does appear on netbsd. Identified by Matthias Drochner who came up with an initial change that we then revised together. Reviewed by: thompsa, sephe, avatar MFC after: 2 weeks
* This instance of ifnet got forgotten.julian2008-08-251-2/+2
|
* Verify that the WPA flags set are actually compatible with theimp2008-08-091-4/+13
| | | | | | | driver's set of valid flags. Otherwise, wpa_supplicant wouldn't report an error for old wi cards that can't do WPA. Reviewed by: sam@
* add WPS ouisam2008-08-061-0/+2
| | | | | Submitted by: "Chuck Tuffli" <chuck@tuffli.net> MFC after: 3 days
* add missing lock for htinfo updatesam2008-08-021-0/+2
| | | | Submitted by: Chris Zimmermann
* correct decap of of AppleTalk and IPX frames; don't strip the SNAPsam2008-08-021-1/+4
| | | | | | header as they have one natively Submitted by: Chris Zimmermann
* add a sysctl to deliver a radar event for testingsam2008-08-021-0/+20
|
* schedule the correct timer when receiving a radar event during CACsam2008-08-021-1/+1
|
* don't deauth a station because it sends a ps-poll w/ a bogus aid in it;sam2008-07-261-2/+8
| | | | | | | | | turns out some devices do this and since we otherwise validate the station is associated and don't use the aid for anything being lenient here allows them to function Submitted by: Chris Zimmermann MFC after: 2 weeks
* reorder RSN/WPA2 ie in beacon and probe response frames to complysam2008-07-071-13/+13
| | | | | | with IEEE802.11-2007 spec Submitted by: Chris Zimmermann
* correct construction of delba action frame; don't shift+mask the initiatorsam2008-07-051-1/+1
| | | | | | argument Submitted by: Marvell
* Change the calling convention for ic_node_alloc to deal withsam2008-06-072-5/+7
| | | | | | | | | | | | some longstanding issues: o pass the vap since it's now the "coin of the realm" and required to do things like set initial tx parameters in private node state for use prior to association o pass the mac address as cards that maintain outboard station tables require this to create an entry (e.g. in ibss mode) o remove the node table reference, we only have one node table and it's unlikely this will change so this is not needed to find the com structure
* Split ieee80211_notify_erp into locked and unlocked variantssam2008-06-071-4/+12
| | | | | | | and use the locked version to handle the hostap input path case where the com lock is not already held. Noticed by: Jared Go
* Fix node cleanup issues when the last reference is held bysam2008-06-071-16/+27
| | | | | the driver (e.g. in the tx q); ni_vap may not be valid, we must carefully check before using it.
OpenPOWER on IntegriCloud