ENUM NL80211_REG_RULE_FLAGS(9)
π enum nl80211_reg_rule_flags β regulatory rule flags π
Okay bestie, gather round, because this is a page from the Kernel API Manual and it's literally the master list of "what's allowed where" for wireless. It's called enum nl80211_reg_rule_flags, and no cap, it's the vibe check that regulatory rules pass before your Wi-Fi card gets to do anything. Every flag here is a little "nope" or a little "yes queen" attached to a frequency range. Let's get into it π¦
β¨ NAME β¨
enum nl80211_reg_rule_flags β regulatory rule flags
πΈ SYNOPSIS πΈ
enum nl80211_reg_rule_flags {
NL80211_RRF_NO_OFDM ,
NL80211_RRF_NO_CCK ,
NL80211_RRF_NO_INDOOR ,
NL80211_RRF_NO_OUTDOOR ,
NL80211_RRF_DFS ,
NL80211_RRF_PTP_ONLY ,
NL80211_RRF_PTMP_ONLY ,
NL80211_RRF_NO_IR ,
__NL80211_RRF_NO_IBSS ,
NL80211_RRF_AUTO_BW ,
NL80211_RRF_IR_CONCURRENT ,
NL80211_RRF_NO_HT40MINUS ,
NL80211_RRF_NO_HT40PLUS ,
NL80211_RRF_NO_80MHZ ,
NL80211_RRF_NO_160MHZ ,
NL80211_RRF_NO_HE ,
NL80211_RRF_NO_320MHZ ,
NL80211_RRF_NO_EHT ,
NL80211_RRF_PSD ,
NL80211_RRF_DFS_CONCURRENT ,
NL80211_RRF_NO_6GHZ_VLP_CLIENT ,
NL80211_RRF_NO_6GHZ_AFC_CLIENT ,
NL80211_RRF_ALLOW_6GHZ_VLP_AP ,
NL80211_RRF_ALLOW_20MHZ_ACTIVITY ,
NL80211_RRF_NO_UHR
};
π Constants π
Like, one bullet per flag, all in order, nothing skipped because we do NOT do that here π
NL80211_RRF_NO_OFDMβ OFDM modulation? Not allowed, bestie. π«NL80211_RRF_NO_CCKβ CCK modulation? Also not allowed.NL80211_RRF_NO_INDOORβ indoor operation not allowed (so, take it outside π€οΈ).NL80211_RRF_NO_OUTDOORβ outdoor operation not allowed (back inside you go π ).NL80211_RRF_DFSβ DFS support is required to be used. It's giving "you must have the paperwork" energy.NL80211_RRF_PTP_ONLYβ this is only for Point To Point links.NL80211_RRF_PTMP_ONLYβ this is only for Point To Multi Point links.NL80211_RRF_NO_IRβ no mechanisms that initiate radiation are allowed, this includes probe requests or modes of operation that require beaconing. Like, absolutely no radiating first, thank you π__NL80211_RRF_NO_IBSSβ obsolete, same as NO_IR. She's retired, but she's still on the list, respect πNL80211_RRF_AUTO_BWβ maximum available bandwidth should be calculated base on contiguous rules and wider channels will be allowed to cross multiple contiguous/overlapping frequency ranges. Big bandwidth energy, slay.NL80211_RRF_IR_CONCURRENTβ SeeNL80211_FREQUENCY_ATTR_IR_CONCURRENT(iykyk π).NL80211_RRF_NO_HT40MINUSβ channels can't be used in HT40- operation.NL80211_RRF_NO_HT40PLUSβ channels can't be used in HT40+ operation.NL80211_RRF_NO_80MHZβ 80MHz operation not allowed.NL80211_RRF_NO_160MHZβ 160MHz operation not allowed.NL80211_RRF_NO_HEβ HE operation not allowed.NL80211_RRF_NO_320MHZβ 320MHz operation not allowed.NL80211_RRF_NO_EHTβ EHT operation not allowed.NL80211_RRF_PSDβ Ruleset has power spectral density value. She's got texture β¨NL80211_RRF_DFS_CONCURRENTβ Operation on this channel is allowed for peer-to-peer or adhoc communication under the control of a DFS master which operates on the same channel (FCC-594280 D01 Section B.3). Should be used together withNL80211_RRF_DFSonly. > β οΈ bestie, read that again: only withNL80211_RRF_DFS. Not a solo act.NL80211_RRF_NO_6GHZ_VLP_CLIENTβ Client connection to VLP AP not allowed.NL80211_RRF_NO_6GHZ_AFC_CLIENTβ Client connection to AFC AP not allowed.NL80211_RRF_ALLOW_6GHZ_VLP_APβ Very low power (VLP) AP can be permitted despiteNO_IRconfiguration. Permission slip unlocked π«ΆNL80211_RRF_ALLOW_20MHZ_ACTIVITYβ Allow activity in 20 MHz bandwidth, despiteNO_IRconfiguration. Same energy, 20 MHz flavored.NL80211_RRF_NO_UHRβ UHR operation not allowed.
π¦ SEE ALSO π¦
This list is long long, but I would never gatekeep a single entry, so here's every single one, in order, exactly as promised π
- Kernel file
./include/uapi/linux/nl80211.h Station handling(9)Frame transmission/registration support(9)Virtual interface / concurrency capabilities(9)packet coalesce support(9)WPA/WPA2 EAPOL handshake offload(9)FILS shared key authentication offload(9)SAE authentication offload(9)VLAN offload support for setting group keys and binding STAs to VLANs(9)TID configuration(9)FILS shared key crypto offload(9)Multi-Link Operation(9)OWE DH IE handling offload(9)enum nl80211_commands(9)enum nl80211_attrs(9)enum nl80211_iftype(9)enum nl80211_sta_flags(9)enum nl80211_sta_p2p_ps_status(9)struct nl80211_sta_flag_update(9)enum nl80211_he_gi(9)enum nl80211_he_ltf(9)enum nl80211_he_ru_alloc(9)enum nl80211_eht_gi(9)enum nl80211_eht_ltf(9)enum nl80211_eht_ru_alloc(9)enum nl80211_rate_info(9)enum nl80211_sta_bss_param(9)enum nl80211_sta_info(9)enum nl80211_tid_stats(9)enum nl80211_txq_stats(9)enum nl80211_mpath_flags(9)enum nl80211_mpath_info(9)enum nl80211_band_iftype_attr(9)enum nl80211_band_attr(9)enum nl80211_nan_phy_cap_attr(9)enum nl80211_wmm_rule(9)enum nl80211_frequency_attr(9)enum nl80211_bitrate_attr(9)enum nl80211_reg_initiator(9)enum nl80211_reg_type(9)enum nl80211_reg_rule_attr(9)enum nl80211_sched_scan_match_attr(9)enum nl80211_dfs_regions(9)enum nl80211_user_reg_hint_type(9)enum nl80211_survey_info(9)enum nl80211_mntr_flags(9)enum nl80211_mesh_power_mode(9)enum nl80211_meshconf_params(9)enum nl80211_mesh_setup_params(9)enum nl80211_txq_attr(9)enum nl80211_channel_type(9)enum nl80211_key_mode(9)enum nl80211_chan_width(9)enum nl80211_bss_scan_width(9)enum nl80211_bss_use_for(9)enum nl80211_bss_cannot_use_reasons(9)enum nl80211_bss(9)enum nl80211_bss_status(9)enum nl80211_auth_type(9)enum nl80211_key_type(9)enum nl80211_mfp(9)enum nl80211_key_default_types(9)enum nl80211_key_attributes(9)enum nl80211_tx_rate_attributes(9)struct nl80211_txrate_vht(9)struct nl80211_txrate_he(9)struct nl80211_txrate_eht(9)enum nl80211_band(9)enum nl80211_ps_state(9)enum nl80211_attr_cqm(9)enum nl80211_cqm_rssi_threshold_event(9)enum nl80211_tx_power_setting(9)enum nl80211_tid_config(9)enum nl80211_packet_pattern_attr(9)struct nl80211_pattern_support(9)enum nl80211_wowlan_triggers(9)TCP connection wakeup(9)struct nl80211_wowlan_tcp_data_seq(9)struct nl80211_wowlan_tcp_data_token(9)struct nl80211_wowlan_tcp_data_token_feature(9)enum nl80211_wowlan_tcp_attrs(9)struct nl80211_coalesce_rule_support(9)enum nl80211_attr_coalesce_rule(9)enum nl80211_coalesce_condition(9)enum nl80211_iface_limit_attrs(9)enum nl80211_if_combination_attrs(9)enum nl80211_plink_state(9)enum nl80211_plink_action(9)enum nl80211_rekey_data(9)enum nl80211_hidden_ssid(9)enum nl80211_sta_wme_attr(9)enum nl80211_pmksa_candidate_attr(9)enum nl80211_tdls_operation(9)enum nl80211_ap_sme_features(9)enum nl80211_feature_flags(9)enum nl80211_ext_feature_index(9)enum nl80211_probe_resp_offload_support_attr(9)enum nl80211_connect_failed_reason(9)enum nl80211_timeout_reason(9)enum nl80211_scan_flags(9)enum nl80211_acl_policy(9)enum nl80211_smps_mode(9)enum nl80211_radar_event(9)enum nl80211_dfs_state(9)enum nl80211_protocol_features(9)enum nl80211_crit_proto_id(9)enum nl80211_rxmgmt_flags(9)struct nl80211_vendor_cmd_info(9)enum nl80211_tdls_peer_capability(9)enum nl80211_sched_scan_plan(9)struct nl80211_bss_select_rssi_adjust(9)enum nl80211_bss_select_attr(9)enum nl80211_nan_function_type(9)enum nl80211_nan_publish_type(9)enum nl80211_nan_func_term_reason(9)enum nl80211_nan_func_attributes(9)enum nl80211_nan_srf_attributes(9)enum nl80211_nan_match_attributes(9)enum nl80211_nan_band_conf_attributes(9)enum nl80211_nan_conf_attributes(9)enum nl80211_external_auth_action(9)enum nl80211_ftm_responder_attributes(9)enum nl80211_preamble(9)enum nl80211_peer_measurement_type(9)enum nl80211_peer_measurement_status(9)enum nl80211_peer_measurement_req(9)enum nl80211_peer_measurement_resp(9)enum nl80211_peer_measurement_ftm_req_type(9)enum nl80211_peer_measurement_peer_attrs(9)enum nl80211_peer_measurement_attrs(9)enum nl80211_peer_measurement_ftm_capa(9)enum nl80211_peer_measurement_ftm_type_capa(9)enum nl80211_peer_measurement_ftm_req(9)enum nl80211_peer_measurement_ftm_failure_reasons(9)enum nl80211_peer_measurement_ftm_resp(9)enum nl80211_obss_pd_attributes(9)enum nl80211_bss_color_attributes(9)enum nl80211_iftype_akm_attributes(9)enum nl80211_fils_discovery_attributes(9)enum nl80211_unsol_bcast_probe_resp_attributes(9)enum nl80211_sae_pwe_mechanism(9)enum nl80211_sar_type(9)enum nl80211_sar_attrs(9)enum nl80211_sar_specs_attrs(9)enum nl80211_mbssid_config_attributes(9)enum nl80211_ap_settings_flags(9)enum nl80211_wiphy_radio_attrs(9)enum nl80211_wiphy_radio_freq_range(9)enum nl80211_s1g_short_beacon_attrs(9)enum nl80211_nan_capabilities(9)enum nl80211_nan_peer_map_attrs(9)
That's the whole thing, bestie β every flag, every caveat, nothing dropped π«Ά
And a lil sign-off: this page lives in the source tree at ./include/uapi/linux, dated October 2026, and it's the enum nl80211_reg_rule_flags(9) page from the Kernel API Manual. Go forth and regulate responsibly π
β¨
π¦ 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