summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Link state change notification of ethernet media to the routing socket.andre2004-05-051-1/+10
| | | | | | | o The ieee80211_media_status() function updates the ifi_link_state field and calls rt_ifmsg() to notify listeners on the routing socket. Approved by: sam
* Resolve the issue of whether frames have FCS or not. Frame data does notsam2004-04-051-0/+5
| | | | | | include FCS; if you want to provide it you can put it in the header. Submitted by: David Young
* eliminate nested include by making MALLOC_DECLARE conditional on thesam2004-04-052-1/+2
| | | | | | inclusion of <sys/malloc.h> Submitted by: bde
* add definitions for WME, WPA (and WPA2), and miscellaneous other stuffsam2004-04-051-1/+145
| | | | | | that's coming soon Obtained from: madwifi
* export the malloc type M_80211_NODE for drivers that override the nodesam2004-04-052-0/+3
| | | | allocation routines
* make malloc tag for ieee80211_node more recognizablesam2004-04-051-1/+1
|
* Change handling of probe response frames. Previously we always dropped thesam2004-04-021-2/+27
| | | | | | | | | | | refcnt on the node but left it in the node table. This allows the node table to hold the results of scanned ap's but for ibss scans left nodes w/o any driver-private state setup and/or a bad refcnt (when the nodes were timed out they were prematurely discarded). Now we treat nodes identified for ap scanning as before but force nodes discovered when scanning for ibss neighbors to have complete/proper state and hold the refcnt on the node. Any other nodes created because of these frames are discarded directly (need to optimize this case to eliminate various work that's immediately discarded).
* fix adhoc/ibss operation for drivers that require host support (e.g. ath):sam2004-04-024-36/+79
| | | | | | | | | | | | o remove IEEE80211_C_RCVMGT capability o on transmit craft new nodes as needed using new ieee80211_find_txnode routine o add ieee80211_find_txnode routine to lookup a node by mac address and if not present create one when operating in ibss/ahdemo mode; new nodes are dup'd from bss and the driver is told to treat the node as if a new association has been created so driver-private state (e.g. rate control handling) is setup Obtained from: netbsd (basic idea)
* always free node reference when processing a probe request frame; wassam2004-04-021-7/+2
| | | | | conditionally doing an unref if operating in adhoc mode which turns out to be wrong
* o change ieee80211_dup_bss to inherit explicit data from ic_bss instead ofsam2004-04-021-2/+7
| | | | | | | | blindy copying the node contents; this turns out to be a bad idea as we add more state in the node for things like WPA o track node allocation failures in ieee80211_dup_bss instead of the callers Obtained from: madwifi
* track node allocation failure stats in ieee80211_alloc_node insteadsam2004-04-022-9/+5
| | | | | | of each caller Obtained from: madwifi
* replace explicit malloc/free with MALLOC/FREE for portabilitysam2004-04-021-3/+5
| | | | Obtained from: madwifi
* extract node matching logic into new ieee80211_match_bss routine for usesam2004-04-021-54/+66
| | | | | | in background/incremental scanning Obtained from: madwifi
* diff reduction against madwifisam2004-04-021-3/+5
|
* when processing beacon/probe response frames capture "is probe" in asam2004-04-021-6/+6
| | | | | | | variable to improve code legibility since we're going to use it more in forthcoming mods Obtained from: madwifi
* add a case of IEEE80211_ELEMID_IBSSPARMS so the statistic on unknownsam2004-04-021-0/+2
| | | | | | elements is more meaningful (will add more with WPA merge) Obtained from: madwifi
* when doing internal bridging free the node instead of just dropping thesam2004-04-021-1/+1
| | | | | | reference for consistency (explicit refcounting is discouraged) Obtained from: madwifi
* when receiving a frame w/ a bad version number don't unref the node; thesam2004-04-021-1/+0
| | | | | | driver is responsible for that Obtained from: madwifi
* 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
* diff reduction against madwifi/p4sam2004-04-021-2/+2
|
* o add support for controlling the power of transmitted framessam2004-03-305-0/+54
| | | | | | | o add support for controlling the 11g protection mechanism used to protect OFDM frames in a mixed 11b/g network Reviewed by: imp
* Only call if_init when doing SIOCSIFADDR if the interface is not markedsam2004-03-301-0/+60
| | | | | | up (IFF_UP). This eliminates extraneous AP scanning. Reviewed by: imp
* Add explicit dependency on "ether", since we use ether_ifattach().mux2004-03-161-0/+1
|
* Change WI_RID_SCAN_RES compatibility interface to return the result afteronoe2004-01-191-1/+2
| | | | | | active scan is completed just as WI_RID_READ_APS. This fixes wicontrol -L for ath(4) and awi(4) to have results even if the driver cannot associate any APs.
* Add support for FH phy, which will be used by awi driver.onoe2004-01-153-46/+72
| | | | | Also some if_media constants to indicate operational mode are changed to bitmasks to reduce diffs from NetBSD.
* Handle SIOCSIFMTU ioctl directly so we can apply 802.11-specific bounds.sam2004-01-132-1/+18
| | | | Note that the min is actually constrained to IF_MINMTU by the if layer.
* Sync with netbsd:sam2003-12-281-43/+60
| | | | | | | | | | | | | | | | | o #ifdef _KERNEL the fallback definition for DLT_IEEE802_11_RADIO o fix many comments o rename antenna stuff and fix units/reference signal o change IEEE80211_RADIOTAP_DBM_TX_POWER from unsigned 16-bit value to a signed 8-bit value o change IEEE80211_RADIOTAP_FLAGS from 16 bits to 8 bits to simplify padding requirements o drop IEEE80211_RADIOTAP_TIME o change IEEE80211_RADIOTAP_ANTENNA from 16 bits to 8 bits o drop IEEE80211_RADIOTAP_PAD o add channel flag definitions for outside the kernel so radiotap doesn't depend on stuff in ieee80211*.h Obtained from: NetBSD
* o insure the current channel is in a good state before starting an AP scansam2003-11-131-13/+44
| | | | | | | o reject scan requests for a device that isn't marked up This fixes a problem where requesting a scan before marking the device up would cause a panic because the current channel was set to "any" (0xffff).
* fix typo that broke AP scanning by BSSIDsam2003-11-091-2/+1
| | | | Submitted by: Len Widra
* Fix a reversed suser(9) in SIOCG80211:IEEE80211_IOC_WEPKEY which preventsgreen2003-11-051-1/+1
| | | | root from reading the wireless card's WEP keys, but allows non-root.
* 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)
OpenPOWER on IntegriCloud