STRUCT IWL_MAC_BEACON_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_mac_beacon_cmd(9) πŸ’–

okay bestie, buckle up β€” this is a page straight out of the Kernel API Manual, and it's all about struct iwl_mac_beacon_cmd. it's the beacon template command with offloaded CSA, and honestly? she's iconic. let's get into it πŸŽ€


✨ SYNOPSIS ✨

here's the whole struct, exactly as she lives in the kernel β€” no notes, no edits, just vibes:

struct iwl_mac_beacon_cmd {
    __le16 byte_cnt;
    __le16 flags;
    __le32 short_ssid;
    __le32 reserved;
    __le32 link_id;
    __le32 tim_idx;
    union {
      __le32 tim_size;
      __le32 btwt_offset;
    };
    __le32 ecsa_offset;
    __le32 csa_offset;
    struct ieee80211_hdr frame[];
};

like, look at that anonymous union just floating there. main character energy fr fr πŸ’…


πŸ¦‹ Members πŸ¦‹

okay so let's go field by field, because every single one of these matters, no cap:

  • byte_cnt β€” the byte count of the beacon frame. that's it, that's the whole job πŸ“
  • flags β€” the least significant byte here is the rate code. the most significant byte is enum iwl_mac_beacon_flags. two jobs, one field, she contains multitudes ✨
  • short_ssid β€” the Short SSID. literally, that's the description. short and sweet, we respect it 🫢
  • reserved β€” reserved. it's reserved bestie, don't touch it πŸ™ˆ
  • link_id β€” the firmware id of the link that will use this beacon πŸ‘‘
  • tim_idx β€” the offset of the tim IE in the beacon πŸ“
  • {unnamed_union} β€” anonymous. yes, that's really the whole description. she's mysterious, she's unnamed, she refuses to elaborate πŸ’€
  • tim_size β€” the length of the tim IE (version < 14). note the version gate, it's important 🧚
  • btwt_offset β€” offset to the broadcast TWT IE if present (version >= 14). this is the other half of that anonymous union, so it's one or the other depending on version, iykyk 🌈
  • ecsa_offset β€” offset to the ECSA IE if present 🌸
  • csa_offset β€” offset to the CSA IE if present πŸ”₯
  • frame β€” the template of the beacon frame. it's a flexible array member (struct ieee80211_hdr frame[]), so she stretches to fit ⭐
lowkey reminder: tim_size and btwt_offset share that anonymous union β€” you get the tim IE length on version < 14, and the broadcast TWT IE offset on version >= 14. don't mix them up, bestie 😭

🌟 SEE ALSO 🌟

the whole friend group, and we're listing every single one because nobody gets left out πŸ’œ:

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/tx.h
  • enum iwl_tx_flags(9)
  • enum iwl_tx_cmd_flags(9)
  • enum iwl_tx_pm_timeouts(9)
  • enum iwl_tx_cmd_sec_ctrl(9)
  • enum iwl_tx_offload_assist_flags_pos(9)
  • struct iwl_tx_cmd_v6_params(9)
  • struct iwl_tx_cmd_v6(9)
  • struct iwl_tx_cmd_v9(9)
  • struct iwl_tx_cmd(9)
  • struct agg_tx_status(9)
  • struct iwl_tx_resp_v3(9)
  • struct iwl_tx_resp(9)
  • struct iwl_mvm_ba_notif(9)
  • struct iwl_compressed_ba_tfd(9)
  • struct iwl_compressed_ba_ratid(9)
  • struct iwl_compressed_ba_notif(9)
  • struct iwl_mac_beacon_cmd_v6(9)
  • struct iwl_mac_beacon_cmd_v7(9)
  • struct iwl_extended_beacon_notif_v5(9)
  • struct iwl_extended_beacon_notif(9)
  • enum iwl_dump_control(9)
  • struct iwl_tx_path_flush_cmd_v1(9)
  • struct iwl_tx_path_flush_cmd(9)
  • struct iwl_flush_queue_info(9)
  • struct iwl_tx_path_flush_cmd_rsp(9)
  • struct iwl_scd_txq_cfg_cmd(9)
  • struct iwl_scd_txq_cfg_rsp(9)

and that's the page, bestie!! πŸŽ€ signed off from ./drivers/net/wireless/intel/i..., dated October 2026, and she's still out here being struct iwl_mac_beacon_cmd(9). go forth and beacon responsibly βœ¨πŸ’–πŸ¦‹

πŸ“¦ where this page comes from