cfg80211_inf...s_frame_data(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_inform_bss_frame_data β€” part 1 of 3

okay so this is from the Kernel API Manual, bestie β€” yes, the kernel API manual, we're in the big leagues now 🫢. Strap in, because this one's a three-parter and we're only on part one, so nobody panic and nobody leave the group chat.


✨ NAME ✨

cfg80211_inform_bss_frame_data β€” the function where you, a humble driver, slide up to cfg80211 and go "bestie… I found a BSS πŸ‘€" with the actual received frame data.


🌸 SYNOPSIS 🌸

struct cfg80211_bss * cfg80211_inform_bss_frame_data (struct wiphy
*wiphy , struct cfg80211_inform_bss *data , struct ieee80211_mgmt *mgmt
, size_t len , gfp_t gfp );

periodt. that's the whole signature, copied exactly, no cap πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • wiphy β€” the wiphy that's out here reporting the BSS. like, which radio is doing the talking πŸ¦‹
  • data β€” the BSS metadata. all the little extra details about the BSS go here πŸ’–
  • mgmt β€” the management frame itself (probe response or beacon). this is the main character of the whole operation πŸ‘‘
  • len β€” length of the management frame. yes bestie, size matters, we need the actual byte count 🌈
  • gfp β€” context flags. the classic gfp vibes, so you tell it what context you're allocating in ⭐

πŸ’œ DESCRIPTION πŸ’œ

So what does this actually do? It informs cfg80211 that BSS information was found β€” and like, not just found, but that the BSS should be updated/added. That's the whole point of the function. You found a BSS, you're passing the news along, cfg80211 handles the rest. iconic behaviour tbh πŸ’…


πŸ”₯ RETURN πŸ”₯

You get back a referenced struct, and here's the important part bestie β€” you must release it with cfg80211_put_bss! Do not just walk away from it, that's a leak and leaks are not the vibe 😭

Or… NULL on error πŸ™ˆ (we don't talk about the error path, but it's there).


⚠️ real talk: that returned struct is referenced β€” always cfg80211_put_bss it when you're done. no ghosting your references, it's rude and the kernel will notice.

(parts 2 and 3 are still coming, don't go anywhere 🧚)

πŸ”— SEE ALSO πŸ”—

okay bestie so this is the part where the manual is like "girl, here's your reading list" and it is long β€” like 358-links long, no exaggeration. every single cross-ref is below, and yes i kept all of them because i would never do you dirty like that πŸ’… the whole thing lives under the kernel file ./include/net/cfg80211.h, so that's your home base. go touch grass after, i'm serious 🫢



🌸 the "Actions and configuration(9)" corner 🌸


✨ station era β€” the whole cast ✨

  • 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)
  • 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(9) πŸ¦‹

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

πŸ’œ NAN girlies (Neighbor Awareness Networking) πŸ’œ

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

πŸ‘‘ wiphy world β€” flags, combos & the big struct πŸ‘‘


🧚 Utility functions(9) β€” the little helpers that could 🧚


πŸ”₯ Data path helpers(9) β€” packets go brr πŸ”₯


🌈 Regulatory enforcement infrastructure(9) 🌈


πŸŽ€ BSS handling & MLME girlies πŸŽ€


πŸ“‘ RFkill integration(9) πŸ“‘

πŸ›οΈ Vendor commands(9) πŸ›οΈ

πŸ§ͺ Test mode(9) πŸ§ͺ


πŸ’– connect / roam / disconnect saga πŸ’–


and that's literally all 358 of them bestie, not one dropped, i would never 😀 you're so welcome, now go read the ones you actually need and hydrate fr fr πŸ’§βœ¨

okay so the SEE ALSO list keeps going β€” the rest of the girlies in this friend group are:


and that's the whole page, bestie β€” you made it to the end πŸŽ€βœ¨ This one lives over in ./include/net, dated October 2026. Go forth and slay your wireless stack, ily, bye πŸ’…πŸ«Ά

πŸ“¦ where this page comes from