cfg80211_links_removed(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so welcome to cfg80211_links_removed(9), straight out of the Kernel API Manual πŸ’…βœ¨ this one is short but it's giving very important kernel-networking info, so pay attention bestie.

🌸 NAME 🌸

cfg80211_links_removed β€” notify about removed STA MLD setup links πŸ’–


✨ SYNOPSIS ✨

void cfg80211_links_removed (struct net_device *dev , u16 link_mask );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” network device. literally the netdev in question 🫢
  • link_mask β€” BIT mask of removed STA MLD setup link IDs. yes, a BIT mask, keep that exact vibe πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

Inform cfg80211 and the userspace about removed STA MLD setup links due to AP MLD removing the corresponding affiliated APs with Multi-Link reconfiguration. that's the whole mission, no cap ✨

Note that it's not valid to remove all links β€” in this case, disconnect instead. like, do not remove every single link, bestie, that is not the move 😭

Also note that the wdev mutex must be held. not optional, not a suggestion, hold the mutex fr fr πŸ”₯

✨ SEE ALSO ✨

okay bestie, this is the part where the page just. keeps. going. πŸ’€ it's the SEE ALSO section and it is huge β€” no cap, it's basically the entire cfg80211 universe listed out one by one. but we're gonna get through it together, slay.

first up, the mothership and the intro-level stuff:

  • Kernel file ./include/net/cfg80211.h Introduction(9)
  • Device registration(9)

then the channel / rate / bss vibe check squad β€” like the whole "what even is a channel" starter pack:

scroll scroll scroll β€” now we're in the actions & config era, which is literally the biggest section of the whole list, highkey iconic:

still with me? 🫢 good, because now we're scanning for BSSes, iykyk:

  • 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)

and here's a lil neighborly moment β€” NAN time ✨:

  • 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)
  • 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)
  • 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)

the wiphy family reunion πŸ‘‘ β€” setup, registration, locking, and every lil work-queue sibling:

utility functions era, aka the drawer full of helpful lil gadgets 🧰:

data path helpers, where the packets actually do their thing 🌈:

regulatory enforcement infrastructure β€” yes the vibes are governmental but it's fine πŸ’…:

then a big batch of notify/report/handler things, scanning & BSS notifications onward:

RFkill integration and vendor commands, aka the "letting userspace talk to your driver" corner πŸŽ€:

connect / roam / disconnect notifications, the whole relationship-arc of a station 😭:

mgmt frame + control port + CQM + radar + CAC + rekey notifs β€” the last big pile, almost there bestie πŸ¦‹:

and that's the entire list, like genuinely every single one of them, no skips no cuts πŸ«‘πŸ’–

…and the list literally does not stop, bestie, so buckle up 🫢


okay we're like a third of the way through, no cap, keep scrolling πŸ’…


bestie the colour-change girlies are next, they're iconic 🌈

fr fr that is the whole list β€” every single one of them, not me skipping a single entry, that would be so embarrassing 😭

πŸŽ€ the cute little sign-off πŸŽ€

and that's the page, bestie!! you made it to the end, main character energy honestly πŸ‘‘ the source for all this lives in ./include/net, and the version stamp on it is October 2026 β€” and yes the page is literally called cfg80211_links_removed(9) in case you forgot what you clicked on πŸ’– go forth and slay your kernel hacking, periodt βœ¨πŸ¦‹

πŸ“¦ where this page comes from