STRUCT IWL_SSID_IE(9)
π NAME π
struct iwl_ssid_ie β the directed scan network information element, bestie β¨
So like, this lil struct is literally the thing that carries "hey, go look for this network" energy into a scan. It's giving instruction card. Obsessed.
π SYNOPSIS π
struct iwl_ssid_ie {
u8 id;
u8 len;
u8 ssid[IEEE80211_MAX_SSID_LEN];
};
Lowkey the whole struct is three fields and it still ate. Periodt.
πΈ MEMBERS πΈ
idβ the element ID π that's literally its whole joblenβ the element length, aka how much of this thing is actually realssidβ the element (SSID) data itself, the actual main character π«Ά
π¦ DESCRIPTION π¦
Okay so here's the tea β β up to 20 of these can show up in REPLY_SCAN_CMD, and which ones get picked is decided by the "type" bit field in struct iwl_scan_channel. So each channel gets to choose a different set of ssids from among those 20 entries. Not me loving the flexibility π
And ngl, the detail you can't skip: SSID IEs get transmitted in reverse order of entry. Yes, backwards. No cap, that's just how it is. π₯
π SEE ALSO π
Took a lil stroll through the whole scan family, and honestly? Iconic lineup π β go read these:
- Kernel file
./drivers/net/wireless/intel/iwlwifi/fw/api/scan.h - enum
iwl_scan_subcmd_ids(9) - struct
iwl_scan_offload_blocklist(9) - struct
iwl_scan_offload_profile(9) - struct
iwl_scan_offload_profile_cfg_data(9) - struct
iwl_scan_offload_profile_cfg_v1(9) - struct
iwl_scan_offload_profile_cfg(9) - struct
iwl_scan_schedule_lmac(9) - struct
iwl_scan_req_tx_cmd(9) - struct
iwl_scan_channel_cfg_lmac(9) - struct
iwl_scan_probe_segment(9) - struct
iwl_scan_probe_req_v1(9) - struct
iwl_scan_probe_req(9) - struct
iwl_scan_channel_opt(9) - enum
iwl_mvm_lmac_scan_flags(9) - struct
iwl_scan_req_lmac(9) - struct
iwl_scan_results_notif(9) - struct
iwl_lmac_scan_complete_notif(9) - struct
iwl_periodic_scan_complete(9) - struct
iwl_scan_dwell(9) - struct
iwl_scan_config_v1(9) - struct
iwl_scan_config_v2(9) - struct
iwl_scan_config(9) - enum
iwl_umac_scan_flags(9) - enum
iwl_umac_scan_general_flags2(9) - enum
iwl_umac_scan_general_flags_v2(9) - enum
iwl_umac_scan_general_params_flags2(9) - struct
iwl_scan_channel_cfg_umac(9) - struct
iwl_scan_umac_schedule(9) - struct
iwl_scan_req_umac_tail_v2(9) - struct
iwl_scan_umac_chan_param(9) - struct
iwl_scan_req_umac(9) - struct
iwl_scan_probe_params_v3(9) - struct
iwl_scan_probe_params_v4(9) - struct
iwl_scan_channel_params_v4(9) - struct
iwl_scan_channel_params_v7(9) - struct
iwl_scan_channel_params_v8(9) - struct
iwl_scan_general_params_v11(9) - struct
iwl_scan_periodic_parms_v1(9) - struct
iwl_scan_req_params_v12(9) - struct
iwl_scan_req_params_v17(9) - struct
iwl_scan_req_params_v18(9) - struct
iwl_scan_req_umac_v12(9) - struct
iwl_scan_req_umac_v17(9) - struct
iwl_scan_req_umac_v18(9) - struct
iwl_umac_scan_abort(9) - enum
iwl_umac_scan_abort_status(9) - struct
iwl_umac_scan_start(9) - struct
iwl_umac_scan_complete(9) - struct
iwl_scan_offload_profile_match_v1(9) - struct
iwl_scan_offload_profiles_query_v1(9) - struct
iwl_scan_offload_profile_match(9) - struct
iwl_scan_offload_match_info(9) - struct
iwl_umac_scan_iter_complete_notif(9) - struct
iwl_umac_scan_channel_survey_notif(9)
π That's the whole vibe check, bestie β 20 entries max, reverse order on the wire, no notes.
And before you go π₯Ί β this page came from ./drivers/net/wireless/intel/i..., slapped with an October 2026 date, and it's filed under struct iwl_ssid_ie(9). Stan. ππ§π
π¦ 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