STRUCT CFG80211_TXQ_STATS(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐ŸŽ€ NAME ๐ŸŽ€

okay so bestie, welcome to the Kernel API Manual entry for struct cfg80211_txq_stats (section 9) โ€” it's literally the TXQ statistics for this TID. That's the whole vibe. ๐Ÿ’…

โœจ SYNOPSIS โœจ

struct cfg80211_txq_stats {
    u32 filled;
    u32 backlog_bytes;
    u32 backlog_packets;
    u32 flows;
    u32 drops;
    u32 ecn_marks;
    u32 overlimit;
    u32 overmemory;
    u32 collisions;
    u32 tx_bytes;
    u32 tx_packets;
    u32 max_flows;
 };

๐Ÿ’… Members ๐Ÿ’…

  • filled โ€” a bitmap of flags using the bits of enum nl80211_txq_stats to indicate that the relevant values in this struct are filled. bestie, it's giving "which stats are actually valid" energy. โœจ
  • backlog_bytes โ€” total number of bytes currently backlogged. ๐Ÿซถ
  • backlog_packets โ€” total number of packets currently backlogged. ๐ŸŽ€
  • flows โ€” number of new flows seen. ๐ŸŒธ
  • drops โ€” total number of packets dropped. ๐Ÿ˜ญ
  • ecn_marks โ€” total number of packets marked with ECN CE. no cap, that's the exact phrase. ๐Ÿฆ‹
  • overlimit โ€” number of drops due to queue space overflow. ๐Ÿ’€
  • overmemory โ€” number of drops due to memory limit overflow. ๐Ÿ™ˆ
  • collisions โ€” number of hash collisions. ๐Ÿ“
  • tx_bytes โ€” total number of bytes dequeued. ๐Ÿ”ฅ
  • tx_packets โ€” total number of packets dequeued. โญ
  • max_flows โ€” maximum number of flows supported. ๐Ÿ‘‘
  • Kernel file ./include/net/cfg80211.h โ€” the actual header this whole page crawled out of, your home base ๐Ÿ’–
  • Introduction(9) โ€” literally where the wireless doc saga starts, read this first bestie
  • Device registration(9) โ€” the vibe of how a device says hi to the stack

๐Ÿฆ‹ the channel / band / capability era ๐Ÿฆ‹

  • enum ieee80211_channel_flags(9), struct ieee80211_channel(9), enum ieee80211_rate_flags(9), enum ieee80211_bss_type(9), enum ieee80211_privacy(9), struct ieee80211_rate(9) โ€” the starter pack: channel flags, a channel, rate flags, BSS type, privacy, a rate. this is the "what even is this network" core ๐ŸŽ€
  • struct ieee80211_he_obss_pd(9), struct cfg80211_he_bss_color(9) โ€” HE spatial reuse & BSS colouring, fancy wifi-6 business โœจ
  • struct ieee80211_sta_ht_cap(9), struct ieee80211_sta_vht_cap(9), struct ieee80211_sta_he_cap(9), struct ieee80211_eht_mcs_nss_supp(9), struct ieee80211_sta_eht_cap(9), struct ieee80211_sta_uhr_cap(9) โ€” the capability glow-up timeline: HT โ†’ VHT โ†’ HE โ†’ EHT โ†’ UHR. they grow up so fast ๐Ÿ˜ญ
  • struct ieee80211_sband_iftype_data(9), enum ieee80211_edmg_bw_config(9), struct ieee80211_edmg(9), struct ieee80211_sta_s1g_cap(9), struct ieee80211_supported_band(9) โ€” sband iftype data, EDMG bandwidth config, EDMG, S1G cap, supported band. the whole spectrum press tour ๐ŸŒˆ
  • _ieee80211_set_sband_iftype_data(9), ieee80211_set_sband_iftype_data(9), for_each_sband_iftype_data(9), ieee80211_get_sband_iftype_data(9) โ€” the setter pair (one with the lil leading underscore, don't lose it), the for_each_ one, and the getter
  • ieee80211_get_he_iftype_cap(9), ieee80211_get_he_6ghz_capa(9), ieee80211_get_eht_iftype_cap(9), ieee80211_get_uhr_iftype_cap(9) โ€” getters getters getters, HE, HE 6GHz, EHT, UHR ๐Ÿ’…
  • wiphy_read_of_freq_limits(9) โ€” freq limits straight out of device tree

๐Ÿ’œ actions & configuration ๐Ÿ’œ

  • Actions and configuration(9) โ€” the section overview page, your map for all of this
  • struct vif_params(9), struct key_params(9), struct cfg80211_chan_def(9) โ€” vif params, key params, and the channel definition king
  • struct cfg80211_tid_cfg(9), struct cfg80211_tid_config(9) โ€” the TID config duo, they come as a pair ๐Ÿซถ
  • struct cfg80211_fils_aad(9), struct cfg80211_set_hw_timestamp(9) โ€” FILS AAD and hw timestamp settings
  • cfg80211_get_chandef_type(9), cfg80211_chandef_create(9), cfg80211_chandef_identical(9), cfg80211_chandef_is_edmg(9), cfg80211_chandef_is_s1g(9), cfg80211_chandef_compatible(9) โ€” chandef 101: get the type, create one, are they twins, is it EDMG, is it S1G, are they compatible
  • nl80211_chan_width_to_mhz(9), cfg80211_chandef_get_width(9), cfg80211_chandef_valid(9), cfg80211_chandef_usable(9) โ€” width in MHz, get the width, is it valid, is it usable
  • cfg80211_chandef_dfs_required(9), cfg80211_chandef_dfs_usable(9), cfg80211_chandef_dfs_cac_time(9) โ€” the DFS trio right here, radar business, take it seriously โš ๏ธ
  • cfg80211_chandef_primary(9), cfg80211_chandef_npca_valid(9), cfg80211_chandef_add_npca(9), cfg80211_chandef_add_dbe(9), nl80211_send_chandef(9), ieee80211_chandef_max_power(9), cfg80211_chandef_s1g_pri_width(9), cfg80211_any_usable_channels(9) โ€” primary channel, NPCA valid/add, add DBE, send a chandef, max power, S1G pri width, and "is literally anything usable"
  • enum survey_info_flags(9), struct survey_info(9) โ€” survey flags and survey info ๐Ÿงš
  • struct cfg80211_crypto_settings(9), struct cfg80211_mbssid_config(9), struct cfg80211_mbssid_elems(9), struct cfg80211_rnr_elems(9), struct cfg80211_beacon_data(9), struct cfg80211_acl_data(9), struct cfg80211_fils_discovery(9), struct cfg80211_unsol_bcast_probe_resp(9), struct cfg80211_s1g_short_beacon(9), struct cfg80211_ap_settings(9), struct cfg80211_ap_update(9), struct cfg80211_csa_settings(9), struct cfg80211_color_change_settings(9) โ€” the AP/beacon era: crypto settings, MBSSID config + elems, RNR elems, beacon data, ACL data, FILS discovery, unsolicited broadcast probe response, S1G short beacon, AP settings, AP update, CSA settings, colour change settings. that's a lot of structs and every one of them matters ๐Ÿ’€
  • struct iface_combination_params(9), enum station_parameters_apply_mask(9), struct sta_txpwr(9), struct link_station_parameters(9), struct link_station_del_parameters(9), struct cfg80211_ttlm_params(9), struct station_parameters(9), struct station_del_parameters(9), enum cfg80211_station_type(9), cfg80211_check_station_change(9) โ€” station setup & teardown central: iface combos, apply mask, sta txpwr, link station params (and del), TTLM params, station params (and del), station type, and the check-station-change helper
  • enum rate_info_flags(9), enum rate_info_bw(9), struct rate_info(9), enum bss_param_flags(9), struct sta_bss_parameters(9), struct cfg80211_tid_stats(9), struct link_station_info(9), struct station_info(9) โ€” rate info flags/bw/struct, BSS param flags, sta BSS parameters, TID stats, link station info, station info. the "how's my station doing" pack ๐Ÿ“Š
  • struct cfg80211_sar_sub_specs(9), struct cfg80211_sar_specs(9), struct cfg80211_sar_freq_ranges(9), struct cfg80211_sar_capa(9), cfg80211_get_station(9) โ€” the whole SAR family (sub specs, specs, freq ranges, capa) plus cfg80211_get_station
  • enum monitor_flags(9), enum mpath_info_flags(9), struct mpath_info(9), enum wiphy_bss_param_flags(9), struct bss_parameters(9) โ€” monitor flags, mesh path flags + info, wiphy BSS param flags, BSS parameters
  • struct mesh_config(9), struct mesh_setup(9), struct ocb_setup(9), struct ieee80211_txq_params(9) โ€” mesh config, mesh setup, OCB setup, txq params. mesh besties rise ๐Ÿ•ธ๏ธ

๐ŸŒธ scanning & BSS list handling ๐ŸŒธ

  • Scanning and BSS list handling(9) โ€” the overview page for this entire chunk
  • 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) โ€” SSID, scan info, 6GHz scan params, scan request, match set, sched scan plan, BSS select adjust, sched scan request, signal type, inform BSS, BSS IEs, BSS itself, and the two BSS element getters. the full scan cast ๐ŸŽฌ
  • 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 request, assoc link, ML reconf request, assoc request flags, assoc request, deauth request, disassoc request. the entire "hi / bye" pipeline ๐Ÿ˜ญ
  • 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) โ€” IBSS params, BSS selection, connect params (+ the changed enum), wiphy params flags, PMKSA, packet pattern, WoWLAN TCP, WoWLAN, coalesce rules, coalesce, WoWLAN ND match/info/wakeup, GTK rekey data, update FT IEs params, mgmt tx params, DSCP exception, DSCP range, QoS map. connect + power save + QoS saga, hydrate before reading ๐Ÿ’ง

