Deleted Added
full compact
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 ---