summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_proto.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Clarify/fix handling of the current channel:sam2005-08-101-2/+2
| | | | | | | | | | | | | | | | | | | o add ic_curchan and use it uniformly for specifying the current channel instead of overloading ic->ic_bss->ni_chan (or in some drivers ic_ibss_chan) o add ieee80211_scanparams structure to encapsulate scanning-related state captured for rx frames o move rx beacon+probe response frame handling into separate routines o change beacon+probe response handling to treat the scan table more like a scan cache--look for an existing entry before adding a new one; this combined with ic_curchan use corrects handling of stations that were previously found at a different channel o move adhoc neighbor discovery by beacon+probe response frames to a new ieee80211_add_neighbor routine Reviewed by: avatar Tested by: avatar, Michal Mertl MFC after: 2 weeks
* split xmit of probe request frame out into a separate routine thatsam2005-07-221-2/+5
| | | | | | | takes explicit parameters; this will be needed when scanning is decoupled from the state machine to do bg scanning MFC after: 3 days
* simplify ieee80211_node_authorize and ieee80211_node_unauthorize api'ssam2005-07-221-1/+1
| | | | MFC after: 3 days
* simplify rate set api's by removing ic parameter (implicit in node reference)sam2005-07-221-1/+2
| | | | MFC after: 3 days
* o add IEEE80211_FRAG_DEFAULTsam2005-07-221-5/+1
| | | | o move default settings for RTS and frag thresholds to ieee80211_var.h
* diff reduction against p4: define IEEE80211_FIXED_RATE_NONE and usesam2005-07-221-2/+3
| | | | it instead of -1
* when operating in ap mode, explicitly drop associated/authenticatedsam2005-07-041-19/+25
| | | | | | | stations when transitioning to INIT state (e.g. as a result of changing state at the 802.11 level) Approved by: re (scottl)
* Don't clock the state machine in various cases when roaming is setsam2005-06-071-6/+11
| | | | to manual; this helps keep wpa_supplicant in sync.
* noop change so RUN->RUN transition isn't considered invalidsam2005-01-241-1/+2
| | | | (it happens on ibss merge)
* statically allocate the station/neighbor node table; the deferredsam2005-01-241-12/+3
| | | | | allocation scheme introduced a race condition during device state transitions
* when scanning is interrupted reset state so table entries go in the stationsam2005-01-181-1/+3
| | | | | | table and not the scan table Noticed by: Tai-hwa Liang
* bump copyright for 2005sam2004-12-311-1/+1
|
* do not clear the global key cache when reaching the INIT statesam2004-12-121-1/+0
|
* Update 802.11 support; too much new functionality to fully describesam2004-12-081-101/+658
| | | | | | 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 a new network interface flag, IFF_NEEDSGIANT, which will allowrwatson2004-07-271-1/+1
| | | | | | | | | | | | | | | | | | | | | | device drivers to declare that the ifp->if_start() method implemented by the driver requires Giant in order to operate correctly. Add a 'struct task' to 'struct ifnet' that can be used to execute a deferred ifp->if_start() in the event that if_start needs to be called in a Giant-free environment. To do this, introduce if_start(), a wrapper function for ifp->if_start(). If the interface can run MPSAFE, it directly dispatches into the interface start routine. If it can't run MPSAFE, we're running with debug.mpsafenet != 0, and Giant isn't currently held, the task is queued to execute in a swi holding Giant via if_start_deferred(). Modify if_handoff() to use if_start() instead of direct dispatch. Modify 802.11 to use if_start() instead of direct dispatch. This is intended to provide increased compatibility for non-MPSAFE network device drivers in the presence of Giant-free operation via asynchronous dispatch. However, this commit does not mark any network interfaces as IFF_NEEDSGIANT.
* insure basic rate bit is set in derived rate set; thissam2004-04-021-1/+10
| | | | | works around a protocol/firmware problem with some versions found in hermes/prism cards
* o add support for controlling the power of transmitted framessam2004-03-301-0/+1
| | | | | | | o add support for controlling the 11g protection mechanism used to protect OFDM frames in a mixed 11b/g network Reviewed by: imp
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-311-1/+1
| | | | | | | | | | | | | if_xname, if_dname, and if_dunit. if_xname is the name of the interface and if_dname/unit are the driver name and instance. This change paves the way for interface renaming and enhanced pseudo device creation and configuration symantics. Approved By: re (in principle) Reviewed By: njl, imp Tested On: i386, amd64, sparc64 Obtained From: NetBSD (if_xname)
* parameterize locking to improve portability and possiblesam2003-10-171-4/+4
| | | | change to different locking strategies
* Correct rate set negotiation when operating as a station: if thesam2003-09-261-2/+11
| | | | | | | AP has basic rates that we do not support then ignore them instead of marking the rate set in error. This fixes an 11b station associating with an 11g/b AP.
* o change ieee80211_new_state handling to use a proper method that driverssam2003-07-201-21/+20
| | | | | | | | | 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
|
* new 802.11 layer:sam2003-06-231-0/+508
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