summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_output.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
...
* fix SSID IE in the case where HIDENWID is used.damien2007-07-031-2/+2
| | | | HIDENWID has been broken from the very beginning.
* initial bits for proper TIM support.damien2007-07-021-1/+38
|
* split ieee80211_send_mgmt() like I did for ieee80211_recv_mgmt()damien2007-07-021-271/+402
|
* add EDCA Parameter Set and QoS capability IEs to appropriate framesdamien2007-06-211-5/+65
| | | | when QoS is supported and activated.
* add two new functions:damien2007-06-211-4/+135
| | | | | | | | | | ieee80211_up_to_ac(): returns the access category to be used for transmitting a frame with a given user priority. ieee80211_classify(): returns the user-priority of an mbuf based on VLAN 802.1D user-priority (if any) or IP TOS precedence field. indent prototypes and add myself to the copyright list while i'm here.
* don't mix u_int{8,16,32}_t and uint{8,16,32}_tdamien2007-06-161-3/+3
| | | | use u_int{8,16,32}_t everywhere.
* de-staticdamien2007-06-161-3/+7
| | | | ok jsg@
* adds 802.11e EDCA tables for QAPs and non-AP QSTAs.damien2007-06-111-1/+100
| | | | | | not used yet. ok jsg@ deraadt@
* move ieee80211_compute_duration() and ieee80211_compute_duration1()damien2007-06-071-168/+1
| | | | | | | | | | functions into the two drivers that use them (atw and rtw.) this code is not generic enough to be used by other drivers and there is no chance that it will ever be used in newer driver since it supports 802.11b only. plus, it hurts my eyes each time i look into ieee80211_output.c. "fine with me as long as the logic doesn't change in the functions" jsg@
* The license permits us to redistribute this code under the BSD or the GPLv2.damien2007-06-061-5/+1
| | | | | | Choose the BSD license so that future enhancements will be BSD-only. ok jsg@ reyk@ deraadt@
* print the phy mode in IFF_DEBUG status output which helps to debugreyk2006-12-251-3/+5
| | | | | | dual/multi mode chipset operation. ok jsg@
* Add two new functions:damien2006-11-031-1/+55
| | | | | | | | | - ieee80211_get_rts - ieee80211_get_cts_to_self that can be use by drivers for chipsets that don't offer hardware assisted RTS/CTS protection (like ral/ural/rum). "no objections here" jsg@
* add the net80211 hostap options "nwflag hidenwid" for hidden SSID modereyk2006-06-271-2/+5
| | | | | | | | and "nwflag nobridge" to prevent inter-station communications. "hidenwid" will also work with wi(4) to replace the old -E 3 option of wicontrol. ok damien@ jmc@
* Improve 802.11b/g interoperability and move toward better compliancedamien2006-06-181-35/+90
| | | | | | | | | | | | | | | | | with IEEE Std 802.11g-2003 standard: - add ERP Information Element in probe responses and beacons - keep track of the number of associated non-ERP STAs and non-short slot time capable STAs in the BSS - enable use of RTS/CTS or CTS-to-self protection when required by the BSS - add a ic_updateslot() callback to notify drivers of slot time changes - cleanup computation of mgmt frames sizes in ieee80211_output.c - nuke unnecessary <sys/cdefs.h> includes - remove an unused macro (LOGICALLY_EQUAL) while i'm here From {free,net}bsd, with additional fixes. ok brad@, reyk@
* account for the size of a 802.11 header in ieee80211_getmbuf().damien2006-05-211-5/+8
| | | | | | fix some typos while i'm here. ok reyk@ brad@
* use ieee80211_add_ssid() in ieee80211_beacon_alloc() and wpi(4) insteaddamien2006-05-191-5/+2
| | | | | | of duplicating the code. last commit was ok reyk@
* - export ieee80211_add_ssid() just like ieee80211_add_(x)rates() so I don'tdamien2006-05-191-13/+9
| | | | | | need to duplicate the code in wpi(4) - fix ieee80211_alloc_beacon() - clean two comments while i'm here
* With the exception of two other small uncommited diffs this movesbrad2006-03-041-2/+2
| | | | | | the remainder of the network stack from splimp to splnet. ok miod@
* Fix kernel builds without bpfilter. Linking is still broken.damien2006-02-201-4/+1
| | | | "Please commit this diff ASAP" brad@
* Disable shared key mode until we have a way for the user to specifymillert2006-01-111-5/+7
| | | | | | that they explicitly want it. What we have currently doesn't seem to work anyway. Add support for specifying a status type when sending managemnent frames; adapted from FreeBSD. OK jsg@
* mostly knfreyk2005-09-081-46/+41
| | | | ok jsg@
* Remove the last of the FreeBSD compatiblity goop.jsg2005-09-081-8/+10
| | | | ok reyk@
* Remove FreeBSD if_printf compat function from net80211.jsg2005-09-081-9/+12
| | | | ok reyk@
* Remove FreeBSD/NetBSD ifdef mess. We are not likely to bejsg2005-09-071-36/+1
| | | | | doing a wholesale merge with them in future. very enthusiastic ok from reyk@
* send raw 802.11 frames with bpf(4) using the IEEE802_11 orreyk2005-04-201-1/+110
| | | | | | IEEE802_11_RADIO data link types. ok canacar@ damien@
* Make sure we associate an interface with the m_pkthdr injsg2005-03-111-1/+2
| | | | | ieee80211_beacon_alloc. ok damien@ reyk@
* addtion of a generic function for allocating beacons: ieee80211_beacon_alloc().damien2005-03-031-1/+91
| | | | ok jsg@, reyk@, dlg@
* Fix a problem introduced with the recent lru cache change.jsg2005-02-261-2/+3
| | | | | Check that we actually have a node before trying to release it. This was causing a panic when playing with IBSS. ok reyk@
* derived from NetBSD:reyk2005-02-171-11/+8
| | | | | | | | | | | | | | | | | | --- Make the node table into an LRU cache: least-recently used nodes are at the end of the node queue. Change the reference-counting discipline: ni->ni_refcnt indicates how many times net80211 has granted ni to the driver. Every node in the table with ni_refcnt=0 is eligible to be garbage-collected. The mere presence of a node in the table does not any longer indicate its auth/assoc state; nodes have a ni_state variable, now. While I am here, patch ieee80211_find_node_for_beacon to do a "best match" by bssid/ssid/channel, not a "perfect match." This keeps net80211 from caching duplicate nodes in the table. --- ok deraadt@ dlg@, looks good jsg@
* Sync with recent NetBSD ieee80211_compute_duration() changes.jsg2004-12-281-63/+43
|
* From dyoung@NetBSD:jsg2004-12-231-18/+28
| | | | | | | | | | | | | | | | | | | | | | | | | ieee80211.h r 1.9 #define the difference in microseconds between a fast and a slow preamble and PLCP header. ieee80211_output.c r 1.19 Fix a bug in ieee80211_compute_duration: the 802.11 Duration field in an 802.11 unicast data packet is equal to the duration of the SIFS and Acknowledgement. That is, the amount of time reserved *after* the packet has finished transmitting. Change the arguments to ieee80211_compute_duration: pass the entire packet length, not just the payload length. Add a 'debug' argument to ieee80211_compute_duration and its helper subroutine, ieee80211_compute_duration1. If debug != 0, ieee80211_compute_duration printfs its arguments and several local variables. In rtw(4), load the 802.11 Duration field with the result from ieee80211_compute_duration.
* From dyoung@NetBSD:jsg2004-12-231-1/+176
| | | | | | | | | | | | | | | | | Define for more bits in the Service field of the 802.11 PLCP Header. For use by the subroutine ieee80211_compute_duration, add struct ieee80211_duration, and #define a number of microsecond constants used for the transmit timing of 802.11 packets. Add the subroutine ieee80211_compute_duration, which computes for any packet the appropriate 802.11 Duration field, the PLCP Length field, as well as the Duration and Length fields for an RTS frame. atw(4), rtw(4), future drivers, and possibly ath(4) will share ieee80211_compute_duration. ok millert@
* Import current NetBSD/FreeBSD 802.11 framework.millert2004-06-221-0/+671
Based in part on a diff from Matthew Gream.