brcmf_p2p_add_vif(9)
π brcmf_p2p_add_vif β the Kernel API Manual tea π«
okay so bestie, welcome to brcmf_p2p_add_vif(9) from the Kernel API Manual β yes, the Kernel API Manual, we're in the big leagues now β¨ this is the page that tells you how to spin up a brand-new P2P virtual interface, and honestly? it's giving "let there be wifi" energy π
π NAME
brcmf_p2p_add_vif β create a new P2P virtual interface. that's it. that's the whole vibe. one job, does it iconically π
π SYNOPSIS
struct wireless_dev * brcmf_p2p_add_vif (struct wiphy *wiphy , const
char *name , unsigned char name_assign_type , enum nl80211_iftype type ,
struct vif_params *params );
look at that signature. five args, returns a struct wireless_dev *. main character function fr fr π
β¨ ARGUMENTS
okay so here's who's who in the group chat:
wiphyβ the wiphy device of the new interface. like, the parent energy. this is where your shiny new iface is getting born πΌnameβ the name of the new interface. its government name, if you will πname_assign_typeβ the origin of the interface name. where the name came from. its lore, basically πtypeβ the nl80211 interface type. so it knows what kind of iface it's supposed to be π¦paramsβ contains the mac address for the P2P device. yes, the mac address lives in here. no cap π
πΈ SEE ALSO
buckle up bestie, this list is LONG and every single one of these is invited to the party π no skipping, no cutting, we are thorough in this house:
Kernel file ./drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c
struct brcmf_p2p_disc_st_le(9)enum brcmf_p2p_disc_state(9)struct brcmf_p2p_scan_le(9)struct brcmf_p2p_pub_act_frame(9)struct brcmf_p2p_action_frame(9)struct brcmf_p2psd_gas_pub_act_frame(9)struct brcmf_config_af_params(9)brcmf_p2p_is_pub_action(9)brcmf_p2p_is_dpp_pub_action(9)brcmf_p2p_is_p2p_action(9)brcmf_p2p_is_gas_action(9)brcmf_p2p_print_actframe(9)brcmf_p2p_set_firmware(9)brcmf_p2p_generate_bss_mac(9)brcmf_p2p_scan_is_p2p_request(9)brcmf_p2p_set_discover_state(9)brcmf_p2p_deinit_discovery(9)brcmf_p2p_enable_discovery(9)brcmf_p2p_escan(9)brcmf_p2p_run_escan(9)brcmf_p2p_find_listen_channel(9)brcmf_p2p_scan_prep(9)brcmf_p2p_discover_listen(9)brcmf_p2p_remain_on_channel(9)brcmf_p2p_notify_listen_complete(9)brcmf_p2p_cancel_remain_on_channel(9)brcmf_p2p_act_frm_search(9)brcmf_p2p_afx_handler(9)brcmf_p2p_af_searching_channel(9)brcmf_p2p_scan_finding_common_channel(9)brcmf_p2p_abort_action_frame(9)brcmf_p2p_stop_wait_next_action_frame(9)brcmf_p2p_gon_req_collision(9)brcmf_p2p_notify_action_frame_rx(9)brcmf_p2p_notify_action_tx_complete(9)brcmf_p2p_tx_action_frame(9)brcmf_p2p_pub_af_tx(9)brcmf_p2p_send_action_frame(9)brcmf_p2p_notify_rx_mgmt_p2p_probereq(9)brcmf_p2p_get_current_chanspec(9)brcmf_p2p_ifchange(9)brcmf_p2p_create_p2pdev(9)brcmf_p2p_del_vif(9)brcmf_p2p_attach(9)brcmf_p2p_detach(9)
ngl that's a lot of cross-references but that's just how the brcmfmac p2p family rolls β they're all interconnected, iykyk π
and that's the page bestie!! π§ source is ./drivers/net/wireless/broadco... and this gorgeous little doc is dated October 2026 β so jot that down, stay hydrated, and go create some P2P virtual interfaces ππΈ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms