User Tools

Site Tools


en:developers:documentation:mac80211:auth-assoc-deauth

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

en:developers:documentation:mac80211:auth-assoc-deauth [2015/01/26 09:49] (current)
Line 1: Line 1:
 +
 +<​seqdia>​
 +#
 +# This outlines the Linux authentication/​association and
 +# deauthentication/​disassociation flows.
 +#
 +# This can be converted into a diagram using the service
 +# at http://​www.websequencediagrams.com/​
 +#
 +
 +participant userspace
 +participant mac80211
 +participant driver
 +
 +alt authentication needed (not FT)
 +userspace->​mac80211:​ authenticate
 +
 +alt authenticated/​authenticating already
 +mac80211->​driver:​ sta_state(AP,​ not-exists)
 +mac80211->​driver:​ bss_info_changed(clear BSSID)
 +else associated
 +note over mac80211,​driver
 +like deauth/​disassoc,​ without sending the
 +BA session stop & deauth/​disassoc frames
 +end note
 +end
 +
 +mac80211->​driver:​ config(channel,​ channel type)
 +mac80211->​driver:​ bss_info_changed(set BSSID, basic rate bitmap)
 +mac80211->​driver:​ sta_state(AP,​ exists)
 +
 +alt no probe request data known
 +mac80211->​driver:​ TX directed probe request
 +driver->​mac80211:​ RX probe response
 +end
 +
 +mac80211->​driver:​ TX auth frame
 +driver->​mac80211:​ RX auth frame
 +
 +alt WEP shared key auth
 +mac80211->​driver:​ TX auth frame
 +driver->​mac80211:​ RX auth frame
 +end
 +
 +mac80211->​driver:​ sta_state(AP,​ authenticated)
 +mac80211->​userspace:​ RX auth frame
 +
 +end
 +
 +userspace->​mac80211:​ associate
 +alt authenticated or associated
 +note over mac80211,​driver:​ cleanup like for authenticate
 +end
 +
 +alt not previously authenticated (FT)
 +mac80211->​driver:​ config(channel,​ channel type)
 +mac80211->​driver:​ bss_info_changed(set BSSID, basic rate bitmap)
 +mac80211->​driver:​ sta_state(AP,​ exists)
 +mac80211->​driver:​ sta_state(AP,​ authenticated)
 +end
 +mac80211->​driver:​ TX assoc
 +driver->​mac80211:​ RX assoc response
 +note over mac80211: init rate control
 +mac80211->​driver:​ sta_state(AP,​ associated)
 +
 +alt not using WPA
 +mac80211->​driver:​ sta_state(AP,​ authorized)
 +end
 +
 +mac80211->​driver:​ set up QoS parameters
 +
 +mac80211->​driver:​ bss_info_changed(QoS,​ HT, associated with AID)
 +mac80211->​userspace:​ associated
 +
 +note left of userspace: associated now
 +
 +alt using WPA
 +note over userspace
 +do 4-way-handshake
 +(data frames)
 +end note
 +userspace->​mac80211:​ authorized
 +mac80211->​driver:​ sta_state(AP,​ authorized)
 +end
 +
 +userspace->​mac80211:​ deauthenticate/​disassociate
 +mac80211->​driver:​ stop BA sessions
 +mac80211->​driver:​ TX deauth/​disassoc
 +mac80211->​driver:​ flush frames
 +mac80211->​driver:​ sta_state(AP,​associated)
 +mac80211->​driver:​ sta_state(AP,​authenticated)
 +mac80211->​driver:​ sta_state(AP,​exists)
 +mac80211->​driver:​ sta_state(AP,​not-exists)
 +mac80211->​driver:​ turn off powersave
 +mac80211->​driver:​ bss_info_changed(clear BSSID, not associated, no QoS, ...)
 +mac80211->​driver:​ config(channel type to non-HT)
 +mac80211->​userspace:​ disconnected
 +</​seqdia>​
 +
 +(This is copied from Documentation/​networking/​mac80211-auth-assoc-deauth.txt in the kernel sources) ​
  
en/developers/documentation/mac80211/auth-assoc-deauth.txt ยท Last modified: 2015/01/26 09:49 (external edit)