STRUCT IWL_MAC_CONFIG_CMD_V3(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct iwl_mac_config_cmd_v3 β€” from the Kernel API Manual ✨

okay bestie so this is a page straight out of the Kernel API Manual, and it's all about struct iwl_mac_config_cmd_v3. gorgeous name, iconic struct, let's get into it 🫢


✨ NAME ✨

struct iwl_mac_config_cmd_v3 β€” the command structure you use to configure MAC contexts in the MLD API, for versions 2 and 3. and the subcommand id for it? MAC_CONTEXT_CONFIG_CMD = 0x8 πŸŽ€


🌸 SYNOPSIS 🌸

struct iwl_mac_config_cmd_v3 {
    __le32 id_and_color;
    __le32 action;
    __le32 mac_type;
    u8 local_mld_addr[6];
    __le16 reserved_for_local_mld_addr;
    __le32 filter_flags;
    union {
      struct iwl_mac_wifi_gen_support_v2 wifi_gen_v2;
      struct iwl_mac_wifi_gen_support wifi_gen;
    };
    __le32 nic_not_ack_enabled;
    union {
      struct iwl_mac_client_data client;
      struct iwl_mac_p2p_dev_data p2p_dev;
    };
 };

look at that layout. the alignment? ate. no notes πŸ’…


πŸ¦‹ Members πŸ¦‹

  • id_and_color β€” the ID and the color of the MAC. yes, both, in one field, we love a two-for-one πŸ’–
  • action β€” the action you're performing. check enum iwl_ctxt_action for your options.
  • mac_type β€” one of enum iwl_mac_types.
  • local_mld_addr β€” the mld address. it's a u8 local_mld_addr[6], so, y'know, six of them 🌸
  • reserved_for_local_mld_addr β€” reserved. that's it. that's the whole vibe. don't touch it πŸ™ˆ
  • filter_flags β€” a combination of enum iwl_mac_config_filter_flags. mix and match bestie ✨
  • {unnamed_union} β€” anonymous. she has no name and she doesn't need one πŸ‘‘
    • wifi_gen_v2 β€” he/eht parameters, as in cmd version 2.
    • wifi_gen β€” he/eht/uhr parameters, as in cmd version 3. (yes version 3 got the extra uhr, main character energy honestly ⭐)
  • nic_not_ack_enabled β€” this one marks that the NIC doesn't support receiving ACK-enabled AGG, and by that we mean both BACK and non-BACK frames in a single AGG. if the NIC is not ACK_ENABLED it may use the EOF-bit in the first non-0 len delim to figure out whether it's looking at AGG or a single πŸ”₯
  • {unnamed_union} β€” anonymous again. twin anonymous unions, we stan a lowkey matching set πŸ’œ
    • client β€” the client mac data.
    • p2p_dev β€” the mac data for p2p device.
fr fr do not repurpose reserved_for_local_mld_addr for your little side quest. it says reserved and it means reserved 😭

πŸ” SEE ALSO πŸ”

Everything below lives in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h β€” go read it, it's giving lore 🧚

  • enum iwl_mac_conf_subcmd_ids(9)
  • struct iwl_p2p_noa_attr(9)
  • struct iwl_probe_resp_data_notif(9)
  • struct iwl_missed_vap_notif(9)
  • struct iwl_channel_switch_start_notif_v1(9)
  • struct iwl_channel_switch_start_notif(9)
  • struct iwl_channel_switch_error_notif_v1(9)
  • struct iwl_channel_switch_error_notif(9)
  • struct iwl_cancel_channel_switch_cmd(9)
  • struct iwl_chan_switch_te_cmd(9)
  • struct iwl_mac_low_latency_cmd(9)
  • struct iwl_mac_client_data(9)
  • struct iwl_mac_p2p_dev_data(9)
  • enum iwl_mac_config_filter_flags(9)
  • struct iwl_mac_wifi_gen_support_v2(9)
  • struct iwl_mac_wifi_gen_support(9)
  • struct iwl_mac_nan_data(9)
  • struct iwl_mac_config_cmd(9)
  • enum iwl_link_ctx_modify_flags(9)
  • enum iwl_link_ctx_protection_flags(9)
  • enum iwl_link_ctx_flags(9)
  • enum iwl_link_modify_bandwidth(9)
  • enum iwl_npca_flags(9)
  • struct iwl_npca_params(9)
  • struct iwl_link_config_cmd(9)
  • enum iwl_fw_sta_type(9)
  • struct iwl_sta_cfg_cmd_v1(9)
  • struct iwl_sta_cfg_cmd_v2(9)
  • struct iwl_sta_cfg_cmd(9)
  • struct iwl_aux_sta_cmd(9)
  • struct iwl_remove_sta_cmd(9)
  • struct iwl_mvm_sta_disable_tx_cmd(9)
  • enum iwl_mvm_fw_esr_recommendation(9)
  • struct iwl_esr_mode_notif_v1(9)
  • enum iwl_esr_leave_reason(9)
  • struct iwl_esr_mode_notif(9)
  • struct iwl_missed_beacons_notif(9)
  • struct iwl_esr_trans_fail_notif(9)
  • struct iwl_twt_operation_cmd(9)
  • struct iwl_nan_band_config(9)
  • enum iwl_nan_flags(9)
  • struct iwl_nan_config_cmd(9)
  • struct iwl_nan_schedule_cmd_v1(9)
  • struct iwl_nan_schedule_cmd(9)
  • struct iwl_nan_peer_cmd(9)
  • enum iwl_nan_cluster_notif_flags(9)
  • struct iwl_nan_cluster_notif(9)
  • struct iwl_nan_dw_end_notif(9)
  • struct iwl_nan_ulw_attr_notif(9)
  • enum iwl_nan_sched_update_status(9)
  • struct iwl_nan_sched_update_completed_notif(9)

and that's the page!! 🌈 the footer's giving ./drivers/net/wireless/intel/i... with October 2026 stamped on it (and the title running down the side as struct iwl_m...onfig_cmd_v3(9) because even manpage headers get truncated sometimes 😭). anyway bestie you're now officially unbothered, informed, and fluent in MLD MAC config. slay πŸ’…πŸ’–

πŸ“¦ where this page comes from