cfg80211_vendor_cmd_reply(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… cfg80211_vendor_cmd_reply(9) β€” Kernel API Manual πŸŽ€

okay so bestie, welcome to the glow-up era of your vendor command implementation ✨ this is the page for cfg80211_vendor_cmd_reply(9), and honestly? she's short but she matters.


🌸 NAME 🌸

cfg80211_vendor_cmd_reply β€” send the reply skb πŸ’Œ

like, that's it. that's the whole job. you built a reply skb, now you send it. iconic behaviour, no notes.


✨ SYNOPSIS ✨

int cfg80211_vendor_cmd_reply (struct sk_buff *skb );

one function, one argument, one int coming back at you. clean. minimal. very demure πŸŽ€


πŸ¦‹ ARGUMENTS πŸ¦‹

  • skb β€” The skb, and listen, this is the important part: it must have been allocated with cfg80211_vendor_cmd_alloc_reply_skb πŸ’… no making your own skb from scratch and rolling up here with it, that's not the vibe. it's gotta be the one from that specific alloc function, okay? iykyk.

🌈 DESCRIPTION 🌈

so here's the tea, bestie: calling this function is usually gonna be the very last thing you do before you return from the vendor command doit. so like β€” the obvious move β€” you should return the error code. 🫢

the way that this works is you're at the end of your doit, you've got your reply all built and ready, you call cfg80211_vendor_cmd_reply, and then you just hand back whatever she gives you. it's giving "one last line and we're done" energy. 🧚

⚠️ lowkey a big deal: this function consumes the skb regardless of the return value πŸ’€ like, doesn't matter if it succeeded, doesn't matter if it errored out β€” the skb is gone. so please please PLEASE don't go touching it afterwards, bestie, that's not gonna end well for anyone. no cap.

⭐ RETURN ⭐

An error code or 0 on success. that's it. 0 = slay, we're good ✨ anything else = read the code and handle it, queen πŸ‘‘


more coming, bestie β€” this one's a three-parter so stay tuned πŸ’–

okay so this whole page is basically the SEE ALSO section going feral πŸ’€ β€” it's a whole group chat of other manpages that the cfg80211_vendor_cmd_reply(9) girlie wants you to meet. Bestie, there are like four hundred of them. No cap. But every single one is here, so grab a snack πŸ“ and let's go.

The source of truth for all of it lives in the kernel file ./include/net/cfg80211.h β€” that's the mothership, the main character, the one that has the receipts ✨


πŸŽ€ the meta pages first


πŸ’… the band / channel / rate lore (aka the "what even is a channel" era)


πŸ¦‹ Actions and configuration(9)

the "setting things up" arc, literally


🌈 Scanning and BSS list handling(9)

the "who's out there" saga πŸ”₯

  • 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)

and then it just… keeps going bestie 😭


πŸ’œ Utility functions(9)

the little helpers that ate πŸ’…


⭐ Data path helpers(9)

packets going places πŸ¦‹


πŸ”₯ Regulatory enforcement infrastructure(9)

the "please don't transmit there" police πŸ‘‘


πŸ“ Internal regulatory db functions(9)

and immediately after, the BSS/MLME notification fam β€” because why end a section when you can keep going πŸ’€


πŸ’€ RFkill integration(9)

tiny section, huge vibe


🧚 Vendor commands(9)

hey bestie this is literally your family πŸ‘€ β€” and then Test mode right after, because of course


πŸŽ€ Test mode(9)


🌸 and the final chunk (no heading, it's just raw list energy at this point, respect)

connection / roaming / notification iconics πŸ’–

…and the list keeps going, bestie, because apparently the kernel's docs section 9 is a whole extended universe. No thoughts, just links β€” here's the rest of the crew 🫢


✨ that's the whole SEE ALSO roster, every single one, no cap ✨ Read them in order, read them out of order, literally just read them β€” the docs are there for you and they ate πŸ’…

Okay and now the little footer moment, because even man pages deserve a cute sign-off πŸŽ€ β€” this whole page lives in ./include/net (that's the source, bestie), it's dated October 2026, and the page you just read is cfg80211_vendor_cmd_reply(9). Bye bye, go be iconic with your vendor commands πŸŒΈπŸ¦‹

πŸ“¦ where this page comes from