STRUCT IWL_TWT_OPERATION_CMD(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 struct iwl_twt_operation_cmd(9) 🌸

okay so this is straight out of the Kernel API Manual, and it's literally the struct you use to kick off a TWT session from the driver side. bestie. it's giving "networking but make it scheduled." no cap.


✨ NAME ✨

struct iwl_twt_operation_cmd β€” initiate a TWT session from driver πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

struct iwl_twt_operation_cmd {
    __le32 link_id;
    __le32 twt_operation;
    __le64 target_wake_time;
    __le32 interval_exponent;
    __le32 interval_mantissa;
    __le32 minimum_wake_duration;
    u8 trigger;
    u8 flow_type;
    u8 flow_id;
    u8 twt_protection;
    u8 ndp_paging_indicator;
    u8 responder_pm_mode;
    u8 negotiation_type;
    u8 twt_request;
    u8 implicit;
    u8 twt_group_assignment;
    u8 twt_channel;
    u8 restricted_info_present;
    u8 dl_bitmap_valid;
    u8 ul_bitmap_valid;
    u8 dl_tid_bitmap;
    u8 ul_tid_bitmap;
 };

look at all those u8s. it's a whole little army. 🫢


πŸ¦‹ Members πŸ¦‹

okay bestie, field by field, no skipping, this is the whole roster πŸ‘‘

  • link_id β€” the FW link id, like, the one you initiate the TWT on
  • twt_operation β€” of type enum iwl_twt_operation_type
  • target_wake_time β€” the TSF time to start the TWT ⏰ (yes, actual start time, not a vibe)
  • interval_exponent β€” the exponent for the interval
  • interval_mantissa β€” the mantissa for the interval (exp + mantissa = the interval math, iconic pairing)
  • minimum_wake_duration β€” the minimum duration for the wake period
  • trigger β€” is the TWT triggered or not
  • flow_type β€” is the TWT announced (0) or not (1)
  • flow_id β€” the TWT flow identifier 0 - 7
  • twt_protection β€” is the TWT protected
  • ndp_paging_indicator β€” is ndp paging indicator set
  • responder_pm_mode β€” is responder pm mode set
  • negotiation_type β€” if the responder wants to doze outside the TWT SP 😴
  • twt_request β€” 1 for TWT request (STA), 0 for TWT response (AP)
  • implicit β€” is TWT implicit
  • twt_group_assignment β€” the TWT group assignment
  • twt_channel β€” the TWT channel
  • restricted_info_present β€” is this a restricted TWT
  • dl_bitmap_valid β€” is DL (download) bitmap valid (restricted TWT)
  • ul_bitmap_valid β€” is UL (upload) bitmap valid (restricted TWT)
  • dl_tid_bitmap β€” DL TID bitmap (restricted TWT)
  • ul_tid_bitmap β€” UL TID bitmap (restricted TWT)
ngl the last four are all "restricted TWT" coded, so if you're not doing restricted TWT they're just sitting there looking pretty πŸ’€

🌈 SEE ALSO 🌈

Kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/mac-cfg.h β€” and then the whole extended friend group, in order, because we don't do half a list here 🧚:

  • 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_config_cmd_v3(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_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)

that's fifty-one entries, I counted, we do not abandon a single one πŸ’–


and that's the page, bestie πŸŽ€ this came from ./drivers/net/wireless/intel/i..., dated October 2026, and it's the struct iwl_t...peration_cmd(9) situation. slay. go schedule something. πŸ’…βœ¨

πŸ“¦ where this page comes from