STATION TABLE - DRAIN VS. FLUSH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… station table β€” Drain vs. Flush πŸ’…

okay bestie so this is a page from the Kernel API Manual, section 9 β€” yes, the kernel-doc girlies, we love them πŸ’– β€” and it's about the station table and the two very different ways frames get yeeted. two words, two whole vibes, let's get into it πŸ¦‹


✨ NAME ✨

station table - Drain vs. Flush β€” the whole glow-up breakdown, no cap πŸ’…


🌸 DESCRIPTION 🌸

πŸ—‘οΈ Flush β€” the "everybody out" of it all

Flush means that all the frames in the SCD queue are dumped, regardless of the station to which they were sent. like, not even looking at who they were for. ruthless. iconic. πŸ”₯

We do that when we disassociate and before we remove the STA of the AP.

And lowkey the best part? The flush can be done synchronously against the fw. yes ma'am, we are waiting on the firmware and we are not sorry 🫢

πŸ’§ Drain β€” the "you specifically, bestie" of it all

Drain means that the fw will drop all the frames sent to a specific station. targeted. personal. very main character energy πŸ‘‘

This is useful when a client disassociates β€” and by "when we are IBSS / GO or AP" I mean that's the situation where we're the one holding it down for everybody else 🧚

fr fr the difference is literally: Flush = dump everything no matter who it was for, Drain = fw drops the frames headed to one specific station. two completely different moments, don't mix them up πŸ’€

πŸŽ€ SEE ALSO πŸŽ€

  • Kernel file ./drivers/net/wireless/intel/iwlwifi/mvm/sta.h
  • DQA - Dynamic Queue Allocation -introduction(9)
  • station table - introduction(9)
  • station table - locking(9)
  • station table - internal stations(9)
  • station table - AP Station in STA mode(9)
  • station table - fw restart(9)
  • AP mode - PS(9)
  • enum iwl_mvm_agg_state(9)
  • struct iwl_mvm_tid_data(9)
  • enum iwl_mvm_rxq_notif_type(9)
  • struct iwl_mvm_internal_rxq_notif(9)
  • struct iwl_mvm_rxq_dup_data(9)
  • struct iwl_mvm_link_sta(9)
  • struct iwl_mvm_sta(9)
  • struct iwl_mvm_int_sta(9)
  • iwl_mvm_sta_send_to_fw(9)
  • struct iwl_mvm_sta_state_ops(9)

and that's the whole page, bestie, you understood it perfectly the first time, I'm obsessed 😭✨

signing off with the source path ./drivers/net/wireless/intel/i... and a very autumnal October 2026 date stamp β€” she's a station tab...in vs. Flush(9) girlie through and through πŸ’œπŸ“

πŸ“¦ where this page comes from