STRUCT CFG80211_NAN_CONF(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so this is the struct cfg80211_nan_conf manpage (kernel API manual, section 9) β€” literally the struct that holds your NAN configuration. that's it, that's the vibe ✨


✨ SYNOPSIS ✨

bestie, here's the whole glow-up, verbatim, do not touch:

struct cfg80211_nan_conf {
    u8 master_pref;
    u8 bands;
    u8 cluster_id[ETH_ALEN];
    u16 scan_period;
    u16 scan_dwell_time;
    u8 discovery_beacon_interval;
    bool enable_dw_notification;
    struct cfg80211_nan_band_config band_cfgs[NUM_NL80211_BANDS];
    const u8 *extra_nan_attrs;
    u16 extra_nan_attrs_len;
    const u8 *vendor_elems;
    u16 vendor_elems_len;
 };

like, every field is right there, no cap 🫢


πŸŽ€ MEMBERS πŸŽ€

okay now we go field by field, main character by main character πŸ‘‘

  • master_pref β€” the master preference, and it takes a value from 1 – 255. tiny range, big responsibility πŸ’…
  • bands β€” the operating bands, and this one is a bitmap of enum nl80211_band values. for example, for NL80211_BAND_2GHZ, bit 0 would be set (i.e. BIT(NL80211_BAND_2GHZ)). bit math but make it fashion ✨
  • cluster_id β€” the cluster ID used for NAN synchronization. it's a MAC address, and it can take a value from 50-6F-9A-01-00-00 to 50-6F-9A-01-FF-FF. so cute, so specific πŸŽ€
  • scan_period β€” the period (in seconds) between NAN scans. seconds!! not ms, don't get it twisted πŸ™ˆ
  • scan_dwell_time β€” the dwell time (in milliseconds) for NAN scans. yes, this one's ms. the units are doing the most on purpose 😭
  • discovery_beacon_interval β€” the interval (in TUs) for discovery beacons. TUs, bestie, TUs πŸ¦‹
  • enable_dw_notification β€” a flag to enable/disable discovery window notifications. on or off, icon behavior πŸ”₯
  • band_cfgs β€” an array of band specific configurations, indexed by enum nl80211_band values. one config per band, indexed, obsessed πŸ’œ
  • extra_nan_attrs β€” a pointer to additional NAN attributes. pointer energy 🌸
  • extra_nan_attrs_len β€” the length of the additional NAN attributes. the pointer's plus-one fr fr 🫢
  • vendor_elems β€” a pointer to vendor-specific elements. vendor said lemme add something πŸ“
  • vendor_elems_len β€” the length of the vendor-specific elements. and the length said same πŸ’…

🌸 DESCRIPTION 🌸

so, plainly: this struct defines NAN configuration parameters. that's the whole plot. every field above is a knob you get to turn, and this is the package they all live in πŸ’–


more parts coming, stay tuned bestie 🌈

πŸ’– SEE ALSO πŸ’–

okay so this is the part where the page just lists literally everything related to this struct. it's giving "the entire friend group pulled up to the party" energy πŸ’… no cap, here's every single one, in order.

πŸŽ€ the file it all lives in

  • Kernel file ./include/net/cfg80211.h β€” yeah, this whole page comes from this one header. the mothership πŸš€

πŸ¦‹ the start-here pages

  • Introduction(9), Device registration(9) β€” read these first bestie, they set the scene ✨

🌸 bands, rates & capability stuff

🧚 Actions and configuration

🌈 Scanning and BSS list handling

  • Scanning and BSS list handling(9) β€” the section page, go read it, it's giving main character energy πŸ‘‘
  • 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) β€” scan request structs, including the 6GHz params and the sched scan plan. slay.
  • 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) β€” signal type, BSS inform/ies structs, and the two BSS element getters. note ieee80211_bss_get_elem(9) and ieee80211_bss_get_ie(9) are both listed, yes both 🫢
  • 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) β€” auth, assoc link, ML reconf, assoc flags/request, deauth, disassoc. the connect-adjacent crew.
  • 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) β€” IBSS params, BSS selection, connect params + changed enum, wiphy params flags, PMKSA.
  • 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) β€” wowlan + coalesce everything. power-save girlies stand up πŸ’€
  • 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) β€” GTK rekey, FT IEs update, mgmt TX params, DSCP exception/range, QoS map. that's the whole list, fr fr.

πŸ“ Neighbor Awareness Networking (NAN)

  • Neighbor Awareness Networking (NAN)(9) β€” the NAN overview page. this is literally the family our struct belongs to πŸ’–
  • struct cfg80211_nan_band_config(9), struct cfg80211_nan_channel(9), struct cfg80211_nan_local_sched(9), struct cfg80211_nan_peer_map(9), struct cfg80211_nan_peer_sched(9), enum cfg80211_nan_conf_changes(9), struct cfg80211_nan_func_filter(9), struct cfg80211_nan_func(9) β€” band config, channel, local sched, peer map, peer sched, conf changes enum, func filter, func. the whole NAN lineup, ate πŸ’…
  • struct cfg80211_pmk_conf(9), struct cfg80211_external_auth_params(9), struct cfg80211_ftm_responder_stats(9) β€” PMK conf, external auth params, FTM responder stats.
  • struct cfg80211_pmsr_ftm_result(9), struct cfg80211_pmsr_result(9), struct cfg80211_pmsr_ftm_request_peer(9), struct cfg80211_pmsr_request_peer(9), struct cfg80211_pmsr_request(9) β€” PMSR results + peers + request. ranging girlies we see you πŸ“‘
  • struct cfg80211_update_owe_info(9) β€” OWE update info. that's it, that's the bullet.

πŸ’œ wiphy & wireless_dev land

⭐ Utility functions

πŸ“ Data path helpers

πŸ”₯ Regulatory enforcement infrastructure

🫢 scan / BSS / mgmt notifications

πŸ‘‘ RFkill, Vendor commands & Test mode

πŸ’œ connect / roam / disconnect + mgmt TX-RX reporting

okay so the SEE ALSO cross-refs keep rolling, and bestie, I did not skip a single one β€” every link is right here, no cap:


and that's the whole page, bestie πŸ’…βœ¨ source is ./include/net, version is October 2026, and the footer label is struct cfg80211_nan_conf(9) β€” iconic little ending, fr fr πŸŽ€πŸ¦‹πŸ«Ά

πŸ“¦ where this page comes from