aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Correct scan candidate selection logic for dual-band devices: preferSam Leffler2005-01-011-15/+15
| | | | | | | | candidate on 5Ghz channel to candidate on 2Ghz channel only when the rssi are comparable (wasn't considering rssi). Notes: svn path=/head/; revision=139543
* remove netbsd rcsid lines; they are way out of date and we appear to beSam Leffler2004-12-312-2/+0
| | | | | | | diverging too much to make tracking these files worthwhile Notes: svn path=/head/; revision=139531
* bump copyright for 2005Sam Leffler2004-12-3122-21/+22
| | | | Notes: svn path=/head/; revision=139530
* fixup inactivity timers:Sam Leffler2004-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 Notes: svn path=/head/; revision=139528
* Relearn how WPA keying is supposed to work and fix WPA+WME whileSam Leffler2004-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 Notes: svn path=/head/; revision=139527
* disable default use of wme until we can sort out interoperability issues;Sam Leffler2004-12-311-2/+2
| | | | | | | users that want it can explicitly enable it Notes: svn path=/head/; revision=139526
* s/inline/__inline/Sam Leffler2004-12-311-2/+2
| | | | Notes: svn path=/head/; revision=139525
* compare pointers against NULLSam Leffler2004-12-311-2/+2
| | | | Notes: svn path=/head/; revision=139524
* make ap mode sta association debug msg as informative as sta modeSam Leffler2004-12-311-3/+8
| | | | Notes: svn path=/head/; revision=139523
* do 11g erp station management in turboG mode tooSam Leffler2004-12-311-3/+6
| | | | Notes: svn path=/head/; revision=139522
* check if the node/station table is already present before creating one; thisSam Leffler2004-12-311-8/+11
| | | | | | | can happen on an ibss merge Notes: svn path=/head/; revision=139521
* include phy mode in scan debug msgSam Leffler2004-12-311-2/+3
| | | | Notes: svn path=/head/; revision=139520
* accept IEEE80211_KEYIX_NONE for a default tx keySam Leffler2004-12-311-1/+2
| | | | Notes: svn path=/head/; revision=139519
* don't return prematurely from processing a beacon or probe response frameSam Leffler2004-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 Notes: svn path=/head/; revision=139517
* change ieee80211_parse_wmeparams to return a unique value when the ieSam Leffler2004-12-311-3/+4
| | | | | | | | is invalid so we can distinguish this from needing a parameter update; fixes dynamic update of wme parameters Notes: svn path=/head/; revision=139516
* remove stray \n from debug msgSam Leffler2004-12-311-1/+1
| | | | Notes: svn path=/head/; revision=139515
* clear wep bit in 802.11 header after crypto decap so packetSam Leffler2004-12-311-0/+3
| | | | | | | capture doesn't see it Notes: svn path=/head/; revision=139514
* o add net.wlan.X.driver_caps mib variable for setting the driver capabilitiesSam Leffler2004-12-311-3/+6
| | | | | | | | flags for testing o debug msg consistency fixups Notes: svn path=/head/; revision=139512
* correct pseudo-mic header calculation for QoS framesSam Leffler2004-12-311-1/+6
| | | | Notes: svn path=/head/; revision=139511
* whitespace/debug msg fixupsSam Leffler2004-12-312-8/+7
| | | | Notes: svn path=/head/; revision=139510
* add ieee80211_hdrspace and ieee80211_anyhdrspace to calculate the spaceSam Leffler2004-12-311-0/+30
| | | | | | | for an ieee80211 header taking into account padding requirements Notes: svn path=/head/; revision=139509
* correct header length calculations on tx path for QoS-encapsulated framesSam Leffler2004-12-313-5/+11
| | | | | | | | when IEEE80211_F_DATAPAD is set (e.g. ath); must use ieee80211_hdrspace instead of ieee80211_hdrsize Notes: svn path=/head/; revision=139508
* const'ify ivp referenceSam Leffler2004-12-311-2/+2
| | | | Notes: svn path=/head/; revision=139506
* add/fixup debug msgsSam Leffler2004-12-311-2/+15
| | | | Notes: svn path=/head/; revision=139504
* s/inline/__inline/Sam Leffler2004-12-311-1/+1
| | | | Notes: svn path=/head/; revision=139503
* expose ieee80211_phymode_name for use in debug msgsSam Leffler2004-12-312-1/+2
| | | | Notes: svn path=/head/; revision=139502
* correct module dependencySam Leffler2004-12-131-1/+1
| | | | Notes: svn path=/head/; revision=138817
* correct module dependencySam Leffler2004-12-131-1/+1
| | | | Notes: svn path=/head/; revision=138816
* cover up the landmine until there's a proper solutionSam Leffler2004-12-131-0/+4
| | | | Notes: svn path=/head/; revision=138777
* do not clear the global key cache when reaching the INIT stateSam Leffler2004-12-121-1/+0
| | | | Notes: svn path=/head/; revision=138720
* remove module dependency on rc4; it's not needed any moreSam Leffler2004-12-121-1/+0
| | | | Notes: svn path=/head/; revision=138711
* fix wep key seting: ENETRESET is the code to return to signal the driverSam Leffler2004-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 Notes: svn path=/head/; revision=138663
* fixup printf arguments for 64-bit machinesSam Leffler2004-12-084-11/+11
| | | | Notes: svn path=/head/; revision=138609
* Update 802.11 support; too much new functionality to fully describeSam Leffler2004-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. Notes: svn path=/head/; revision=138568
* Add a new network interface flag, IFF_NEEDSGIANT, which will allowRobert Watson2004-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. Notes: svn path=/head/; revision=132712
* Link ALTQ to the build and break with ABI for struct ifnet. Please recompileMax Laier2004-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 Notes: svn path=/head/; revision=130416
* Add some missing <sys/module.h> includes which are masked by thePoul-Henning Kamp2004-05-301-0/+1
| | | | | | | one on death-row in <sys/kernel.h> Notes: svn path=/head/; revision=129876
* Link state change notification of ethernet media to the routing socket.Andre Oppermann2004-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 Notes: svn path=/head/; revision=128966
* Resolve the issue of whether frames have FCS or not. Frame data does notSam Leffler2004-04-051-0/+5
| | | | | | | | | include FCS; if you want to provide it you can put it in the header. Submitted by: David Young Notes: svn path=/head/; revision=127917
* eliminate nested include by making MALLOC_DECLARE conditional on theSam Leffler2004-04-052-1/+2
| | | | | | | | | inclusion of <sys/malloc.h> Submitted by: bde Notes: svn path=/head/; revision=127916
* add definitions for WME, WPA (and WPA2), and miscellaneous other stuffSam Leffler2004-04-051-1/+145
| | | | | | | | | that's coming soon Obtained from: madwifi Notes: svn path=/head/; revision=127903
* export the malloc type M_80211_NODE for drivers that override the nodeSam Leffler2004-04-052-0/+3
| | | | | | | allocation routines Notes: svn path=/head/; revision=127877
* make malloc tag for ieee80211_node more recognizableSam Leffler2004-04-051-1/+1
| | | | Notes: svn path=/head/; revision=127876
* Change handling of probe response frames. Previously we always dropped theSam Leffler2004-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). Notes: svn path=/head/; revision=127774
* fix adhoc/ibss operation for drivers that require host support (e.g. ath):Sam Leffler2004-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) Notes: svn path=/head/; revision=127772
* always free node reference when processing a probe request frame; wasSam Leffler2004-04-021-7/+2
| | | | | | | | conditionally doing an unref if operating in adhoc mode which turns out to be wrong Notes: svn path=/head/; revision=127771
* o change ieee80211_dup_bss to inherit explicit data from ic_bss instead ofSam Leffler2004-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 Notes: svn path=/head/; revision=127770
* track node allocation failure stats in ieee80211_alloc_node insteadSam Leffler2004-04-022-9/+5
| | | | | | | | | of each caller Obtained from: madwifi Notes: svn path=/head/; revision=127769
* replace explicit malloc/free with MALLOC/FREE for portabilitySam Leffler2004-04-021-3/+5
| | | | | | | Obtained from: madwifi Notes: svn path=/head/; revision=127768
* extract node matching logic into new ieee80211_match_bss routine for useSam Leffler2004-04-021-54/+66
| | | | | | | | | in background/incremental scanning Obtained from: madwifi Notes: svn path=/head/; revision=127767