๐Ÿงš NAN, PMKSR-adjacent stuff & the wiphy universe ๐Ÿงš

  • Neighbor Awareness Networking (NAN)(9) โ€” the NAN overview page
  • struct cfg80211_nan_band_config(9), struct cfg80211_nan_conf(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) โ€” NAN band config, NAN conf, NAN channel, local sched, peer map, peer sched, conf changes, func filter, func. NAN girlies this one's for you โœจ
  • struct cfg80211_pmk_conf(9), struct cfg80211_external_auth_params(9), struct cfg80211_ftm_responder_stats(9), 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), struct cfg80211_update_owe_info(9), struct mgmt_frame_regs(9) โ€” PMK conf, external auth params, FTM responder stats, PMSR FTM result, PMSR result, PMSR FTM request peer, PMSR request peer, PMSR request, update OWE info, mgmt frame regs
  • struct cfg80211_ops(9) โ€” the driver ops struct, main character energy ๐Ÿ‘‘
  • enum wiphy_flags(9), struct ieee80211_iface_limit(9), struct ieee80211_iface_combination(9), enum wiphy_wowlan_support_flags(9), struct wiphy_wowlan_support(9), struct wiphy_coalesce_support(9), enum wiphy_vendor_command_flags(9), enum wiphy_opmode_flag(9), struct sta_opmode_info(9), struct wiphy_vendor_command(9), struct wiphy_iftype_ext_capab(9), cfg80211_get_iftype_ext_capa(9), struct cfg80211_pmsr_capabilities(9), struct wiphy_iftype_akm_suites(9) โ€” wiphy flags, iface limit/combination, WoWLAN support flags + support, coalesce support, vendor command flags, opmode flag, sta opmode info, vendor command, iftype ext capab (+ its getter), PMSR capabilities, iftype AKM suites
  • struct wiphy_radio_cfg(9), struct wiphy_radio_freq_range(9), struct wiphy_radio(9), enum wiphy_nan_flags(9), struct wiphy_nan_capa(9), struct wiphy(9) โ€” radio cfg, radio freq range, radio, NAN flags, NAN capa, and finally struct wiphy itself. the celebrity ๐ŸŒŸ
  • wiphy_priv(9), priv_to_wiphy(9), set_wiphy_dev(9), wiphy_dev(9), wiphy_name(9), wiphy_new_nm(9), wiphy_new(9), wiphy_register(9), rcu_dereference_wiphy(9), wiphy_dereference(9), get_wiphy_regdom(9), wiphy_unregister(9), wiphy_free(9) โ€” get priv, back to wiphy, set/get dev, name, new (nm + plain), register, the two rcu deref helpers, get regdom, unregister, free. the whole lifecycle ๐Ÿฆ‹
  • wiphy_lock(9), wiphy_unlock(9), wiphy_work_queue(9), wiphy_work_cancel(9), wiphy_work_flush(9), wiphy_delayed_work_queue(9), wiphy_delayed_work_cancel(9), wiphy_delayed_work_flush(9), wiphy_delayed_work_pending(9), wiphy_hrtimer_work_queue(9), wiphy_hrtimer_work_cancel(9), wiphy_hrtimer_work_flush(9), wiphy_hrtimer_work_pending(9) โ€” lock/unlock plus the entire work family: normal, delayed, hrtimer โ€” each with queue/cancel/flush and, where it exists, pending. yes all of them, no I'm not skipping ๐Ÿ’€
  • enum ieee80211_ap_reg_power(9), struct wireless_dev(9), wdev_priv(9), wdev_chandef(9) โ€” AP reg power, wireless_dev, its priv getter, and its chandef getter

โญ utility functions โญ


๐Ÿ“ data path helpers ๐Ÿ“


๐Ÿ’œ regulatory ๐Ÿ’œ


๐Ÿซถ the big notification & report dump ๐Ÿซถ


that was literally the whole friend group in one go, and you ate that ๐Ÿ’… still with me? good โ€” keep going, there's more. ๐Ÿ’–

...and the guest list keeps going, bestie โ€” this SEE ALSO section has main character energy and refuses to leave the party. Second half of the recital, no skips, no cuts, every single name makes the list:


ok that's the whole SEE ALSO list, we ate and left no crumbs ๐Ÿ’… go read the pages bestie, they're all in section 9 so you already know where to find them.

That's a wrap on struct cfg80211_txq_stats(9), fr fr โ€” this page lives in ./include/net, dated October 2026, and it's the one and only struct cfg80211_txq_stats(9) manual page. Go off, king ๐Ÿ‘‘โœจ

๐Ÿ“ฆ where this page comes from