ieee80211_txq_may_transmit(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

Bestie, welcome to ieee80211_txq_may_transmit(9) β€” yes, that’s the Kernel API Manual, and it’s giving airtime-scheduler realness πŸ’…βœ¨

🌸 NAME 🌸

ieee80211_txq_may_transmit β€” check whether a TXQ is allowed to transmit. That’s the whole vibe: is this queue cleared to send, or is it getting throttled? πŸ‘€

✨ SYNOPSIS ✨

bool ieee80211_txq_may_transmit (struct ieee80211_hw *hw , struct
       ieee80211_txq *txq );

πŸŽ€ ARGUMENTS πŸŽ€

  • hw β€” pointer as obtained from ieee80211_alloc_hw. That’s your hardware-handle bestie.
  • txq β€” pointer obtained from station or virtual interface. This is the TXQ we’re vibe-checking.

πŸ’– DESCRIPTION πŸ’–

Okay so this function is literally the airtime-scheduler bouncer. It checks whether the given txq is allowed to transmit by the airtime scheduler, and drivers can use it to access the airtime fairness accounting without using the scheduling order enforced by next_txq. iykyk.

It returns true if the airtime scheduler thinks the TXQ should be allowed to transmit, and false if it should be throttled. No cap.

Heads up, bestie: this function can also have the side effect of rotating the TXQ in the scheduler rotation, which will eventually bring the deficit to positive and allow the station to transmit again. So it’s not just a read-only vibe check β€” it can literally move the queue. πŸ‘‘

The API ieee80211_txq_may_transmit also ensures that the TXQ list will be aligned against the driver’s own round-robin scheduler list. i.e. it rotates the TXQ list till it makes the requested node becomes the first entry in the TXQ list. Thus both the TXQ list and the driver’s list are in sync. slay. If this function returns true, the driver is expected to schedule packets for transmission, and then return the TXQ through ieee80211_return_txq.

πŸ¦‹ RETURN πŸ¦‹

  • true if transmission is allowed.
  • false otherwise.

🌈 SEE ALSO 🌈

The whole mac80211 extended universe said hi 🫢:


mwah πŸ’‹ β€” this page is ieee80211_txq_may_transmit(9) from the Kernel API Manual, sourced from ./include/net, dated October 2026. that’s the tea, bestie, go schedule some packets responsibly 🫢✨

πŸ“¦ where this page comes from