ENUM IEEE80211_HW_FLAGS(9)
πΈ NAME πΈ
okay bestie, this is the enum ieee80211_hw_flags(9) page: the hardware flags enum. Think of it as the little checklist of hardware vibes β every flag is literally a capability your driver/hardware is telling the stack about. π
β¨ SYNOPSIS β¨
here's the whole enum in its natural habitat, character-for-character:
enum ieee80211_hw_flags {
IEEE80211_HW_HAS_RATE_CONTROL ,
IEEE80211_HW_RX_INCLUDES_FCS ,
IEEE80211_HW_HOST_BROADCAST_PS_BUFFERING ,
IEEE80211_HW_SIGNAL_UNSPEC ,
IEEE80211_HW_SIGNAL_DBM ,
IEEE80211_HW_NEED_DTIM_BEFORE_ASSOC ,
IEEE80211_HW_SPECTRUM_MGMT ,
IEEE80211_HW_AMPDU_AGGREGATION ,
IEEE80211_HW_SUPPORTS_PS ,
IEEE80211_HW_PS_NULLFUNC_STACK ,
IEEE80211_HW_SUPPORTS_DYNAMIC_PS ,
IEEE80211_HW_MFP_CAPABLE ,
IEEE80211_HW_WANT_MONITOR_VIF ,
IEEE80211_HW_NO_VIRTUAL_MONITOR ,
IEEE80211_HW_NO_AUTO_VIF ,
IEEE80211_HW_SW_CRYPTO_CONTROL ,
IEEE80211_HW_SUPPORT_FAST_XMIT ,
IEEE80211_HW_REPORTS_TX_ACK_STATUS ,
IEEE80211_HW_CONNECTION_MONITOR ,
IEEE80211_HW_QUEUE_CONTROL ,
IEEE80211_HW_SUPPORTS_PER_STA_GTK ,
IEEE80211_HW_AP_LINK_PS ,
IEEE80211_HW_TX_AMPDU_SETUP_IN_HW ,
IEEE80211_HW_SUPPORTS_RC_TABLE ,
IEEE80211_HW_P2P_DEV_ADDR_FOR_INTF ,
IEEE80211_HW_TIMING_BEACON_ONLY ,
IEEE80211_HW_SUPPORTS_HT_CCK_RATES ,
IEEE80211_HW_CHANCTX_STA_CSA ,
IEEE80211_HW_SUPPORTS_CLONED_SKBS ,
IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDS ,
IEEE80211_HW_TDLS_WIDER_BW ,
IEEE80211_HW_SUPPORTS_AMSDU_IN_AMPDU ,
IEEE80211_HW_BEACON_TX_STATUS ,
IEEE80211_HW_NEEDS_UNIQUE_STA_ADDR ,
IEEE80211_HW_SUPPORTS_REORDERING_BUFFER ,
IEEE80211_HW_USES_RSS ,
IEEE80211_HW_TX_AMSDU ,
IEEE80211_HW_TX_FRAG_LIST ,
IEEE80211_HW_REPORTS_LOW_ACK ,
IEEE80211_HW_SUPPORTS_TX_FRAG ,
IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STA ,
IEEE80211_HW_DOESNT_SUPPORT_QOS_NDP ,
IEEE80211_HW_BUFF_MMPDU_TXQ ,
IEEE80211_HW_SUPPORTS_VHT_EXT_NSS_BW ,
IEEE80211_HW_STA_MMPDU_TXQ ,
IEEE80211_HW_TX_STATUS_NO_AMPDU_LEN ,
IEEE80211_HW_SUPPORTS_MULTI_BSSID ,
IEEE80211_HW_SUPPORTS_ONLY_HE_MULTI_BSSID ,
IEEE80211_HW_AMPDU_KEYBORDER_SUPPORT ,
IEEE80211_HW_SUPPORTS_TX_ENCAP_OFFLOAD ,
IEEE80211_HW_SUPPORTS_RX_DECAP_OFFLOAD ,
IEEE80211_HW_SUPPORTS_CONC_MON_RX_DECAP ,
IEEE80211_HW_DETECTS_COLOR_COLLISION ,
IEEE80211_HW_MLO_MCAST_MULTI_LINK_TX ,
IEEE80211_HW_DISALLOW_PUNCTURING ,
IEEE80211_HW_HANDLES_QUIET_CSA ,
IEEE80211_HW_STRICT ,
IEEE80211_HW_SUPPORTS_NDP_BLOCKACK ,
NUM_IEEE80211_HW_FLAGS
};
π Constants π
okay so these are the constants, and every single one matters β no skipping, bestie. π
IEEE80211_HW_HAS_RATE_CONTROLβ The hardware or firmware includes rate control, and cannot be controlled by the stack. As such, no rate control algorithm should be instantiated, and the TX rate reported to userspace will be taken from the TX status instead of the rate control algorithm. Note that this requires that the driver implement a number of callbacks so it has the correct information, it needs to have theset_rts_thresholdcallback and must look at the BSS configuse_cts_protfor G/N protection,use_short_slotfor slot timing in 2.4 GHz anduse_short_preamblefor preambles for CCK frames. π«ΆIEEE80211_HW_RX_INCLUDES_FCSβ Indicates that received frames passed to the stack include the FCS at the end. literally that's the whole vibe check. β¨IEEE80211_HW_HOST_BROADCAST_PS_BUFFERINGβ Some wireless LAN chipsets buffer broadcast/multicast frames for power saving stations in the hardware/firmware and others rely on the host system for such buffering. This option is used to configure the IEEE 802.11 upper layer to buffer broadcast and multicast frames when there are power saving stations so that the driver can fetch them withieee80211_get_buffered_bc. πIEEE80211_HW_SIGNAL_UNSPECβ Hardware can provide signal values but we don't know its units. We expect values between0andmax_signal. If possible please provide dB or dBm instead. ngl, dBm is the glow-up here. πIEEE80211_HW_SIGNAL_DBMβ Hardware gives signal values in dBm, decibel difference from one milliwatt. This is the preferred method since it is standardized between different devices.max_signaldoes not need to be set. iconic, honestly. πIEEE80211_HW_NEED_DTIM_BEFORE_ASSOCβ This device needs to get data from beacon before association (i.e.dtim_period). π¦IEEE80211_HW_SPECTRUM_MGMTβ Hardware supports spectrum management defined in 802.11h Measurement, Channel Switch, Quieting, TPC. fancy spectrum behavior activated. πIEEE80211_HW_AMPDU_AGGREGATIONβ Hardware supports 11n A-MPDU aggregation. π₯IEEE80211_HW_SUPPORTS_PSβ Hardware has power save support (i.e. can go to sleep). nap mode: supported. π΄IEEE80211_HW_PS_NULLFUNC_STACKβ Hardware requires nullfunc frame handling in stack, implies stack support for dynamic PS. π«ΆIEEE80211_HW_SUPPORTS_DYNAMIC_PSβ Hardware has support for dynamic PS. β¨IEEE80211_HW_MFP_CAPABLEβ Hardware supports management frame protection (MFP, IEEE 802.11w). secure little vibe. π‘οΈIEEE80211_HW_WANT_MONITOR_VIFβ The driver would like to be informed of a virtual monitor interface when monitor interfaces are the only active interfaces. πIEEE80211_HW_NO_VIRTUAL_MONITORβ The driver would like to be informed of any monitor interface, as well as their configured channel. This is useful for supporting multiple monitor interfaces on different channels. multi-monitor main character energy. πIEEE80211_HW_NO_AUTO_VIFβ The driver would like for nowlanXto be created. It is expected user-space will create vifs as desired (and thus have them named as desired). name it yourself, bestie. πIEEE80211_HW_SW_CRYPTO_CONTROLβ The driver wants to control which of the crypto algorithms can be done in software β so don't automatically try to fall back to it if hardware crypto fails, but do so only if the driver returns1. This also forces the driver to advertise its supported cipher suites. πIEEE80211_HW_SUPPORT_FAST_XMITβ The driver/hardware supports fast-xmit, this currently requires only the ability to calculate the duration for frames. zoom zoom. β‘IEEE80211_HW_REPORTS_TX_ACK_STATUSβ Hardware can provide ack status reports of Tx frames to the stack. receipts, but for frames. π¬IEEE80211_HW_CONNECTION_MONITORβ The hardware performs its own connection monitoring, including periodic keep-alives to the AP and probing the AP on beacon loss. it's giving self-sufficient. πIEEE80211_HW_QUEUE_CONTROLβ The driver wants to control per-interface queue mapping in order to use different queues (not just one per AC) for different virtual interfaces. See the doc section on HW queue control for more details. queue choreography, lowkey. π©°IEEE80211_HW_SUPPORTS_PER_STA_GTKβ The device's crypto engine supports per-station GTKs as used by IBSS RSN or during fast transition. If the device doesn't support per-station GTKs, but can be asked not to decrypt group addressed frames, then IBSS RSN support is still possible but software crypto will be used. Advertise thewiphyflag only in that case. πIEEE80211_HW_AP_LINK_PSβ When operating in AP mode the device autonomously manages the PS status of connected stations. When this flag is setmac80211will not trigger PS mode for connected stations based on the PM bit of incoming frames. Useieee80211_start_ps/ieee8021_end_psto manually configure the PS mode of connected stations. πIEEE80211_HW_TX_AMPDU_SETUP_IN_HWβ The device handles TX A-MPDU session setup strictly in HW.mac80211should not attempt to do this in software. hardware said "I got it." πͺIEEE80211_HW_SUPPORTS_RC_TABLEβ The driver supports using a rate selection table provided by the rate control algorithm. πIEEE80211_HW_P2P_DEV_ADDR_FOR_INTFβ Use the P2P Device address for any P2P Interface. This will be honoured even if more than one interface is supported. πIEEE80211_HW_TIMING_BEACON_ONLYβ Use sync timing from beacon frames only, to allow getting TBTT of a DTIM beacon. β±οΈIEEE80211_HW_SUPPORTS_HT_CCK_RATESβ Hardware supports mixing HT/CCK rates and can cope with CCK rates in an aggregation session (e.g. by not using aggregation for such frames.) πIEEE80211_HW_CHANCTX_STA_CSAβ Support 802.11h based channel-switch (CSA) for a single active channel while using channel contexts. When support is not enabled the default action is to disconnect when getting the CSA frame. β οΈIEEE80211_HW_SUPPORTS_CLONED_SKBSβ The driver will never modify the payload or tailroom of TX skbs without copying them first. no sneaky edits, periodt. π«IEEE80211_HW_SINGLE_SCAN_ON_ALL_BANDSβ The HW supports scanning on all bands in one command,mac80211doesn't have to run separate scans per band. one scan, all bands, efficiency slay. πIEEE80211_HW_TDLS_WIDER_BWβ The device/driver supports wider bandwidth than the BSS bandwidth for a TDLS link on the base channel. π¦IEEE80211_HW_SUPPORTS_AMSDU_IN_AMPDUβ The driver supports receiving A-MSDUs within A-MPDU. πIEEE80211_HW_BEACON_TX_STATUSβ The device/driver provides TX status for sent beacons. beacon receipts! π¬IEEE80211_HW_NEEDS_UNIQUE_STA_ADDRβ Hardware (or driver) requires that each station has a unique address, i.e. each station entry can be identified by just its MAC address; this prevents, for example, the same station from connecting to two virtual AP interfaces at the same time. Note that this doesn't apply for NAN, in which the peer's NMI address can be equal to its NDI address. π«ΆIEEE80211_HW_SUPPORTS_REORDERING_BUFFERβ Hardware (or driver) manages the reordering buffer internally, guaranteeingmac80211receives frames in order and does not need to manage its own reorder buffer or BA session timeout. in-order delivery, no cap. β¨IEEE80211_HW_USES_RSSβ The device uses RSS and thus requires parallel RX, which implies using per-CPU station statistics. parallel RX, per-CPU stats, all the multiqueue vibes. πIEEE80211_HW_TX_AMSDUβ hardware (or driver) supports software aggregated A-MSDU frames β¨. It requires software tx queueing and fast-xmit support. When not usingminstrel/minstrel_htrate control, the driver must limit the maximum A-MSDU size based on the current tx rate by settingmax_rc_amsdu_leninstruct ieee80211_sta.IEEE80211_HW_TX_FRAG_LISTβ hardware (or driver) supports sendingfrag_listskbs, which is needed for zero-copy software A-MSDU π.IEEE80211_HW_REPORTS_LOW_ACKβ the driver (or firmware) reports a low ack event byieee80211_report_low_ackbased on its own algorithm. For such drivers, the mac80211 packet loss mechanism will not be triggered, and the driver is completely depending on firmware event for station kickout π.IEEE80211_HW_SUPPORTS_TX_FRAGβ hardware does fragmentation by itself. The stack will not do fragmentation. The callback forset_frag_thresholdshould be set as well π«Ά.IEEE80211_HW_SUPPORTS_TDLS_BUFFER_STAβ hardware supports buffer STA on TDLS links π.IEEE80211_HW_DOESNT_SUPPORT_QOS_NDPβ the driver (or firmware) doesn't support QoS NDP for AP probing β that's most likely a driver bug π.IEEE80211_HW_BUFF_MMPDU_TXQβ use the TXQ for bufferable MMPDUs; this of course requires the driver to use TXQs to start with πΈ.IEEE80211_HW_SUPPORTS_VHT_EXT_NSS_BWβ (Hardware) rate control supports VHT extended NSS BW (dot11VHTExtendedNSSBWCapable). This flag will be set if the selected rate control algorithm setsRATE_CTRL_CAPA_VHT_EXT_NSS_BW, but if the rate control is built-in then it must be set by the driver. See also the documentation for that flag β¨.IEEE80211_HW_STA_MMPDU_TXQβ use the extra non-TID per-station TXQ for all MMPDUs on station interfaces. This of course requires the driver to use TXQs to start with π .IEEE80211_HW_TX_STATUS_NO_AMPDU_LENβ driver does not report accurate A-MPDU length in tx status information π.IEEE80211_HW_SUPPORTS_MULTI_BSSIDβ hardware supports multi BSSID π.IEEE80211_HW_SUPPORTS_ONLY_HE_MULTI_BSSIDβ hardware supports multi BSSID only for HE APs. Applies ifIEEE80211_HW_SUPPORTS_MULTI_BSSIDis set π¦.IEEE80211_HW_AMPDU_KEYBORDER_SUPPORTβ the card and driver is only aggregating MPDUs with the same keyid, allowing mac80211 to keep Tx A-MPDU sessions active while rekeying with Extended Key ID π₯.IEEE80211_HW_SUPPORTS_TX_ENCAP_OFFLOADβ hardware supports tx encapsulation offload π.IEEE80211_HW_SUPPORTS_RX_DECAP_OFFLOADβ hardware supports rx decapsulation offload π.IEEE80211_HW_SUPPORTS_CONC_MON_RX_DECAPβ hardware supports concurrent rx decapsulation offload and passing raw 802.11 frames for monitor iface. If this is supported, the driver must pass both 802.3 frames for real usage and 802.11 frames withRX_FLAG_ONLY_MONITORset for monitor to the stack π§.IEEE80211_HW_DETECTS_COLOR_COLLISIONβ HW/driver has support for BSS color collision detection and doesn't need it in software β.IEEE80211_HW_MLO_MCAST_MULTI_LINK_TXβ hardware/driver handles transmitting multicast frames on all links, mac80211 should not do that π.IEEE80211_HW_DISALLOW_PUNCTURINGβ HW requires disabling puncturing in EHT and connecting with a lower bandwidth instead π.IEEE80211_HW_HANDLES_QUIET_CSAβ HW/driver handles quieting for CSA, so no need to stop queues. This really should be set by a driver that implements MLO, so operation can continue on other links when one link is switching π .IEEE80211_HW_STRICTβ strictly enforce certain things mandated by the spec but otherwise ignored/worked around for interoperability. This is a HW flag so drivers can opt in according to their own control, e.g. in testing π₯.IEEE80211_HW_SUPPORTS_NDP_BLOCKACKβ HW can transmit/receive S1G NDP BlockAck frames πΈ.NUM_IEEE80211_HW_FLAGSβ number of hardware flags, used for sizing arrays π«Ά.
π DESCRIPTION π
These flags are used to indicate hardware capabilities to the stack β like little βhey bestie, hereβs what I can doβ signals. Generally, flags here should have their meaning done in a way that the simplest hardware doesn't need setting any particular flags. There are some exceptions to this rule, however, so you are advised to review these flags carefully πβ¨.
π SEE ALSO π
okay bestie, this is the see-also motherload π The Kernel file callout is ./include/net/mac80211.h β exact path, no edits, no cap π . Below is every single cross-reference from the original, in order, zero skips. Itβs giving βfestival lineupβ and yes, all of them are invited π«Ά.
the whole lineup, in order, no cap π«Ά
- the opening act:
Introduction(9),Calling mac80211 from interrupts(9),Warning(9),Frame format(9),mac80211 workqueue(9),mac80211 software tx queueing(9),HW timestamping(9),enum ieee80211_max_queues(9),enum ieee80211_ac_numbers(9),struct ieee80211_tx_queue_params(9),enum ieee80211_chanctx_change(9),struct ieee80211_chan_req(9),struct ieee80211_chanctx_conf(9),enum ieee80211_chanctx_switch_mode(9),struct ieee80211_vif_chanctx_switch(9) - event/bss besties:
enum ieee80211_bss_change(9),enum ieee80211_event_type(9),enum ieee80211_rssi_event_data(9),struct ieee80211_rssi_event(9),enum ieee80211_mlme_event_data(9),enum ieee80211_mlme_event_status(9),struct ieee80211_mlme_event(9),struct ieee80211_ba_event(9),struct ieee80211_event(9),struct ieee80211_mu_group_data(9),struct ieee80211_ftm_responder_params(9),struct ieee80211_fils_discovery(9),struct ieee80211_parsed_tpe(9),struct ieee80211_bss_npca_params(9),struct ieee80211_bss_conf(9) - tx/rx icons:
struct ieee80211_nan_channel(9),struct ieee80211_nan_peer_map(9),struct ieee80211_nan_peer_sched(9),enum mac80211_tx_info_flags(9),enum mac80211_tx_control_flags(9),enum mac80211_tx_status_flags(9),enum mac80211_rate_control_flags(9),struct ieee80211_tx_rate(9),struct ieee80211_tx_info(9),struct ieee80211_tx_status(9),struct ieee80211_scan_ies(9),ieee80211_tx_info_clear_status(9),enum mac80211_rx_flags(9),enum mac80211_rx_encoding_flags(9),struct ieee80211_rx_status(9) - conf/vif era:
enum ieee80211_conf_flags(9),enum ieee80211_conf_changed(9),enum ieee80211_smps_mode(9),struct ieee80211_conf(9),struct ieee80211_channel_switch(9),enum ieee80211_vif_flags(9),enum ieee80211_offload_flags(9),struct ieee80211_eml_params(9),struct ieee80211_nan_sched_cfg(9),struct ieee80211_vif_cfg(9),struct ieee80211_neg_ttlm(9),enum ieee80211_neg_ttlm_res(9),struct ieee80211_vif(9),ieee80211_vif_usable_links(9),ieee80211_vif_is_mld(9) - key/sta neighborhood:
ieee80211_vif_link_active(9),wdev_to_ieee80211_vif(9),ieee80211_vif_to_wdev(9),enum ieee80211_key_flags(9),struct ieee80211_key_conf(9),struct ieee80211_key_seq(9),enum set_key_cmd(9),enum ieee80211_sta_state(9),enum ieee80211_sta_rx_bandwidth(9),struct ieee80211_sta_rates(9),struct ieee80211_sta_txpwr(9),struct ieee80211_sta_aggregates(9),struct ieee80211_link_sta(9),struct ieee80211_sta(9),enum sta_notify_cmd(9) - hw/queue girlies:
struct ieee80211_tx_control(9),struct ieee80211_txq(9),struct ieee80211_hw(9),struct ieee80211_scan_request(9),struct ieee80211_tdls_ch_sw_params(9),wiphy_to_ieee80211_hw(9),SET_IEEE80211_DEV(9),SET_IEEE80211_PERM_ADDR(9),ieee80211_free_txskb(9),ieee80211_purge_tx_queue(9),Hardware crypto acceleration(9),Powersave support(9),Beacon filter support(9),Spatial multiplexing power save(9),Frame filtering(9) - ops/led moment:
AP support for powersaving clients(9),HW queue control(9),enum ieee80211_filter_flags(9),enum ieee80211_ampdu_mlme_action(9),struct ieee80211_ampdu_params(9),enum ieee80211_frame_release_type(9),enum ieee80211_rate_control_changed(9),enum ieee80211_roc_type(9),enum ieee80211_reconfig_type(9),struct ieee80211_prep_tx_info(9),struct ieee80211_ops(9),ieee80211_alloc_hw_nm(9),ieee80211_alloc_hw(9),ieee80211_register_hw(9),struct ieee80211_tpt_blink(9) - rx party:
enum ieee80211_tpt_led_trigger_flags(9),ieee80211_get_tx_led_name(9),ieee80211_get_rx_led_name(9),ieee80211_get_assoc_led_name(9),ieee80211_get_radio_led_name(9),ieee80211_create_tpt_led_trigger(9),ieee80211_unregister_hw(9),ieee80211_free_hw(9),ieee80211_restart_hw(9),ieee80211_rx_list(9),ieee80211_rx_napi(9),ieee80211_rx(9),ieee80211_rx_irqsafe(9),ieee80211_rx_ni(9),ieee80211_sta_ps_transition(9) - tx-status crew:
ieee80211_sta_ps_transition_ni(9),ieee80211_sta_pspoll(9),ieee80211_sta_uapsd_trigger(9),ieee80211_sta_set_buffered(9),ieee80211_get_tx_rates(9),ieee80211_tx_rate_update(9),ieee80211_tx_status_skb(9),ieee80211_tx_status_ext(9),ieee80211_tx_status_noskb(9),ieee80211_tx_status_ni(9),ieee80211_tx_status_irqsafe(9),ieee80211_report_low_ack(9),struct ieee80211_mutable_offsets(9),ieee80211_beacon_get_template(9),ieee80211_beacon_get_template_ema_index(9) - beacon/template squad:
struct ieee80211_ema_beacons(9),ieee80211_beacon_get_template_ema_list(9),ieee80211_beacon_free_ema_list(9),ieee80211_beacon_get_tim(9),ieee80211_beacon_get(9),ieee80211_beacon_update_cntdwn(9),ieee80211_beacon_set_cntdwn(9),ieee80211_csa_finish(9),ieee80211_beacon_cntdwn_is_complete(9),ieee80211_color_change_finish(9),ieee80211_proberesp_get(9),ieee80211_pspoll_get(9),ieee80211_nullfunc_get(9),ieee80211_probereq_get(9),ieee80211_rts_get(9) - frame-getter icons:
ieee80211_rts_duration(9),ieee80211_ctstoself_get(9),ieee80211_ctstoself_duration(9),ieee80211_generic_frame_duration(9),ieee80211_get_buffered_bc(9),ieee80211_get_tkip_p1k_iv(9),ieee80211_get_tkip_p1k(9),ieee80211_get_tkip_rx_p1k(9),ieee80211_get_tkip_p2k(9),ieee80211_tkip_add_iv(9),ieee80211_get_key_rx_seq(9),ieee80211_set_key_rx_seq(9),ieee80211_gtk_rekey_add(9),ieee80211_gtk_rekey_notify(9),ieee80211_key_mic_failure(9) - queue/scan gang:
ieee80211_key_replay(9),ieee80211_wake_queue(9),ieee80211_stop_queue(9),ieee80211_queue_stopped(9),ieee80211_stop_queues(9),ieee80211_wake_queues(9),ieee80211_scan_completed(9),ieee80211_sched_scan_results(9),ieee80211_sched_scan_stopped(9),enum ieee80211_interface_iteration_flags(9),ieee80211_iterate_interfaces(9),ieee80211_iterate_active_interfaces(9),ieee80211_iterate_active_interfaces_atomic(9),for_each_interface(9),for_each_active_interface(9) - iterate/work besties:
ieee80211_iterate_active_interfaces_mtx(9),ieee80211_iterate_stations_atomic(9),for_each_station(9),ieee80211_iterate_stations_mtx(9),ieee80211_queue_work(9),ieee80211_queue_delayed_work(9),ieee80211_refresh_tx_agg_session_timer(9),ieee80211_start_tx_ba_session(9),ieee80211_start_tx_ba_cb_irqsafe(9),ieee80211_stop_tx_ba_session(9),ieee80211_stop_tx_ba_cb_irqsafe(9),ieee80211_find_sta(9),ieee80211_find_sta_by_ifaddr(9),ieee80211_find_sta_by_link_addrs(9),ieee80211_sta_block_awake(9) - sta/airtime moment:
ieee80211_sta_eosp(9),ieee80211_send_eosp_nullfunc(9),ieee80211_sta_recalc_aggregates(9),ieee80211_sta_register_airtime(9),ieee80211_txq_airtime_check(9),ieee80211_txq_aql_pending(9),ieee80211_iter_keys(9),ieee80211_iter_keys_rcu(9),ieee80211_iter_chan_contexts_atomic(9),ieee80211_iter_chan_contexts_mtx(9),ieee80211_ap_probereq_get(9),ieee80211_beacon_loss(9),ieee80211_connection_loss(9),ieee80211_disconnect(9),ieee80211_resume_disconnect(9) - disconnect/radar girlies:
ieee80211_hw_restart_disconnect(9),ieee80211_cqm_rssi_notify(9),ieee80211_cqm_beacon_loss_notify(9),ieee80211_radar_detected(9),ieee80211_chswitch_done(9),ieee80211_channel_switch_disconnect(9),ieee80211_request_smps(9),ieee80211_ready_on_channel(9),ieee80211_remain_on_channel_expired(9),ieee80211_stop_rx_ba_session(9),ieee80211_mark_rx_ba_filtered_frames(9),ieee80211_send_bar(9),ieee80211_manage_rx_ba_offl(9),ieee80211_start_rx_ba_session_offl(9),ieee80211_stop_rx_ba_session_offl(9) - rate/control icons:
ieee80211_rx_ba_timer_expired(9),struct ieee80211_tx_rate_control(9),enum rate_control_capabilities(9),rate_control_set_rates(9),ieee80211_get_he_iftype_cap_vif(9),ieee80211_get_he_6ghz_capa_vif(9),ieee80211_get_eht_iftype_cap_vif(9),ieee80211_get_uhr_iftype_cap_vif(9),ieee80211_update_mu_groups(9),ieee80211_ave_rssi(9),ieee80211_calculate_rx_timestamp(9),ieee80211_report_wowlan_wakeup(9),ieee80211_tx_prepare_skb(9),ieee80211_parse_tx_radiotap(9),struct ieee80211_noa_data(9) - txq/nan crew:
ieee80211_parse_p2p_noa(9),ieee80211_update_p2p_noa(9),ieee80211_tdls_oper_request(9),ieee80211_reserve_tid(9),ieee80211_unreserve_tid(9),ieee80211_tx_dequeue(9),ieee80211_tx_dequeue_ni(9),ieee80211_handle_wake_tx_queue(9),ieee80211_next_txq(9),ieee80211_txq_schedule_start(9),ieee80211_schedule_txq(9),ieee80211_return_txq(9),ieee80211_txq_may_transmit(9),ieee80211_txq_get_depth(9),ieee80211_nan_func_terminated(9) - final stretch energy:
ieee80211_nan_func_match(9),ieee80211_nan_sched_update_done(9),ieee80211_nan_cluster_joined(9),ieee80211_nan_try_evacuate(9),ieee80211_calc_rx_airtime(9),ieee80211_calc_tx_airtime(9),ieee80211_get_fils_discovery_tmpl(9),ieee80211_get_unsol_bcast_probe_resp_tmpl(9),ieee80211_obss_color_collision_notify(9),ieee80211_is_tx_data(9),ieee80211_set_active_links(9),ieee80211_set_active_links_async(9),ieee80211_send_teardown_neg_ttlm(9),ieee80211_chan_width_to_rx_bw(9),ieee80211_prepare_rx_omi_bw(9) - last three, periodt:
ieee80211_finalize_rx_omi_bw(9),ieee80211_vif_nan_started(9),ieee80211_encrypt_tx_skb(9)
thatβs the whole see-also universe, bestie π
β¨ The source path on this glow-up is ./include/net, the date stamp is October 2026, and the page title is enum ieee80211_hw_flags(9). Go be iconic with your cross-references ππ
π¦ 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