ieee80211_set_active_links(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay bestie, welcome to ieee80211_set_active_links(9) from the Kernel API Manual. This one is literally about setting the active links in client mode β€” that's the whole name, no cap. πŸ’…

✨ SYNOPSIS ✨

int ieee80211_set_active_links (struct ieee80211_vif *vif , u16
       active_links );

πŸŽ€ ARGUMENTS πŸŽ€

  • vif β€” the interface you're setting active links on. main character energy, honestly.
  • active_links β€” the new active links bitmap. yes, a bitmap. slay. ✨

πŸ¦‹ CONTEXT πŸ¦‹

okay, rules before you touch it:

  • you must call this with the wiphy mutex held.
  • it may sleep.
  • it calls back into the driver.

No cap, all three matter. This is not a "just call it from anywhere" situation, bestie. 🫢

πŸ’… DESCRIPTION πŸ’…

This changes the active links on an interface. The interface must be in client mode β€” in AP mode, all links are always active, periodt. And active_links must be a subset of the vif's valid_links. Got it? subset. not "kinda close", not "extra link as a treat". πŸ’€

If a link is switched off and another is switched on at the same time (e.g. active_links going from 0x1 to 0x10) then you will get a sequence of calls like:

  • change_vif_links(0x11)
  • unassign_vif_chanctx(link_id=0)
  • assign_vif_chanctx(link_id=4)
  • change_sta_links(0x11) for each affected STA (the AP) (TDLS connections on now inactive links should be torn down)
  • remove group keys on the old link (link_id 0)
  • add new group keys (GTK/IGTK/BIGTK) on the new link (link_id 4)
  • change_sta_links(0x10) for each affected STA (the AP)
  • change_vif_links(0x10)

That's the whole little choreography, and yes, it's giving "backstage pass" energy. πŸŽ€

🌈 RETURN 🌈

0 on success. An error code otherwise. that's it, no extra lore. 😌

πŸ‘‘ SEE ALSO πŸ‘‘

okay the see-also list is giving "entire contact list" energy, and I'm not skipping a single one. First up, the Kernel file: ./include/net/mac80211.h. Then the whole squad is:


that's the whole page, bestie 🫢 source/version: ./include/net; date: October 2026; and yes, it's still ieee80211_set_active_links(9) energy all the way down. πŸ’…

πŸ“¦ where this page comes from