summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_output.c
Commit message (Collapse)AuthorAgeFilesLines
* add statistics for all failures and/or abnormal events; still needsam2003-10-171-11/+14
| | | | to add per-node statistics
* include FH/DS parameters element in probe response framessam2003-10-171-0/+18
|
* o add capability to indicate if device receives all management framessam2003-10-171-6/+17
| | | | | o use recv mgmt capability to decide if outbound frames should be discarded if no node table entry is present
* 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)
* 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-191-37/+104
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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)
* add monitor modesam2003-07-211-0/+3
|
* 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/+485
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