ieee80211_proto.9 (197300) | ieee80211_proto.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_proto.9 197300 2009-09-18 00:33:47Z brueffer $ | 26.\" $FreeBSD: head/share/man/man9/ieee80211_proto.9 233648 2012-03-29 05:02:12Z eadler $ |
27.\" 28.Dd August 4, 2009 29.Dt IEEE80211_PROTO 9 30.Os 31.Sh NAME 32.Nm ieee80211_proto 33.Nd 802.11 state machine support 34.Sh SYNOPSIS --- 68 unchanged lines hidden (view full) --- 103.It Dv IEEE80211_S_RUN 104Operational. 105In this state a vap can transmit data frames, accept requests for 106stations associating, etc. 107Beware that data traffic is also gated by whether the associated 108.Dq port 109is authorized. 110When WPA/802.11i/802.1x is operational authorization may happen separately; | 27.\" 28.Dd August 4, 2009 29.Dt IEEE80211_PROTO 9 30.Os 31.Sh NAME 32.Nm ieee80211_proto 33.Nd 802.11 state machine support 34.Sh SYNOPSIS --- 68 unchanged lines hidden (view full) --- 103.It Dv IEEE80211_S_RUN 104Operational. 105In this state a vap can transmit data frames, accept requests for 106stations associating, etc. 107Beware that data traffic is also gated by whether the associated 108.Dq port 109is authorized. 110When WPA/802.11i/802.1x is operational authorization may happen separately; |
111e.g. in station mode | 111e.g. in station mode |
112.Xr wpa_supplicant 8 113must complete the handshakes and plumb the necessary keys before a port 114is authorized. 115In this state a BSS is operational and associated state is valid and may 116be used; e.g. 117.Vt ic_bss 118and 119.Vt ic_bsschan --- 18 unchanged lines hidden (view full) --- 138.Dv IEEE80211_S_RUN 139or 140.Dq greater 141before it can transmit frames. 142Certain 143.Nm net80211 144data are valid only in certain states; e.g. the 145.Vt iv_bsschan | 112.Xr wpa_supplicant 8 113must complete the handshakes and plumb the necessary keys before a port 114is authorized. 115In this state a BSS is operational and associated state is valid and may 116be used; e.g. 117.Vt ic_bss 118and 119.Vt ic_bsschan --- 18 unchanged lines hidden (view full) --- 138.Dv IEEE80211_S_RUN 139or 140.Dq greater 141before it can transmit frames. 142Certain 143.Nm net80211 144data are valid only in certain states; e.g. the 145.Vt iv_bsschan |
146that specifies the channel for the operating BSS should never be used | 146that specifies the channel for the operating BSS should never be used |
147except in 148.Dv IEEE80211_S_RUN 149or greater. 150.Sh STATE CHANGES 151State machine changes are typically handled internal to the 152.Nm net80211 | 147except in 148.Dv IEEE80211_S_RUN 149or greater. 150.Sh STATE CHANGES 151State machine changes are typically handled internal to the 152.Nm net80211 |
153layer in response to | 153layer in response to |
154.Xr ioctl 2 155requests, received frames, or external events such as a beacon miss. 156The 157.Fn ieee80211_new_state 158function is used to initiate a state machine change on a vap. 159The new state and an optional argument are supplied. 160The request is initially processed to handle coordination of multiple vaps. 161For example, only one vap at a time can be scanning, if multiple vaps 162request a change to 163.Dv IEEE80211_S_SCAN | 154.Xr ioctl 2 155requests, received frames, or external events such as a beacon miss. 156The 157.Fn ieee80211_new_state 158function is used to initiate a state machine change on a vap. 159The new state and an optional argument are supplied. 160The request is initially processed to handle coordination of multiple vaps. 161For example, only one vap at a time can be scanning, if multiple vaps 162request a change to 163.Dv IEEE80211_S_SCAN |
164the first will be permitted to run and the others will be | 164the first will be permitted to run and the others will be |
165.Em deferred 166until the scan operation completes at which time the selected channel 167will be adopted. 168Similarly 169.Nm net80211 170handles coordination of combinations of vaps such as an AP and station vap 171where the station may need to roam to follow the AP it is associated to 172(dragging along the AP vap to the new channel). --- 19 unchanged lines hidden (view full) --- 192call the 193.Dq super method 194). 195.Pp 196.Nm net80211 197handles two state changes specially. 198On transition to 199.Dv IEEE80211_S_RUN | 165.Em deferred 166until the scan operation completes at which time the selected channel 167will be adopted. 168Similarly 169.Nm net80211 170handles coordination of combinations of vaps such as an AP and station vap 171where the station may need to roam to follow the AP it is associated to 172(dragging along the AP vap to the new channel). --- 19 unchanged lines hidden (view full) --- 192call the 193.Dq super method 194). 195.Pp 196.Nm net80211 197handles two state changes specially. 198On transition to 199.Dv IEEE80211_S_RUN |
200the | 200the |
201.Dv IFF_DRV_OACTIVE 202bit on the vap's transmit queue is cleared so traffic can flow. 203On transition to 204.Dv IEEE80211_S_INIT | 201.Dv IFF_DRV_OACTIVE 202bit on the vap's transmit queue is cleared so traffic can flow. 203On transition to 204.Dv IEEE80211_S_INIT |
205any state in the scan cache associated with the vap is flushed | 205any state in the scan cache associated with the vap is flushed |
206and any frames pending on the transmit queue are flushed. 207.Sh DRIVER INTEGRATION 208Drivers are expected to override the 209.Vt iv_newstate 210method to interpose their own code and handle setup work required 211by state changes. 212Otherwise drivers must call 213.Fn ieee80211_start_all --- 28 unchanged lines hidden --- | 206and any frames pending on the transmit queue are flushed. 207.Sh DRIVER INTEGRATION 208Drivers are expected to override the 209.Vt iv_newstate 210method to interpose their own code and handle setup work required 211by state changes. 212Otherwise drivers must call 213.Fn ieee80211_start_all --- 28 unchanged lines hidden --- |