STRUCT IEEE80211_CHANNEL_SWITCH(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ¦‹ struct ieee80211_channel_switch (9) β€” Kernel API Manual πŸ¦‹

okay so bestie, we're in the Kernel API Manual today and the vibe is very "the wifi is about to move and we all need to know about it". Sit down, hydrate, let's go πŸ’–


✨ NAME ✨

struct ieee80211_channel_switch β€” the lil struct that holds the channel switch data, no cap 🫢


🌸 SYNOPSIS 🌸

struct ieee80211_channel_switch {
    u64 timestamp;
    u32 device_timestamp;
    bool block_tx;
    struct cfg80211_chan_def chandef;
    u8 count;
    u8 link_id;
    u32 delay;
};

like, that's the whole squad right there πŸ‘‘


πŸŽ€ MEMBERS πŸŽ€

  • timestamp β€” this is the value, in microseconds, of the 64-bit Time Synchronization Function (TSF) timer at the exact moment the frame carrying the channel switch announcement got received. and like… it's literally just the rx.mactime parameter that the driver handed to mac80211. that's it. that's the whole thing πŸ’…
  • device_timestamp β€” an arbitrary timestamp, for the device. this one is the rx.device_timestamp parameter that the driver passed to mac80211 ✨
  • block_tx β€” tells you whether transmission must be blocked before the scheduled channel switch, as indicated by the AP. so if the AP says "shh, no sending", this is how you know πŸ™ˆ
  • chandef β€” the new channel we're switching to. the destination. the new main character 🌈
  • count β€” the number of TBTT's until the channel switch event. countdown behavior, lowkey stressful 😭
  • link_id β€” the link ID of the link doing the channel switch. it's 0 for non-MLO πŸ¦‹
  • delay β€” the maximum delay between the time the AP transmitted the last beacon in the current channel and the expected time of the first beacon in the new channel, expressed in TU. yes, TU. keep up bestie πŸ’œ

πŸ”₯ DESCRIPTION πŸ”₯

the information provided in this structure is required for channel switch operation. that's the tea. without it, no switching. periodt πŸ‘‘


πŸ‘‘ SEE ALSO πŸ‘‘

okay so this list is giving "the entire mac80211 extended universe" and honestly? iconic. here's every single one, Kernel file ./include/net/mac80211.h included, in order, no skips, no notes πŸ’€


bestie if you read all 300+ of those you deserve a little treat πŸ“

and that's the whole page!! sourced from ./include/net, dated October 2026, filed under struct ieee...annel_switch(9) in the manual β€” mwah, love u, go switch some channels responsibly πŸ’–βœ¨πŸŽ€

πŸ“¦ where this page comes from