STRUCT ATH_TX_STATS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ath_tx_stats(9)

okay so this is a page from the Kernel API Manual bestie, and it's literally about struct ath_tx_stats β€” the stats struct that keeps receipts on all your TX. it's giving "who's counting?" and the answer is: this struct. she's counting. πŸŽ€


✨ NAME ✨

struct ath_tx_stats β€” Statistics about TX πŸ“Š


🌸 SYNOPSIS 🌸

like, here's the whole glow-up, one field at a time, no cap:

struct ath_tx_stats {
    u32 tx_pkts_all;
    u32 tx_bytes_all;
    u32 queued;
    u32 completed;
    u32 xretries;
    u32 a_aggr;
    u32 a_queued_hw;
    u32 a_completed;
    u32 a_retries;
    u32 a_xretries;
    u32 txerr_filtered;
    u32 fifo_underrun;
    u32 xtxop;
    u32 timer_exp;
    u32 desc_cfg_err;
    u32 data_underrun;
    u32 delim_underrun;
    u32 puttxbuf;
    u32 txstart;
    u32 txprocdesc;
    u32 txfailed;
 };

πŸ¦‹ Members πŸ¦‹

okay bestie, field-by-field tour, let's go πŸ’–

  • tx_pkts_all β€” No. of total frames transmitted, including ones that may have had errors. she counts everything, messy or not πŸ™ˆ
  • tx_bytes_all β€” No. of total bytes transmitted, including ones that may have had errors. same energy, but in bytes πŸ’€
  • queued β€” Total MPDUs (non-aggr) queued
  • completed β€” Total MPDUs (non-aggr) completed ✨
  • xretries β€” Total MPDUs with xretries
  • a_aggr β€” Total no. of aggregates queued
  • a_queued_hw β€” Total AMPDUs queued to hardware
  • a_completed β€” Total AMPDUs completed 🫢
  • a_retries β€” No. of AMPDUs retried (SW)
  • a_xretries β€” No. of AMPDUs dropped due to xretries 😭
  • txerr_filtered β€” No. of frames with TXERR_FILT flag set.
  • fifo_underrun β€” FIFO underrun occurrences. Valid only for:
    • non-aggregate condition.
    • first packet of aggregate.
  • xtxop β€” No. of frames filtered because of TXOP limit
  • timer_exp β€” Transmit timer expiry ⏰
  • desc_cfg_err β€” Descriptor configuration errors
  • data_underrun β€” TX data underrun errors
  • delim_underrun β€” TX delimiter underrun errors
  • puttxbuf β€” Number of times hardware was given txbuf to write.
  • txstart β€” Number of times hardware was told to start tx. 🏁
  • txprocdesc β€” Number of times tx descriptor was processed
  • txfailed β€” Out-of-memory or other errors in xmit path. the sad one fr fr πŸ˜”
ngl, note the fifo_underrun caveat β€” those occurrences are only valid for the two cases listed above. don't come for her about it, she told you upfront 🫢

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/net/wireless/ath/ath9k/debug.h
  • struct ath_interrupt_stats(9) β€” her sister page, go give her a read too πŸ‘‘

and that's the whole page, bestie β€” slay πŸ’…βœ¨

shoutout to the source, ./drivers/net/wireless/ath/ath9k, dated October 2026 β€” iconic of them to keep the receipts, periodt πŸŒˆπŸ“

πŸ“¦ where this page comes from