~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/networking/mac80211-auth-assoc-deauth.txt

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #
  2 # This outlines the Linux authentication/association and
  3 # deauthentication/disassociation flows.
  4 #
  5 # This can be converted into a diagram using the service
  6 # at http://www.websequencediagrams.com/
  7 #
  8 
  9 participant userspace
 10 participant mac80211
 11 participant driver
 12 
 13 alt authentication needed (not FT)
 14 userspace->mac80211: authenticate
 15 
 16 alt authenticated/authenticating already
 17 mac80211->driver: sta_state(AP, not-exists)
 18 mac80211->driver: bss_info_changed(clear BSSID)
 19 else associated
 20 note over mac80211,driver
 21 like deauth/disassoc, without sending the
 22 BA session stop & deauth/disassoc frames
 23 end note
 24 end
 25 
 26 mac80211->driver: config(channel, channel type)
 27 mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
 28 mac80211->driver: sta_state(AP, exists)
 29 
 30 alt no probe request data known
 31 mac80211->driver: TX directed probe request
 32 driver->mac80211: RX probe response
 33 end
 34 
 35 mac80211->driver: TX auth frame
 36 driver->mac80211: RX auth frame
 37 
 38 alt WEP shared key auth
 39 mac80211->driver: TX auth frame
 40 driver->mac80211: RX auth frame
 41 end
 42 
 43 mac80211->driver: sta_state(AP, authenticated)
 44 mac80211->userspace: RX auth frame
 45 
 46 end
 47 
 48 userspace->mac80211: associate
 49 alt authenticated or associated
 50 note over mac80211,driver: cleanup like for authenticate
 51 end
 52 
 53 alt not previously authenticated (FT)
 54 mac80211->driver: config(channel, channel type)
 55 mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
 56 mac80211->driver: sta_state(AP, exists)
 57 mac80211->driver: sta_state(AP, authenticated)
 58 end
 59 mac80211->driver: TX assoc
 60 driver->mac80211: RX assoc response
 61 note over mac80211: init rate control
 62 mac80211->driver: sta_state(AP, associated)
 63 
 64 alt not using WPA
 65 mac80211->driver: sta_state(AP, authorized)
 66 end
 67 
 68 mac80211->driver: set up QoS parameters
 69 
 70 mac80211->driver: bss_info_changed(QoS, HT, associated with AID)
 71 mac80211->userspace: associated
 72 
 73 note left of userspace: associated now
 74 
 75 alt using WPA
 76 note over userspace
 77 do 4-way-handshake
 78 (data frames)
 79 end note
 80 userspace->mac80211: authorized
 81 mac80211->driver: sta_state(AP, authorized)
 82 end
 83 
 84 userspace->mac80211: deauthenticate/disassociate
 85 mac80211->driver: stop BA sessions
 86 mac80211->driver: TX deauth/disassoc
 87 mac80211->driver: flush frames
 88 mac80211->driver: sta_state(AP,associated)
 89 mac80211->driver: sta_state(AP,authenticated)
 90 mac80211->driver: sta_state(AP,exists)
 91 mac80211->driver: sta_state(AP,not-exists)
 92 mac80211->driver: turn off powersave
 93 mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...)
 94 mac80211->driver: config(channel type to non-HT)
 95 mac80211->userspace: disconnected

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php