ENUM IWL_TX_OFFLOAD_ASSIST_FLAGS_POS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… enum iwl_tx_offload_assist_flags_pos(9)

okay so this is a page straight out of the Kernel API Manual β€” yes bestie, the actual kernel docs, we're in the big leagues now πŸŽ€ β€” and it's all about enum iwl_tx_offload_assist_flags_pos, which is the enum that sets the %iwl_tx_cmd_v6 offload_assist values. lowkey iconic name, I know. it's giving "I was named by a compiler" but we love her anyway πŸ¦‹


✨ SYNOPSIS ✨

enum iwl_tx_offload_assist_flags_pos {
    TX_CMD_OFFLD_IP_HDR ,
    TX_CMD_OFFLD_L4_EN ,
    TX_CMD_OFFLD_L3_EN ,
    TX_CMD_OFFLD_MH_SIZE ,
    TX_CMD_OFFLD_PAD ,
    TX_CMD_OFFLD_AMSDU

};

that's the whole squad, six constants, all listed below, no gatekeeping πŸ’–


🌸 CONSTANTS 🌸

  • TX_CMD_OFFLD_IP_HDR β€” this one's the offset to the start of the IP header, measured in words, counting from the end of the mac header. for the normal case? that's 4 words for SNAP. periodt. ✨
  • TX_CMD_OFFLD_L4_EN β€” turns on TCP/UDP checksum. that's it, that's the whole vibe 🫢
  • TX_CMD_OFFLD_L3_EN β€” turns on the IP header checksum. slay πŸ”₯
  • TX_CMD_OFFLD_MH_SIZE β€” the size of the mac header, in words. it includes the IV field, but it does not include the pad. very important distinction bestie, do not mix them up πŸ’…
  • TX_CMD_OFFLD_PAD β€” marks that a 2-byte pad was inserted after the mac header for alignment. little padding moment πŸŽ€
  • TX_CMD_OFFLD_AMSDU β€” marks that the TX command is A-MSDU. yup, that's the flag 🌈

⭐ note

okay so real talk: tx_cmd, the mac header and the pad are not counted in the offset. ngl this matters β€” it's there to help the offload when there's tunneling going on, like IPv6 inside IPv4. in that case the ip header offset should point to the inner ip header, and the IPv4 checksum of the external header should be calculated by the driver. so like, driver's job, not yours, don't @ me πŸ˜­πŸ’€

bestie please don't forget: inner header for the offset, external header's IPv4 checksum handled by the driver. that's the whole tea β˜•

πŸ¦‹ SEE ALSO πŸ¦‹

all of these live in the kernel file ./drivers/net/wireless/intel/iwlwifi/fw/api/tx.h β€” go read the whole family, they're all linked up:

  • enum iwl_tx_flags(9)
  • enum iwl_tx_cmd_flags(9)
  • enum iwl_tx_pm_timeouts(9)
  • enum iwl_tx_cmd_sec_ctrl(9)
  • struct iwl_tx_cmd_v6_params(9)
  • struct iwl_tx_cmd_v6(9)
  • struct iwl_tx_cmd_v9(9)
  • struct iwl_tx_cmd(9)
  • struct agg_tx_status(9)
  • struct iwl_tx_resp_v3(9)
  • struct iwl_tx_resp(9)
  • struct iwl_mvm_ba_notif(9)
  • struct iwl_compressed_ba_tfd(9)
  • struct iwl_compressed_ba_ratid(9)
  • struct iwl_compressed_ba_notif(9)
  • struct iwl_mac_beacon_cmd_v6(9)
  • struct iwl_mac_beacon_cmd_v7(9)
  • struct iwl_mac_beacon_cmd(9)
  • struct iwl_extended_beacon_notif_v5(9)
  • struct iwl_extended_beacon_notif(9)
  • enum iwl_dump_control(9)
  • struct iwl_tx_path_flush_cmd_v1(9)
  • struct iwl_tx_path_flush_cmd(9)
  • struct iwl_flush_queue_info(9)
  • struct iwl_tx_path_flush_cmd_rsp(9)
  • struct iwl_scd_txq_cfg_cmd(9)
  • struct iwl_scd_txq_cfg_rsp(9)

like, that's a whole friend group right there, go say hi πŸ‘‘πŸ’œ


and that's the page!! sourced from ./drivers/net/wireless/intel/i... (yes the filename got cut off, the kernel docs are mysterious like that πŸ™ˆ) and dated October 2026 β€” future queen behavior fr fr. mwah, study up and go off πŸ’–βœ¨πŸŒΈ

πŸ“¦ where this page comes from