STRUCT IWL_MVM_ADD_STA_CMD_V7(9)
π struct iwl_mvm_add_sta_cmd_v7 β the Kernel API Manual glow-up π
okay so bestie, gather round, because today we're getting into struct iwl_mvm_add_sta_cmd_v7 from the Kernel API Manual and honestly? it's giving "I hold the whole station table together" energy. this is the struct you use to add/modify a station in the fw's sta table (and yes, REPLY_ADD_STA = 0x18, write it down π).
β¨ SYNOPSIS β¨
like, here's the whole vibe, character for character, no notes:
struct iwl_mvm_add_sta_cmd_v7 {
u8 add_modify;
u8 awake_acs;
__le16 tid_disable_tx;
__le32 mac_id_n_color;
u8 addr[ETH_ALEN];
__le16 reserved2;
u8 sta_id;
u8 modify_mask;
__le16 reserved3;
__le32 station_flags;
__le32 station_flags_msk;
u8 add_immediate_ba_tid;
u8 remove_immediate_ba_tid;
__le16 add_immediate_ba_ssn;
__le16 sleep_tx_count;
__le16 sleep_state_flags;
__le16 assoc_id;
__le16 beamform_flags;
__le32 tfd_queue_msk;
};
she's long, she's structured, she's iconic. π
π Members π
every single field, explained with love:
add_modifyβ the mood setter, fr. seeenum iwl_sta_mode.awake_acsβ the ACs to transmit data on while the station is sleeping (for U-APSD). she's awake even when she's asleep, main character energy.tid_disable_txβ this istidBIT(tid)enabled for Tx. clearBIT(x)to enable AMPDU for tid x. and to change this field? setSTA_MODIFY_TID_DISABLE_TX. iykyk.mac_id_n_colorβ the Mac context this station belongs to, seeenum iwl_ctxt_id_and_color.addrβ station's MAC address. the whole identity, honestly.reserved2β reserved. she's just vibing, don't touch her. π«Άsta_idβ index of station in uCode's station table.modify_maskβ fromenum iwl_sta_modify_flag, selects what to change. this is the "what are we editing today bestie" field.reserved3β reserved. again. respectfully. πstation_flagsβ look atenum iwl_sta_flags.station_flags_mskβ what ofstation_flagshave changed, alsoenum iwl_sta_flags. the diff, basically β¨add_immediate_ba_tidβ tid for which to add block-ack support (Rx). setSTA_MODIFY_ADD_BA_TIDto use this field, and also setadd_immediate_ba_ssn. both or it doesn't count, periodt.remove_immediate_ba_tidβ tid for which to remove block-ack support (Rx). setSTA_MODIFY_REMOVE_BA_TIDto use this field.add_immediate_ba_ssnβ ssn for the Rx block-ack session. used together withadd_immediate_ba_tid. they're a package deal πsleep_tx_countβ number of packets to transmit to station even though it is asleep. used to synchronise PS-poll and u-APSD responses while ucode keeps track of STA sleep state. the way that she keeps receipts πsleep_state_flagsβ look atenum iwl_sta_sleep_flag.assoc_idβassoc_idto be sent in VHT PLCP (9-bit), for grp use0, for AP mac-addr.beamform_flagsβ beam forming controls. πtfd_queue_mskβ tfd queues used by this station.
π Description π
so the device contains an internal table of per-station information, with info on security keys, aggregation parameters, and Tx rates for initial Tx attempt and any retries (set by REPLY_TX_LINK_QUALITY_CMD). that's the lore. π₯
and ADD_STA sets up the table entry for one station β either creating a new entry, or modifying a pre-existing one. that's it, that's the whole job, and she does it flawlessly. no cap.
ngl bestie, remember this is a V7 version of the struct β the manpage lists the V7 layout up there, so don't go mixing her fields up with some other version's. π
π¦ SEE ALSO π¦
go read these next, they're all in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/sta.h:
enum iwl_sta_flags(9)enum iwl_sta_key_flag(9)enum iwl_sta_modify_flag(9)enum iwl_sta_mode(9)enum iwl_sta_sleep_flag(9)enum iwl_sta_type(9)struct iwl_mvm_add_sta_cmd(9)struct iwl_mvm_add_sta_key_common(9)struct iwl_mvm_add_sta_key_cmd_v1(9)struct iwl_mvm_add_sta_key_cmd(9)enum iwl_mvm_add_sta_rsp_status(9)struct iwl_mvm_rm_sta_cmd(9)struct iwl_mvm_mgmt_mcast_key_cmd_v1(9)struct iwl_mvm_mgmt_mcast_key_cmd(9)struct iwl_mvm_eosp_notification(9)
aaaand that's the page!! π this one comes from ./drivers/net/wireless/intel/i..., dated October 2026, and the manual name is struct iwl_...d_sta_cmd_v7(9) β yes she got abbreviated in the header and yes she still ate. mwah, go forth and add your stations bestie ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms