STRUCT CFG80211_BEACON_DATA(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

โœจ NAME โœจ

okay so this is struct cfg80211_beacon_data(9) from the Kernel API manual, and the official NAME vibe is literally: struct cfg80211_beacon_data โ€” beacon data ๐ŸŽ€

It's the struct that bundles up all the beacon-ish pieces, and bestie, there are a lot of pieces. No skipping, we're doing all of them ๐Ÿ’…


๐ŸŒธ SYNOPSIS ๐ŸŒธ

struct cfg80211_beacon_data {
    unsigned int link_id;
    const u8 *head, *tail;
    const u8 *beacon_ies;
    const u8 *proberesp_ies;
    const u8 *assocresp_ies;
    const u8 *probe_resp;
    const u8 *lci;
    const u8 *civicloc;
    struct cfg80211_mbssid_elems *mbssid_ies;
    struct cfg80211_rnr_elems *rnr_ies;
    s8 ftm_responder;
    size_t head_len, tail_len;
    size_t beacon_ies_len;
    size_t proberesp_ies_len;
    size_t assocresp_ies_len;
    size_t probe_resp_len;
    size_t lci_len;
    size_t civicloc_len;
    struct cfg80211_he_bss_color he_bss_color;
    bool he_bss_color_valid;
    bool ht_required, vht_required;
    const struct ieee80211_ht_operation *ht_oper;
    const struct ieee80211_vht_operation *vht_oper;
    const struct ieee80211_he_operation *he_oper;
    const struct ieee80211_eht_operation *eht_oper;
    const struct ieee80211_uhr_operation *uhr_oper;
 };

๐Ÿ’… Members ๐Ÿ’…

  • link_id โ€” the link ID for the AP MLD link that's sending this beacon ๐Ÿ‘‘
  • head โ€” head portion of beacon (before TIM IE), or NULL if it hasn't changed ๐Ÿซถ
  • tail โ€” tail portion of beacon (after TIM IE), or NULL if it hasn't changed โœจ
  • beacon_ies โ€” extra information element(s) to add into Beacon frames, or NULL ๐ŸŒธ
  • proberesp_ies โ€” extra information element(s) to add into Probe Response frames, or NULL ๐Ÿฆ‹
  • assocresp_ies โ€” extra information element(s) to add into (Re)Association Response frames, or NULL ๐Ÿ’–
  • probe_resp โ€” probe response template (AP mode only) ๐Ÿ“ก
  • lci โ€” Measurement Report element content, starting with Measurement Token (measurement type 8) ๐Ÿงš
  • civicloc โ€” Measurement Report element content, starting with Measurement Token (measurement type 11) ๐ŸŒˆ
  • mbssid_ies โ€” multiple BSSID elements ๐Ÿ‘ฏโ€โ™€๏ธ
  • rnr_ies โ€” reduced neighbor report elements ๐Ÿ—บ๏ธ
  • ftm_responder โ€” enable FTM responder functionality; -1 for no change (which also implies no change in LCI/civic location data) โš ๏ธ
  • head_len โ€” length of head ๐Ÿ“
  • tail_len โ€” length of tail ๐Ÿ“
  • beacon_ies_len โ€” length of beacon_ies in octets ๐Ÿ”ข
  • proberesp_ies_len โ€” length of proberesp_ies in octets ๐Ÿ”ข
  • assocresp_ies_len โ€” length of assocresp_ies in octets ๐Ÿ”ข
  • probe_resp_len โ€” length of probe response template (probe_resp) ๐Ÿ“
  • lci_len โ€” LCI data length ๐Ÿ“
  • civicloc_len โ€” Civic location data length ๐Ÿ“
  • he_bss_color โ€” BSS Color settings ๐ŸŽจ
  • he_bss_color_valid โ€” indicates whether bss color attribute is present in beacon data or not โœ…
  • ht_required โ€” stations must support HT ๐Ÿ’ช
  • vht_required โ€” stations must support VHT ๐Ÿ’ช
  • ht_oper โ€” HT operation element (or NULL if HT isn't enabled) ๐ŸŒฟ
  • vht_oper โ€” VHT operation element (or NULL if VHT isn't enabled) ๐ŸŒฟ
  • he_oper โ€” HE operation IE (or NULL if HE isn't enabled) ๐ŸŒฟ
  • eht_oper โ€” EHT operation IE (or NULL if EHT isn't enabled) ๐ŸŒฟ
  • uhr_oper โ€” UHR operation (or NULL if UHR isn't enabled) ๐ŸŒฟ

โœจ SEE ALSO โœจ

okay so before the page lets you go, it has to point at literally every other page in the cfg80211 cinematic universe ๐Ÿ’… and bestieโ€ฆ there are a lot of them. they all live in the kernel file ./include/net/cfg80211.h, they're all section (9), and every single one is listed here. no cap, no skipping, no "tl;dr" ๐Ÿ™ˆ hydrate and scroll ๐Ÿซถ

okay we're like 30 in and the list hasn't even started yet ๐Ÿ˜ญ stay with me, it's giving marathon energy ๐Ÿƒโ€โ™€๏ธ๐Ÿ’จ


okay hydration check ๐Ÿ’ง you're doing amazing, we're not even halfway ๐Ÿ˜… next up, the scanning girlies ๐ŸŒธ

  • 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 time ๐Ÿ”ฅ don't ask me to explain it here, that's what the page is for, just know it's listed ๐Ÿ’…


utility crew ๐Ÿงš these ones are lowkey the useful ones, iykyk

and the data path helpers, arguably the main characters of packet-land ๐Ÿ‘‘


regulatory enforcement infrastructure ๐Ÿ‘ฎโ€โ™€๏ธ the vibes are "don't break the law" and honestly? iconic

and the internal regulatory db functions, which are exactly what they sound like ๐Ÿซถ

back to the BSS girlies and the scanning notifications, here we go again ๐Ÿ˜ฎโ€๐Ÿ’จ


RFkill integration ๐ŸŒˆ because sometimes the move is just turning it off and on again

vendor commands ๐Ÿ’ผ for when you need your own special little commands

test mode ๐Ÿงช we love a controlled experiment


okay the connection / roaming / notification section and bestie it is long ๐Ÿ˜ญ but every one of these is a real page and they're all getting their moment


and THAT'S the cross-references bestie ๐ŸŽ€ every last one, accounted for, not a single name dropped. but don't close the tab โ€” the page isn't done with you yet, part 3 is right there and it has more to say ๐Ÿ’œ keep scrolling ๐Ÿฆ‹

โ€ฆand the rest of the reading list โœจ (yes bestie, there's more, grab a snack, we're doing this) ๐Ÿ“

like, the feature-flag girlies ๐Ÿ’…

the whole NAN saga continues, obvi ๐ŸŒˆ

and that's the entire extended universe, no skips, no cuts, we ate the whole thing ๐Ÿ‘‘ ngl this list is giving "the group chat has 64 members and everyone has opinions" but every single one is here because we don't gatekeep ๐Ÿซถ


okay that's the whole page babes ๐Ÿ’– go read the ones that sound relevant to whatever you're building, and remember: the cross-references are load-bearing, don't @ me

and a lil sign-off for the credits, because even manpages deserve a bow ๐ŸŽ€ this one lives in ./include/net and it's stamped October 2026, filed oh-so-officially under struct cfg80211_beacon_data(9). iconic, no notes ๐Ÿ’…โœจ๐ŸŒธ

๐Ÿ“ฆ where this page comes from