ieee80211.9 (211397) | ieee80211.9 (233648) |
---|---|
1.\" 2.\" Copyright (c) 2009 Sam Leffler, Errno Consulting 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24.\" SUCH DAMAGE. 25.\" | 1.\" 2.\" Copyright (c) 2009 Sam Leffler, Errno Consulting 3.\" All rights reserved. 4.\" 5.\" Redistribution and use in source and binary forms, with or without 6.\" modification, are permitted provided that the following conditions 7.\" are met: 8.\" 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24.\" SUCH DAMAGE. 25.\" |
26.\" $FreeBSD: head/share/man/man9/ieee80211.9 211397 2010-08-16 15:18:30Z joel $ | 26.\" $FreeBSD: head/share/man/man9/ieee80211.9 233648 2012-03-29 05:02:12Z eadler $ |
27.\" 28.Dd April 28, 2010 29.Dt IEEE80211 9 30.Os 31.Sh NAME | 27.\" 28.Dd April 28, 2010 29.Dt IEEE80211 9 30.Os 31.Sh NAME |
32.Nm IEEE80211 | 32.Nm IEEE80211 |
33.Nd 802.11 network layer 34.Sh SYNOPSIS 35.In net80211/ieee80211_var.h 36.Ft void 37.Fn ieee80211_ifattach "struct ieee80211com *ic" "const uint8_t macaddr[IEEE80211_ADDR_LEN]" 38.Ft void 39.Fn ieee80211_ifdetach "struct ieee80211com *ic" 40.Sh DESCRIPTION --- 118 unchanged lines hidden (view full) --- 159Backpointer to the physical device's ifnet. 160.It Dv ic_caps 161Device/driver capabilities; see below for a complete description. 162.It Dv ic_channels 163Table of channels the device is capable of operating on. 164This is initially provided by the driver but may be changed 165through calls that change the regulatory state. 166.It Dv ic_nchan | 33.Nd 802.11 network layer 34.Sh SYNOPSIS 35.In net80211/ieee80211_var.h 36.Ft void 37.Fn ieee80211_ifattach "struct ieee80211com *ic" "const uint8_t macaddr[IEEE80211_ADDR_LEN]" 38.Ft void 39.Fn ieee80211_ifdetach "struct ieee80211com *ic" 40.Sh DESCRIPTION --- 118 unchanged lines hidden (view full) --- 159Backpointer to the physical device's ifnet. 160.It Dv ic_caps 161Device/driver capabilities; see below for a complete description. 162.It Dv ic_channels 163Table of channels the device is capable of operating on. 164This is initially provided by the driver but may be changed 165through calls that change the regulatory state. 166.It Dv ic_nchan |
167Number of entries in | 167Number of entries in |
168.Dv ic_channels . 169.El 170.Pp 171On return from 172.Fn ieee80211_ifattach 173the driver is expected to override default callback functions in the 174.Vt ieee80211com 175structure to register it's private routines. --- 40 unchanged lines hidden (view full) --- 216The default method prints a console message. 217.It Dv ic_newassoc 218Update driver/device state for association to a new AP (in station mode) 219or when a new station associates (e.g. in AP mode). 220There is no default method; the pointer may be NULL in which case 221it will not be used. 222.It Dv ic_node_alloc 223Allocate and initialize a | 168.Dv ic_channels . 169.El 170.Pp 171On return from 172.Fn ieee80211_ifattach 173the driver is expected to override default callback functions in the 174.Vt ieee80211com 175structure to register it's private routines. --- 40 unchanged lines hidden (view full) --- 216The default method prints a console message. 217.It Dv ic_newassoc 218Update driver/device state for association to a new AP (in station mode) 219or when a new station associates (e.g. in AP mode). 220There is no default method; the pointer may be NULL in which case 221it will not be used. 222.It Dv ic_node_alloc 223Allocate and initialize a |
224.Vt ieee80211_node | 224.Vt ieee80211_node |
225structure. 226This method cannot sleep. 227The default method allocates zero'd memory using 228.Xr malloc 9 . 229Drivers should override this method to allocate extended storage 230for their own needs. 231Memory allocated by the driver must be tagged with 232.Dv M_80211_NODE 233to balance the memory allocation statistics. 234.It Dv ic_node_free | 225structure. 226This method cannot sleep. 227The default method allocates zero'd memory using 228.Xr malloc 9 . 229Drivers should override this method to allocate extended storage 230for their own needs. 231Memory allocated by the driver must be tagged with 232.Dv M_80211_NODE 233to balance the memory allocation statistics. 234.It Dv ic_node_free |
235Reclaim storage of a node allocated by | 235Reclaim storage of a node allocated by |
236.Dv ic_node_alloc . 237Drivers are expected to 238.Em interpose 239their own method to cleanup private state but must call through 240this method to allow 241.Nm 242to reclaim it's private state. 243.It Dv ic_node_cleanup --- 53 unchanged lines hidden (view full) --- 297This callback is done in a sleepable context. 298.It Dv ic_scan_curchan 299Start scanning on a channel. 300This method is called immediately after each channel change 301and must initiate the work to scan a channel and schedule a timer 302to advance to the next channel in the scan list. 303This callback is done in a sleepable context. 304The default method handles active scan work (e.g. sending ProbeRequest | 236.Dv ic_node_alloc . 237Drivers are expected to 238.Em interpose 239their own method to cleanup private state but must call through 240this method to allow 241.Nm 242to reclaim it's private state. 243.It Dv ic_node_cleanup --- 53 unchanged lines hidden (view full) --- 297This callback is done in a sleepable context. 298.It Dv ic_scan_curchan 299Start scanning on a channel. 300This method is called immediately after each channel change 301and must initiate the work to scan a channel and schedule a timer 302to advance to the next channel in the scan list. 303This callback is done in a sleepable context. 304The default method handles active scan work (e.g. sending ProbeRequest |
305frames), and schedules a call to | 305frames), and schedules a call to |
306.Xr ieee80211_scan_next 9 307according to the maximum dwell time for the channel. 308Drivers that off-load scan work to firmware typically use this method 309to trigger per-channel scan activity. 310.It Dv ic_scan_mindwell 311Handle reaching the minimum dwell time on a channel when scanning. 312This event is triggered when one or more stations have been found on 313a channel and the minimum dwell time has been reached. --- 35 unchanged lines hidden (view full) --- 349Process a response to a transmitted BAR control frame. 350.It Dv ic_ampdu_rx_start 351Prepare to receive A-MPDU data from the specified station for the TID. 352.It Dv ic_ampdu_rx_stop 353Terminate receipt of A-MPDU data from the specified station for the TID. 354.El 355.Pp 356Once the | 306.Xr ieee80211_scan_next 9 307according to the maximum dwell time for the channel. 308Drivers that off-load scan work to firmware typically use this method 309to trigger per-channel scan activity. 310.It Dv ic_scan_mindwell 311Handle reaching the minimum dwell time on a channel when scanning. 312This event is triggered when one or more stations have been found on 313a channel and the minimum dwell time has been reached. --- 35 unchanged lines hidden (view full) --- 349Process a response to a transmitted BAR control frame. 350.It Dv ic_ampdu_rx_start 351Prepare to receive A-MPDU data from the specified station for the TID. 352.It Dv ic_ampdu_rx_stop 353Terminate receipt of A-MPDU data from the specified station for the TID. 354.El 355.Pp 356Once the |
357.Nm | 357.Nm |
358layer is attached to a driver there are two more steps typically done 359to complete the work: 360.Bl -enum 361.It 362Setup 363.Dq radiotap support 364for capturing raw 802.11 packets that pass through the device. 365This is done with a call to --- 34 unchanged lines hidden (view full) --- 400and 401.Vt iv_htcaps . 402The following general capabilities are defined: 403.Bl -tag -width IEEE80211_C_8023ENCAP 404.It Dv IEEE80211_C_STA 405Device is capable of operating in station (aka Infrastructure) mode. 406.It Dv IEEE80211_C_8023ENCAP 407Device requires 802.3-encapsulated frames be passed for transmit. | 358layer is attached to a driver there are two more steps typically done 359to complete the work: 360.Bl -enum 361.It 362Setup 363.Dq radiotap support 364for capturing raw 802.11 packets that pass through the device. 365This is done with a call to --- 34 unchanged lines hidden (view full) --- 400and 401.Vt iv_htcaps . 402The following general capabilities are defined: 403.Bl -tag -width IEEE80211_C_8023ENCAP 404.It Dv IEEE80211_C_STA 405Device is capable of operating in station (aka Infrastructure) mode. 406.It Dv IEEE80211_C_8023ENCAP 407Device requires 802.3-encapsulated frames be passed for transmit. |
408By default | 408By default |
409.Nm 410will encapsulate all outbound frames as 802.11 frames (without a PLCP header). 411.It Dv IEEE80211_C_FF 412Device supports Atheros Fast-Frames. 413.It Dv IEEE80211_C_TURBOP 414Device supports Atheros Dynamic Turbo mode. 415.It Dv IEEE80211_C_IBSS 416Device is capable of operating in adhoc/IBSS mode. --- 107 unchanged lines hidden (view full) --- 524Device supports PSMP. 525.It Dv IEEE80211_HTCAP_40INTOLERANT 526Device is intolerant of 40MHz wide channel use. 527.It Dv IEEE80211_HTCAP_LSIGTXOPPROT 528Device supports L-SIG TXOP protection. 529.It Dv IEEE80211_HTC_AMPDU 530Device supports A-MPDU aggregation. 531Note that any 802.11n compliant device must support A-MPDU receive | 409.Nm 410will encapsulate all outbound frames as 802.11 frames (without a PLCP header). 411.It Dv IEEE80211_C_FF 412Device supports Atheros Fast-Frames. 413.It Dv IEEE80211_C_TURBOP 414Device supports Atheros Dynamic Turbo mode. 415.It Dv IEEE80211_C_IBSS 416Device is capable of operating in adhoc/IBSS mode. --- 107 unchanged lines hidden (view full) --- 524Device supports PSMP. 525.It Dv IEEE80211_HTCAP_40INTOLERANT 526Device is intolerant of 40MHz wide channel use. 527.It Dv IEEE80211_HTCAP_LSIGTXOPPROT 528Device supports L-SIG TXOP protection. 529.It Dv IEEE80211_HTC_AMPDU 530Device supports A-MPDU aggregation. 531Note that any 802.11n compliant device must support A-MPDU receive |
532so this implicitly means support for | 532so this implicitly means support for |
533.Em transmit 534of A-MPDU frames. 535.It Dv IEEE80211_HTC_AMSDU 536Device supports A-MSDU aggregation. 537Note that any 802.11n compliant device must support A-MSDU receive | 533.Em transmit 534of A-MPDU frames. 535.It Dv IEEE80211_HTC_AMSDU 536Device supports A-MSDU aggregation. 537Note that any 802.11n compliant device must support A-MSDU receive |
538so this implicitly means support for | 538so this implicitly means support for |
539.Em transmit 540of A-MSDU frames. | 539.Em transmit 540of A-MSDU frames. |
541.It Dv IEEE80211_HTC_HT | 541.It Dv IEEE80211_HTC_HT |
542Device supports High Throughput (HT) operation. 543This capability must be set to enable 802.11n functionality 544in 545.Nm . 546.It Dv IEEE80211_HTC_SMPS 547Device supports MIMO Power Save operation. 548.It Dv IEEE80211_HTC_RIFS 549Device supports Reduced Inter Frame Spacing (RIFS). --- 19 unchanged lines hidden --- | 542Device supports High Throughput (HT) operation. 543This capability must be set to enable 802.11n functionality 544in 545.Nm . 546.It Dv IEEE80211_HTC_SMPS 547Device supports MIMO Power Save operation. 548.It Dv IEEE80211_HTC_RIFS 549Device supports Reduced Inter Frame Spacing (RIFS). --- 19 unchanged lines hidden --- |