ENUM IWL_MAC_DATA_POLICY(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum iwl_mac_data_policy(9) β€” the group chat version

okay so this is a page from the Kernel API Manual, bestie β€” it's all about enum iwl_mac_data_policy, which is literally "policy of the data path for this MAC". That's the whole vibe. It's the little enum that tells the firmware how the data path for a given MAC should behave, and every single one of its members is a whole personality. Let's get into it πŸŽ€


✨ SYNOPSIS ✨

Here's the whole squad, exactly as declared:

enum iwl_mac_data_policy {
    TWT_SUPPORTED ,
    MORE_DATA_ACK_SUPPORTED ,
    FLEXIBLE_TWT_SUPPORTED ,
    PROTECTED_TWT_SUPPORTED ,
    BROADCAST_TWT_SUPPORTED ,
    COEX_HIGH_PRIORITY_ENABLE

};

periodt. six constants, no more, no less πŸ’…


🌸 Constants 🌸

okay so now the meet-the-cast portion of the program β€” each of these is a flag you can set in this policy, and ngl they're all doing very different jobs:

  • TWT_SUPPORTED β€” twt is supported. yes bestie, that's the entire description, it's giving "confident and brief" and honestly? iconic. TWT is supported, that's it, that's the whole tweet 🐦
  • MORE_DATA_ACK_SUPPORTED β€” the AP supports More Data Ack per paragraph 9.4.1.17 in the P802.11ax_D4 specification. and why do we care? because it's used for TWT early termination detection πŸ”₯ so like, this one's the little bird that tells you the TWT party might be ending early. very "someone left the group chat" energy.
  • FLEXIBLE_TWT_SUPPORTED β€” the AP supports a flexible TWT schedule. flexible! not rigid! we love a schedule with range πŸ¦‹
  • PROTECTED_TWT_SUPPORTED β€” the AP supports protected TWT frames (with 11w). that's the protected-management-frames situation, so these TWT frames come with a little security blanket 🫢
  • BROADCAST_TWT_SUPPORTED β€” the AP and the STA both support broadcast TWT. it takes two to tango, fr fr β€” both sides gotta be in on it πŸ’–
  • COEX_HIGH_PRIORITY_ENABLE β€” high priority mode for BT coex, to be used during 802.1X negotiation (and allowed during 4-way-HS). so this is the "excuse me, coming through" mode for Bluetooth coexistence β€” it's on deck while 802.1X negotiation is happening, and it's permitted during 4-way-HS too. main character energy in the airwaves, but only at the approved moments πŸ‘‘
lowkey reminder: COEX_HIGH_PRIORITY_ENABLE is scoped to 802.1X negotiation and allowed during 4-way-HS β€” don't go throwing it around outside those windows, iykyk πŸ™ˆ

πŸ” SEE ALSO πŸ”

the rabbit hole is deep and honestly kind of gorgeous. this enum lives in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/mac.h, and here's everything it's adjacent to β€” like the whole extended friend group:

  • enum iwl_mac_protection_flags(9)
  • enum iwl_mac_types(9)
  • enum iwl_tsf_id(9)
  • struct iwl_mac_data_ap(9)
  • struct iwl_mac_data_ibss(9)
  • struct iwl_mac_data_sta(9)
  • struct iwl_mac_data_go(9)
  • struct iwl_mac_data_p2p_sta(9)
  • struct iwl_mac_data_pibss(9)
  • enum iwl_mac_filter_flags(9)
  • enum iwl_mac_qos_flags(9)
  • struct iwl_ac_qos(9)
  • struct iwl_mac_ctx_cmd(9)
  • struct iwl_missed_beacons_notif_ver_3(9)
  • struct iwl_missed_beacons_notif_v4(9)
  • struct iwl_he_backoff_conf(9)
  • enum iwl_he_pkt_ext_constellations(9)
  • struct iwl_he_pkt_ext_v1(9)
  • struct iwl_he_pkt_ext_v2(9)
  • enum iwl_he_sta_ctxt_flags(9)
  • enum iwl_he_htc_flags(9)
  • struct iwl_he_sta_context_cmd_v1(9)
  • struct iwl_he_sta_context_cmd_v2(9)
  • struct iwl_he_sta_context_cmd_v3(9)
  • struct iwl_he_monitor_cmd(9)

like, twenty-six entries, no cap. go read them, it's a whole binge-watch 🌈


and that's the page!! πŸ’œ this lil writeup came from ./drivers/net/wireless/intel/i... (scroll to the bottom of the original and it's the same path, just a little truncated ✨) and it's dated October 2026, all under enum iwl_mac_data_policy(9) in the Kernel API Manual. slay, go forth and configure your MAC data path policy with confidence, bestie πŸŽ€πŸ’…β­

πŸ“¦ where this page comes from