summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Replace the if_name and if_unit members of struct ifnet with new membersbrooks2003-10-312-2/+2
| | | | | | | | | | | | | 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)
* 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-177-39/+174
| | | | to add per-node statistics
* fixup debug msgssam2003-10-171-3/+6
|
* include FH/DS parameters element in probe response framessam2003-10-171-0/+18
|
* correct commentsam2003-10-171-1/+1
|
* o add capability to indicate if device receives all management framessam2003-10-172-6/+18
| | | | | o use recv mgmt capability to decide if outbound frames should be discarded if no node table entry is present
* parameterize locking to improve portability and possiblesam2003-10-173-21/+29
| | | | change to different locking strategies
* Try yet again to deal with timing out nodes. We cannot hold thesam2003-09-263-6/+27
| | | | | | | | node lock while sending a management frame as this will potentially result in a LOR with a driver lock. This doesn't happen for the Atheros driver but does for the wi driver. Use a generation number to help process each node once when scanning the node table and drop the node lock if we need to timeout a node and send a frame.
* 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.
* allocate node table entries with a specific malloc typesam2003-09-261-2/+4
|
* correct spelling of IEEE80211_IOC_RTSTHRESHOLDsam2003-09-262-3/+3
|
* Generalize the per-node RSSI data so drivers can do more interestingsam2003-09-153-4/+17
| | | | | | | | | | | | things than record a single value. o add a per-node method for returning the "current RSSI" for a node o create a default method that returns ni_rssi which is the rssi for the last received frame o use the per-node "get rssi" method to return data for the RID's submitted by wicontrol, et. al. Loosely based on work by Tom Marshall <tommy@home.tig-grr.com> for MADWIFI.
* 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.
* 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
* Honor the short preamble capability/state flag when calculating thesam2003-09-141-1/+12
| | | | | | | | capabilities for outbound management frames. But beware of sending this when operating on 5GHz channels; some 11a AP's reject association requests if this bit is set in the capabilities listed. Obtained from: MADWIFI (with modifications)
* short preamble capability is not just for 11g; mark IEEE80211_F_SHPREAMBLEsam2003-09-141-3/+3
| | | | | | regardless of the operating mode Obtained from: MADWIFI
* Experimental bpf capture format for 802.11 devices. The link layersam2003-09-051-0/+185
| | | | | | | | type belongs in net/bpf.h but we keep it here for the moment. P: Submittep by: Obtained from: David Young <dyoung@pobox.com>
* o correct logic that checks frame size to decide if a cluaster is neededsam2003-09-011-1/+2
| | | | | | o add an assertion to check the max possible packet size Noticed by: David Young <dyoung@pobox.com>
* MFp4 changes to fix locking issues and correct referencesam2003-08-196-134/+186
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* Delay creating ic_bss until after the super-class has a chancesam2003-08-133-0/+14
| | | | | | | | to override the method pointers for manipulating nodes; this fixes a problem where the ic_bss node was not being created properly for the ath driver causing the driver to scribble on random memory. Noticed by: David Young <dyoung@pobox.com>
* 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-214-1/+25
|
* o change ieee80211_new_state handling to use a proper method that driverssam2003-07-208-57/+70
| | | | | | | | | 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
* insure ic_bss always has a "valid" channel; avoids problems where users couldsam2003-06-291-1/+2
| | | | | query the state of a card and find a null channel since allocating the node left ni_chan zero
* use proper length to copy data for WI_RID_DESIRED_SSID (was smashingsam2003-06-291-1/+1
| | | | ic_des_chan that immediately follows)
* add safeguard against (bogus) null channel parametersam2003-06-291-1/+4
|
* revise copyright notices per discussion with Atsushi Onoe <onoe@sm.sony.co.jp>sam2003-06-2713-215/+221
|
* fix typosam2003-06-271-1/+1
| | | | Submitted by: "Norman Diamond \(ITS\)" <n_diamond@its.jp>
* 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-2313-0/+5719
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