summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Correct scan candidate selection logic for dual-band devices: prefersam2005-01-011-15/+15
| | | | | candidate on 5Ghz channel to candidate on 2Ghz channel only when the rssi are comparable (wasn't considering rssi).
* remove netbsd rcsid lines; they are way out of date and we appear to besam2004-12-312-2/+0
| | | | diverging too much to make tracking these files worthwhile
* bump copyright for 2005sam2004-12-3122-21/+22
|
* fixup inactivity timers:sam2004-12-312-5/+7
| | | | | | | | | | | | | o ic_inact_auth is a bad name, it's the inactivity threshold for being associated but not authorized; use it that way o reset ni_inact when switching inactivity thresholds to minimize the race against the timer (don't want to lock for this stuff) o change the inactivity probe threshold from a one-shot to cover a range: when below this threshold but not expired send a probe each inactivity interval; should probably guard against the interval being turned way down as this could cause us to spam the net with probes
* Relearn how WPA keying is supposed to work and fix WPA+WME whilesam2004-12-312-111/+129
| | | | | | | | | | | | | | | | | we're at it: o WPA/802.11i has a unicast key and a group key; in station mode everything is sent with the unicast key--we were consulting the destination mac address and incorrectly using the group key o (perpetuate fallback use of the default tx key to maintain compatibility with the way wpa_supplicant works) o correct EAPOL encryption logic to check unicast key instead of assuming other state implies this o move QoS encapsulation up to before enmic work so TKIP has the information required to calculate the pseudo-header o do not do QoS-encapsulation of EAPOL frames as some ap's do the wrong thing with such frames (may need to revisit this if ap's start dropping non-QoS frames from stations assoc'd with QoS) o move ieee80211_mbuf_adjust closer to its caller
* disable default use of wme until we can sort out interoperability issues;sam2004-12-311-2/+2
| | | | users that want it can explicitly enable it
* s/inline/__inline/sam2004-12-311-2/+2
|
* compare pointers against NULLsam2004-12-311-2/+2
|
* make ap mode sta association debug msg as informative as sta modesam2004-12-311-3/+8
|
* do 11g erp station management in turboG mode toosam2004-12-311-3/+6
|
* check if the node/station table is already present before creating one; thissam2004-12-311-8/+11
| | | | can happen on an ibss merge
* include phy mode in scan debug msgsam2004-12-311-2/+3
|
* accept IEEE80211_KEYIX_NONE for a default tx keysam2004-12-311-1/+2
|
* don't return prematurely from processing a beacon or probe response framesam2004-12-311-1/+2
| | | | | when associated; this corrects a problem where doing a scan while associated caused the associated ap to sometimes not be included in the scan set
* change ieee80211_parse_wmeparams to return a unique value when the iesam2004-12-311-3/+4
| | | | | is invalid so we can distinguish this from needing a parameter update; fixes dynamic update of wme parameters
* remove stray \n from debug msgsam2004-12-311-1/+1
|
* clear wep bit in 802.11 header after crypto decap so packetsam2004-12-311-0/+3
| | | | capture doesn't see it
* o add net.wlan.X.driver_caps mib variable for setting the driver capabilitiessam2004-12-311-3/+6
| | | | | flags for testing o debug msg consistency fixups
* correct pseudo-mic header calculation for QoS framessam2004-12-311-1/+6
|
* whitespace/debug msg fixupssam2004-12-312-8/+7
|
* add ieee80211_hdrspace and ieee80211_anyhdrspace to calculate the spacesam2004-12-311-0/+30
| | | | for an ieee80211 header taking into account padding requirements
* correct header length calculations on tx path for QoS-encapsulated framessam2004-12-313-5/+11
| | | | | when IEEE80211_F_DATAPAD is set (e.g. ath); must use ieee80211_hdrspace instead of ieee80211_hdrsize
* const'ify ivp referencesam2004-12-311-2/+2
|
* add/fixup debug msgssam2004-12-311-2/+15
|
* s/inline/__inline/sam2004-12-311-1/+1
|
* expose ieee80211_phymode_name for use in debug msgssam2004-12-312-1/+2
|
* correct module dependencysam2004-12-131-1/+1
|
* correct module dependencysam2004-12-131-1/+1
|
* cover up the landmine until there's a proper solutionsam2004-12-131-0/+4
|
* do not clear the global key cache when reaching the INIT statesam2004-12-121-1/+0
|
* remove module dependency on rc4; it's not needed any moresam2004-12-121-1/+0
|
* fix wep key seting: ENETRESET is the code to return to signal the driversam2004-12-101-1/+1
| | | | | | | should push software state to the hardware (was ERESTART which caused the system call to be retried) Submitted by: Tor Egge
* fixup printf arguments for 64-bit machinessam2004-12-084-11/+11
|
* Update 802.11 support; too much new functionality to fully describesam2004-12-0823-2187/+12388
| | | | | | 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-272-2/+2
| | | | | | | | | | | | | | | | | | | | | | 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.
* Link ALTQ to the build and break with ABI for struct ifnet. Please recompilemlaier2004-06-131-5/+0
| | | | | | | | | | | | your (network) modules as well as any userland that might make sense of sizeof(struct ifnet). This does not change the queueing yet. These changes will follow in a seperate commit. Same with the driver changes, which need case by case evaluation. __FreeBSD_version bump will follow. Tested-by: (i386)LINT
* Add some missing <sys/module.h> includes which are masked by thephk2004-05-301-0/+1
| | | | one on death-row in <sys/kernel.h>
* 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
OpenPOWER on IntegriCloud