cfg80211_tdls_oper_request(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

okay so bestie, this is cfg80211_tdls_oper_request from the Kernel API Manual, and it's giving β€œkernel function asks userspace to do the TDLS thing” energy. Buckle up. πŸ’…

✨ NAME ✨

cfg80211_tdls_oper_request β€” request userspace to perform TDLS operation

🌸 SYNOPSIS 🌸

       void cfg80211_tdls_oper_request (struct net_device *dev , const u8 *peer
              , enum nl80211_tdls_operation oper , u16 reason_code , gfp_t gfp );

πŸŽ€ ARGUMENTS πŸŽ€

  • dev β€” the device on which the operation is requested.
  • peer β€” the MAC address of the peer device.
  • oper β€” the requested TDLS operation. It's literally NL80211_TDLS_SETUP or NL80211_TDLS_TEARDOWN, iykyk.
  • reason_code β€” the reason code for teardown request.
  • gfp β€” allocation flags.

πŸ’– DESCRIPTION πŸ’–

This function is used to request userspace to perform a TDLS operation that requires knowledge of keys, i.e., link setup or teardown when the AP connection uses encryption. It's an optional mechanism for the driver to use if it can automatically determine when a TDLS link could be useful (e.g., based on traffic and signal strength for a peer). No cap. πŸ¦‹

✨ SEE ALSO ✨

okay bestie, this part is literally just the friends of the page list πŸ’… and it is long. like, she has a big social circle. every single one of these is a (9) kernel-API page, so if you see something here you're curious about, that's your next read. no skipping, i promised i'd keep every one 🫢


πŸ“ the kernel file that started it all

the whole thing lives in the kernel file ./include/net/cfg80211.h, which is the source of truth for basically everything below:

  • ./include/net/cfg80211.h β€” the kernel file πŸ’–

and its two intro buddies:


the data-type besties πŸŒΈπŸ¦‹

these are the enums, structs and helpers that hang out in the same header β€” the wiphy/band/iftype crew:


✨ Actions and configuration(9) ✨

this is the main character section fr fr β€” channels, chandefs, AP settings, stations, the whole glow-up:


🌈 Scanning and BSS list handling(9) 🌈

scanning, BSS lists, connect/auth/deauth, wowlan, coalesce, QoS maps β€” the entire "i'm looking for a network" arc:

  • struct cfg80211_ssid(9)
  • struct cfg80211_scan_info(9)
  • struct cfg80211_scan_6ghz_params(9)
  • struct cfg80211_scan_request(9)
  • struct cfg80211_match_set(9)
  • struct cfg80211_sched_scan_plan(9)
  • struct cfg80211_bss_select_adjust(9)
  • struct cfg80211_sched_scan_request(9)
  • enum cfg80211_signal_type(9)
  • struct cfg80211_inform_bss(9)
  • struct cfg80211_bss_ies(9)
  • struct cfg80211_bss(9)
  • ieee80211_bss_get_elem(9)
  • ieee80211_bss_get_ie(9)
  • struct cfg80211_auth_request(9)
  • struct cfg80211_assoc_link(9)
  • struct cfg80211_ml_reconf_req(9)
  • enum cfg80211_assoc_req_flags(9)
  • struct cfg80211_assoc_request(9)
  • struct cfg80211_deauth_request(9)
  • struct cfg80211_disassoc_request(9)
  • struct cfg80211_ibss_params(9)
  • struct cfg80211_bss_selection(9)
  • struct cfg80211_connect_params(9)
  • enum cfg80211_connect_params_changed(9)
  • enum wiphy_params_flags(9)
  • struct cfg80211_pmksa(9)
  • struct cfg80211_pkt_pattern(9)
  • struct cfg80211_wowlan_tcp(9)
  • struct cfg80211_wowlan(9)
  • struct cfg80211_coalesce_rules(9)
  • struct cfg80211_coalesce(9)
  • struct cfg80211_wowlan_nd_match(9)
  • struct cfg80211_wowlan_nd_info(9)
  • struct cfg80211_wowlan_wakeup(9)
  • struct cfg80211_gtk_rekey_data(9)
  • struct cfg80211_update_ft_ies_params(9)
  • struct cfg80211_mgmt_tx_params(9)
  • struct cfg80211_dscp_exception(9)
  • struct cfg80211_dscp_range(9)
  • struct cfg80211_qos_map(9)

🧚 Neighbor Awareness Networking (NAN)(9) 🧚

plus a whole pile of NAN / PMSR / wiphy-ops friends that got lumped in here:


πŸŽ€ Utility functions(9) πŸŽ€

channel math, header lengths, radiotap β€” the little helpers that keep everything from falling apart:


πŸ”₯ Data path helpers(9) πŸ”₯

802.3 ↔ 802.11 conversions, A-MSDU checks, element hunting β€” the data path girlies:


πŸ’œ Regulatory enforcement infrastructure(9) πŸ’œ

the rules section β€” hinting, custom regdoms, freq lookups:


πŸ“ Internal regulatory db functions(9) πŸ“

and then a giant run of scan/BSS/MLME notifications that live right after it:


⭐ RFkill integration(9) ⭐

three little rfkill besties:


πŸ’… Vendor commands(9) πŸ’…

the "your driver, your rules" corner:


πŸ§ͺ Test mode(9) πŸ§ͺ


and the rest of the group chat πŸ’–πŸ˜­

connect/roam/disconnect, mgmt tx/rx, CQM, radar, CAC, GTK rekey, PMKSA candidates, spurious frames β€” the whole notification lineup:

ngl that's a lot of links, but every one of them is exactly where it came from β€” no cap, nothing dropped, nothing invented πŸ’€βœ¨

…and the deep-lore reading list just keeps going, bestie. Like, this is the part of the page where the kernel hands you a whole stack of other manuals and says "you're gonna wanna read these too." No summaries, no shortcuts β€” here's every single one, in order, fr fr:


Like… that's sixty-three cross-references, bestie. Sixty-three!! 😭 The whole wireless subsystem just pulled up in the group chat and every one of them wants your attention. Highlights for the girlies: the nan cluster is giving neighbor awareness network main-character energy ✨, the mlo ones are your multi-link era πŸ’…, wiphy_locked_debugfs_read(9) and wiphy_locked_debugfs_write(9) are the debug girlies πŸŽ€, and cfg80211_s1g_get_start_freq_khz(9) through cfg80211_s1g_get_primary_sibling(9) are out here repping S1G like the icons they are 🌈. Take your time, no cap β€” nobody's making you read all sixty-three at once (unless πŸ‘€).


And that's a wrap on the whole page, babes!! 🫢 This little masterpiece lives over in ./include/net, and it's stamped October 2026 β€” so go forth, cfg80211_tdls_oper_request(9) bestie, you're basically a wireless legend now. Go slay some TDLS operations. Periodt. πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from