summaryrefslogtreecommitdiffstats
path: root/sys/net80211
Commit message (Collapse)AuthorAgeFilesLines
* Hoist 802.11 encapsulation up into net80211:sam2009-03-3010-24/+402
| | | | | | | | | | | | | | | | | | | | | | | | | | o call ieee80211_encap in ieee80211_start so frames passed down to drivers are already encapsulated o remove ieee80211_encap calls in drivers o fixup wi so it recreates the 802.3 head it requires from the 802.11 header contents o move fast-frame aggregation from ath to net80211 (conditional on IEEE80211_SUPPORT_SUPERG): - aggregation is now done in ieee80211_start; it is enabled when the packets/sec exceeds ieee80211_ffppsmin (net.wlan.ffppsmin) and frames are held on a staging queue according to ieee80211_ffagemax (net.wlan.ffagemax) to wait for a frame to combine with - drivers must call back to age/flush the staging queue (ath does this on tx done, at swba, and on rx according to the state of the tx queues and/or the contents of the staging queue) - remove fast-frame-related data structures from ath - add ieee80211_ff_node_init and ieee80211_ff_node_cleanup to handle per-node fast-frames state (we reuse 11n tx ampdu state) o change ieee80211_encap calling convention to include an explicit vap so frames coming through a WDS vap are recognized w/o setting M_WDS With these changes any device able to tx/rx 3Kbyte+ frames can use fast-frames. Reviewed by: thompsa, rpaulo, avatar, imp, sephe
* Fix typo in comment.rpaulo2009-03-301-1/+1
|
* MFP mesh11s:rpaulo2009-03-301-1/+1
| | | | Add mesh debugging bit replacing the now deprecated RADKEYS.
* o add ic_rt to track the rate table for the current channel; this enablessam2009-03-296-0/+9
| | | | | calculation of packet transmit times to do things like check txop limits o remove equivalent driver code and convert to use net80211 state
* toggling fast-frames requires clocking the state machinesam2009-03-291-1/+1
|
* Eliminate ic_myaddr so changing the mac address of a device works correctly:sam2009-03-294-6/+7
| | | | | | | | | | | o remove ic_myaddr from ieee80211com o change ieee80211_ifattach to take the mac address of the physical device and use that to setup the lladdr. o replace all references to ic_myaddr in drivers by IF_LLADDR o related cleanups (e.g. kill dead code) PR: kern/133178 Reviewed by: thompsa, rpaulo
* o move tdma+superg protocol defs out of public viewsam2009-03-265-93/+106
| | | | | o add #ifdef _KERNEL to superg+tdma include files so they can be used by user code to get the protocol defs
* Fix enough bits so that fast frames work again:sam2009-03-264-15/+59
| | | | | | o include ath ie in beacon frames o fix probe response check for including ath ie o add ieee80211_add_athcap shorthand for ap-side ie additions
* dynamic turbo mode is only implemented in sta mode; don't enable itsam2009-03-261-1/+3
| | | | for other operating modes based on the capability
* need to adjust htinfo offset when csa is insertedsam2009-03-261-0/+1
|
* adjust tdma ie offset when beacon frame contents changessam2009-03-261-0/+6
|
* shuffle code so things build w/o INVARIANTS or IEEE80211_SUPPORT_SUPERGsam2009-03-251-3/+3
| | | | Prodded by: several
* hide linker set stuff from user spacesam2009-03-241-1/+1
|
* split Atheros SuperG support out into it's own file that's included onlysam2009-03-2414-508/+666
| | | | with a new IEEE80211_SUPPORT_SUPERG option
* add linker sets for get/set ioctl handlers so optional net80211sam2009-03-244-34/+69
| | | | code is isolated
* use IEEE80211_SUPPORT_TDMA option to control whether code issam2009-03-241-2/+0
| | | | configured; this allows us to remove an #ifdef
* Remove leftover comment because we now use a flag to check for associd.rpaulo2009-03-191-1/+0
| | | | Discussed with: sam
* Fix typo in comment.rpaulo2009-03-191-1/+1
|
* Use plural in a comment. No functional change.rpaulo2009-03-181-1/+1
|
* rate limit printfs for invalid tdma ie contents; probably want this tosam2009-03-182-7/+12
| | | | be less than 1/sec
* Minor cleanups of tdma protocol handling:sam2009-03-185-61/+118
| | | | | | | | | | | o break out version-related code to simplify rev'ing the protocol o add parameter validation macros so checks that appear multiple places are consistent (and easy to change) o add protocol version check when looking for a scan candidate o improve scan debug output format o rewrite beacon update handling to calculate a bitmask of changed values and pass that down through the driver callback so drivers can optimize work o do slot bounds check before use when parsing received beacons
* add the desired channel to the scan list if not already present andsam2009-03-041-0/+27
| | | | compatible with other scan controls
* Add memmove() to the kernel, making the kernel compile with Clang.ed2009-02-281-2/+0
| | | | | | | | | | | | When copying big structures, LLVM generates calls to memmove(), because it may not be able to figure out whether structures overlap. This caused linker errors to occur. memmove() is now implemented using bcopy(). Ideally it would be the other way around, but that can be solved in the future. On ARM we don't do add anything, because it already has memmove(). Discussed on: arch@ Reviewed by: rdivacky
* For all files including net/vnet.h directly include opt_route.h andbz2009-02-271-0/+2
| | | | | | | | | | | | | | net/route.h. Remove the hidden include of opt_route.h and net/route.h from net/vnet.h. We need to make sure that both opt_route.h and net/route.h are included before net/vnet.h because of the way MRT figures out the number of FIBs from the kernel option. If we do not, we end up with the default number of 1 when including net/vnet.h and array sizes are wrong. This does not change the list of files which depend on opt_route.h but we can identify them now more easily.
* change tdma slave behaviour: if the channel is locked don't do bmiss handlingsam2009-02-221-3/+6
| | | | | | (so no scanning/roaming) Reviewed by: Chris Anderson
* display min/max dwell times in msecs in debug msgssam2009-02-221-3/+4
|
* mark nodes created by way of neighbor discovery need to be marked as ERPsam2009-02-201-0/+4
| | | | so they get the correct tx parameters setup by node_settxparms
* o reset aggressive mode flag; it was being left set after marking ansam2009-02-201-1/+2
| | | | | interface down o only allow the first vap to initialize shared wme parameters
* misc cleanup of wme parameter settingsam2009-02-201-63/+46
|
* use 1/2 and 1/4 rate phy types to simplify txtime calculationsam2009-02-191-81/+73
|
* Add modes for 1/2 and 1/4-width channels so we have separate roamingsam2009-02-199-8/+69
| | | | | | | | | | | | | | | | | | and xmit parameters. This makes it possible to use tdma on fractional channels. o add IEEE80211_MODE_HALF and IEEE80211_MODE_QUARTER; note these are band-agnostic (may need revisiting) o setup all default rates in ic_sup_rates instead of doing it only for active modes; we need these to calculate the default tx parameters which are not recalculated after a regulatory update (can't just recalculate after installing a new channel list because we might clobber user settings) o remove special case code in ieee80211_get_suprates; this is now a candidate for an inline or removal o add various entries for new modes (roaming+tx params, wme, rate mapping, scan set setup, country ie construction, tdma, basic rates) Note these modes are intentionally not visible through if_media.
* o looseen abi dependencies on IEEE80211_MODE_MAX by accepting smallersam2009-02-191-49/+31
| | | | | | parameters for IEEE80211_IOC_ROAM and IEEE80211_IOC_TXPARAMS; this lets us add more modes and still have old apps work o consolidate loops to remote assumptions about mode ordering
* use c99 initializerssam2009-02-192-112/+112
|
* o consolidate loops to eliminate assumptions about ordering of modessam2009-02-191-13/+10
| | | | o replace 0x80 by IEEE80211_RATE_MCS
* Change country ie construction to simplify forthcoming changes:sam2009-02-191-11/+17
| | | | | o use c99 initializer for skipflags o calculate band flags instead of statically listing them in the table
* use c99 initializersam2009-02-191-10/+13
|
* simplify setting up the roaming parameters; writing default parameters onlysam2009-02-191-43/+29
| | | | | for active modes hasn't turned out to be useful so just define a const table and copy it in place
* check ptr against NULLsam2009-02-191-1/+1
|
* instead of special casing lookups for the 11na/g legacy rate set, justsam2009-02-192-8/+4
| | | | install the rates once when creating the com structure
* add phy types for 1/2 and 1/4-rate modessam2009-02-191-0/+2
|
* remove ic_stats; it was intended to accumulate stats from vaps as theysam2009-02-133-3/+0
| | | | were reaped but was never used and is inaccessible
* strip M_FRAG & co mbufs coming down from ip_output, these flags aresam2009-02-131-1/+2
| | | | | re-used within net80211 to mark 802.11 frags so allowing them to leak through to the driver caused packets to be dropped in ath
* o replace ieee80211_node_reclaim by individual operations to release thesam2009-02-121-60/+2
| | | | | | | | | | references to iv_bss and the sta table; this is equivalent and causes direct reclaim of the old bss node when any references in packets inflight are reclaimed (previously the old node would sit in the bss table until the inactivity processing reclaimed it) o remove ieee80211_node_reclaim now that it's only use is gone Reviewed by: avatar, cbzimmer
* Add a ieee80211_waitfor_parent() function that will wait for all deferredthompsa2009-02-124-2/+18
| | | | | | | | parent interface tasks to complete. This had been added to the ioctl path but it is also need elsewhere like detach so its safe to teardown. Reported by: Hans Petter Selasky Submitted by: sam
* improve key index map reclaim debug msgsam2009-02-111-6/+5
|
* oops, fix octal escape sequencesam2009-02-111-1/+1
|
* remove bogus reference reclaim on the slave-side bss node on beacon misssam2009-02-111-1/+0
|
* fix mis-numbering of IEEE80211_MSG_BITSsam2009-02-111-4/+4
|
* when operating as a slave, clear neighbor entries and the peer bss nodesam2009-02-101-2/+16
| | | | | | on beacon miss while here, remove a stray pointless write of iv_bmiss_count
* clean neighbor entries on beacon misssam2009-02-101-1/+13
|
OpenPOWER on IntegriCloud