summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_input.c
Commit message (Collapse)AuthorAgeFilesLines
* 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