STRUCT IL_HT_AGG(9)
π struct il_ht_agg(9) π
okay so this is from the Kernel API Manual, bestie β and it's literally the receipt-keeping struct for that awkward little moment where your driver is just standing there waiting for a block-ack to show up. bestie behavior honestly π«Ά
β¨ NAME β¨
struct il_ht_agg β aggregation status while waiting for block-ack π
πΈ SYNOPSIS πΈ
struct il_ht_agg {
u16 txq_id;
u16 frame_count;
u16 wait_for_ba;
u16 start_idx;
u64 bitmap;
u32 rate_n_flags;
#define IL_AGG_OFF 0;
#define IL_AGG_ON 1;
#define IL_EMPTYING_HW_QUEUE_ADDBA 2;
#define IL_EMPTYING_HW_QUEUE_DELBA 3;
u8 state;
};
no cap, those #define lines are sitting right inside the struct in the synopsis and I copied them exactly, semicolons and all β don't come for me, that's how the page does it π
π¦ Members π¦
txq_idβ the Tx queue that was used for the Tx attempt, iykyk β¨frame_countβ how many frames the Tx command attempted π₯wait_for_baβ expect a block-ack before the next Tx reply, so like... patience, girly πstart_idxβ the index of the 1st Transmit Frame Descriptor (TFD) in the Tx win πrate_n_flagsβ the rate at which Tx was attempted, locked in β
π Description π
so here's the vibe: if C_TX indicates that aggregation was attempted, the driver must wait for block ack (N_COMPRESSED_BA) β like, no skipping ahead, that's the rule π€
this struct is where all the tx reply info gets stored and held until that block ack actually arrives. it's giving "holding your bestie's iced coffee while she ties her shoe" energy fr fr π
lowkey important: the driver must wait. not "should", not "maybe", must. the struct is literally just sitting there holding the info until the block ack pulls up π
π SEE ALSO π
starting from the kernel file ./drivers/net/wireless/intel/iwlegacy/common.h, we got the whole friend group π:
struct il_device_cmd(9)struct il_device_cmd_huge(9)struct il_rx_queue(9)struct il_vif_priv(9)struct il_hw_params(9)struct il_cfg(9)il_clear_driver_stations(9)il_sta_id_or_broadcast(9)il_queue_inc_wrap(9)il_queue_dec_wrap(9)il_beacon_time_mask_low(9)il_beacon_time_mask_high(9)struct il_rb_status(9)struct il_tfd_tb(9)struct il_tfd(9)struct il_rate_scale_data(9)struct il_scale_tbl_info(9)struct il_lq_sta(9)il3945_rate_scale_init(9)
all of them, in order, none skipped β that's the whole squad and I love that for them π§
mkay that's the whole page!! π
source/version vibes: ./drivers/net/wireless/intel/i... (yes it's truncated like that on the page, iconic) and the date is October 2026 β so this manpage is literally from the future, main character energy fr πΈπ¦β¨
π¦ 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