cfg80211_disconnected(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_disconnected(9) πŸ’…

okay so this is a page from the Kernel API Manual β€” section 9 β€” and it's all about cfg80211_disconnected. bestie, it's the "hey cfg80211, the connection just dropped" notifier. pull up a chair πŸŽ€


✨ NAME ✨

cfg80211_disconnected β€” the little function that tells cfg80211 a connection was dropped, no cap 🫢


✨ SYNOPSIS ✨

void cfg80211_disconnected (struct net_device *dev , u16 reason , const
u8 *ie , size_t ie_len , bool locally_generated , gfp_t gfp );

literally that whole thing, verbatim, don't be weird about the spacing β€” it's the manpage's spacing and we respect it πŸ’…


✨ ARGUMENTS ✨

  • dev β€” the network device. like, the actual net_device we're talking about πŸ¦‹
  • reason β€” the reason code for the disconnection. and listen β€” if you don't know what it is, set it to 0. that's the move πŸ™ˆ
  • ie β€” the information elements of the deauth/disassoc frame. it's allowed to be NULL, so don't stress πŸ’€
  • ie_len β€” the length of the IEs, fr fr πŸ“
  • locally_generated β€” a bool that says whether the disconnection was requested locally πŸ‘‘
  • gfp β€” the allocation flags. you know the drill 🌸

✨ DESCRIPTION ✨

okay so here's the vibe check: after the driver calls this function, it should enter an idle state and not try to connect to any AP any more. periodt. 🧚

like, genuinely β€” idle means idle. no sneaky reconnect attempts afterwards, bestie πŸ’€

more parts are coming, so don't go anywhere 🌈

πŸ‘€ SEE ALSO ✨

ok so the SEE ALSO section on this one is genuinely unhinged β€” it's giving "the entire kernel wifi subsystem said 'you're welcome' and dumped the whole friend group in here". but like, respectfully, it's iconic. every single one of these is a real page and you can just man them, yk? so grab a snack πŸ“ and let's go through them.

πŸ’– the source of truth + the starter pack

  • ./include/net/cfg80211.h β€” the kernel file everything below is documented out of. like the mothership πŸ›Έ
  • Introduction(9)
  • Device registration(9)

πŸ¦‹ channels, rates & bss vibes

  • enum ieee80211_channel_flags(9)
  • struct ieee80211_channel(9)
  • enum ieee80211_rate_flags(9)
  • enum ieee80211_bss_type(9)
  • enum ieee80211_privacy(9)
  • struct ieee80211_rate(9)

✨ he / ht / vht / eht / uhr β€” the cap girlies

ok this is the part where the naming gets extra πŸ’… but every single one is literally a different generation of "how fast can we go", no cap:

  • struct ieee80211_he_obss_pd(9)
  • struct cfg80211_he_bss_color(9)
  • struct ieee80211_sta_ht_cap(9)
  • struct ieee80211_sta_vht_cap(9)
  • struct ieee80211_sta_he_cap(9)
  • struct ieee80211_eht_mcs_nss_supp(9)
  • struct ieee80211_sta_eht_cap(9)
  • struct ieee80211_sta_uhr_cap(9)

🧚 sband + iftype data (the deep lore)


πŸŽ€ ACTIONS AND CONFIGURATION energy

  • Actions and configuration(9)

the params & structs

  • struct vif_params(9)
  • struct key_params(9)
  • struct cfg80211_chan_def(9)
  • struct cfg80211_tid_cfg(9)
  • struct cfg80211_tid_config(9)
  • struct cfg80211_fils_aad(9)
  • struct cfg80211_set_hw_timestamp(9)

chandef squad β€” my beloved 😭

survey + crypto + beacon-adjacent things

  • enum survey_info_flags(9)
  • struct survey_info(9)
  • struct cfg80211_crypto_settings(9)
  • struct cfg80211_mbssid_config(9)
  • struct cfg80211_mbssid_elems(9)
  • struct cfg80211_rnr_elems(9)
  • struct cfg80211_beacon_data(9)
  • struct cfg80211_acl_data(9)
  • struct cfg80211_fils_discovery(9)
  • struct cfg80211_unsol_bcast_probe_resp(9)
  • struct cfg80211_s1g_short_beacon(9)
  • struct cfg80211_ap_settings(9)
  • struct cfg80211_ap_update(9)
  • struct cfg80211_csa_settings(9)
  • struct cfg80211_color_change_settings(9)
  • struct iface_combination_params(9)
  • enum station_parameters_apply_mask(9)
  • struct sta_txpwr(9)
  • struct link_station_parameters(9)
  • struct link_station_del_parameters(9)
  • struct cfg80211_ttlm_params(9)
  • struct station_parameters(9)
  • struct station_del_parameters(9)
  • enum cfg80211_station_type(9)
  • cfg80211_check_station_change(9)
  • enum rate_info_flags(9)
  • enum rate_info_bw(9)
  • struct rate_info(9)
  • enum bss_param_flags(9)
  • struct sta_bss_parameters(9)
  • struct cfg80211_txq_stats(9)
  • struct cfg80211_tid_stats(9)
  • struct link_station_info(9)
  • struct station_info(9)

sar, station lookup, monitor + mesh/ocb

  • struct cfg80211_sar_sub_specs(9)
  • struct cfg80211_sar_specs(9)
  • struct cfg80211_sar_freq_ranges(9)
  • struct cfg80211_sar_capa(9)
  • cfg80211_get_station(9)
  • enum monitor_flags(9)
  • enum mpath_info_flags(9)
  • struct mpath_info(9)
  • enum wiphy_bss_param_flags(9)
  • struct bss_parameters(9)
  • struct mesh_config(9)
  • struct mesh_setup(9)
  • struct ocb_setup(9)
  • struct ieee80211_txq_params(9)

πŸ”₯ SCANNING AND BSS LIST HANDLING

  • Scanning and BSS list handling(9)
  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

🫢 NEIGHBOR AWARENESS NETWORKING (NAN)

  • Neighbor Awareness Networking (NAN)(9)
  • struct cfg80211_nan_band_config(9)
  • struct cfg80211_nan_conf(9)
  • struct cfg80211_nan_channel(9)
  • struct cfg80211_nan_local_sched(9)
  • struct cfg80211_nan_peer_map(9)
  • struct cfg80211_nan_peer_sched(9)
  • enum cfg80211_nan_conf_changes(9)
  • struct cfg80211_nan_func_filter(9)
  • struct cfg80211_nan_func(9)

πŸ’œ pmk, external auth, ftm & pmsr

  • struct cfg80211_pmk_conf(9)
  • struct cfg80211_external_auth_params(9)
  • struct cfg80211_ftm_responder_stats(9)
  • struct cfg80211_pmsr_ftm_result(9)
  • struct cfg80211_pmsr_result(9)
  • struct cfg80211_pmsr_ftm_request_peer(9)
  • struct cfg80211_pmsr_request_peer(9)
  • struct cfg80211_pmsr_request(9)
  • struct cfg80211_update_owe_info(9)
  • struct mgmt_frame_regs(9)

πŸ‘‘ the ops + the wiphy itself

  • struct cfg80211_ops(9)
  • enum wiphy_flags(9)
  • struct ieee80211_iface_limit(9)
  • struct ieee80211_iface_combination(9)
  • enum wiphy_wowlan_support_flags(9)
  • struct wiphy_wowlan_support(9)
  • struct wiphy_coalesce_support(9)
  • enum wiphy_vendor_command_flags(9)
  • enum wiphy_opmode_flag(9)
  • struct sta_opmode_info(9)
  • struct wiphy_vendor_command(9)
  • struct wiphy_iftype_ext_capab(9)
  • cfg80211_get_iftype_ext_capa(9)
  • struct cfg80211_pmsr_capabilities(9)
  • struct wiphy_iftype_akm_suites(9)
  • struct wiphy_radio_cfg(9)
  • struct wiphy_radio_freq_range(9)
  • struct wiphy_radio(9)
  • enum wiphy_nan_flags(9)
  • struct wiphy_nan_capa(9)
  • struct wiphy(9)

wiphy lifecycle & friends

wiphy work scheduling (the queue girlies)

wireless_dev crew


🌸 UTILITY FUNCTIONS

⭐ DATA PATH HELPERS

element / IE hunting β€” genuinely so useful, iykyk


🌈 REGULATORY ENFORCEMENT INFRASTRUCTURE

🧚 INTERNAL REGULATORY DB FUNCTIONS


πŸŽ€ bss handling, notifications & mlme mgmt

πŸ’€ RFKILL INTEGRATION

πŸ’… VENDOR COMMANDS

πŸ™ˆ TEST MODE


πŸ”₯ connect / roam / port auth & the notify girlies

this whole block is legit the "tell userspace what just happened" friend group, obsessed with them fr fr:


and bestie that's STILL not the whole page β€” there's more coming, so don't close the tab 😭🫢

...and it literally just keeps going, bestie 😭 β€” the cross-reference list is giving "my For You page at 3am" energy, endless and lowkey unhinged. Every one of these is a real page in the same family, and yes, we're listing all of them, no skipping. Here we go:

okay brief intermission β€” notice how struct cfg80211_ft_event_params(9) is a whole struct page chilling in there among the functions? icon behaviour, it said "I'm not like the other refs" πŸ’… anyway, continuing:

bestie the NAN block is slaying ngl πŸ¦‹ β€” like four whole entries with nan in the name, that's a dedicated little squad fr fr:

and that's the last one β€” cfg80211_incumbent_signal_notify(9) is literally the final boss of the list 🫢 no cap, we got through all of them.


that's a wrap on the whole page, bestie πŸŽ€ this lil bundle of joy lives under ./include/net, it's stamped October 2026, and the star of the show is of course cfg80211_disconnected(9). go forth and read the source, you're gonna eat πŸ’–βœ¨

πŸ“¦ where this page comes from