STRUCT NL80211_PATTERN_SUPPORT(9)
β¨ NAME β¨
struct nl80211_pattern_support β packet pattern support information π
okay so real quick, before we get into it: this little baby lives in the Kernel API Manual (that's the manual name, iykyk), and it's basically the "here's what your Wi-Fi card can actually do with wake-up patterns" struct. lowkey iconic. π¦
πΈ SYNOPSIS πΈ
struct nl80211_pattern_support {
__u32 max_patterns;
__u32 min_pattern_len;
__u32 max_pattern_len;
__u32 max_pkt_offset;
};
that's it. that's the whole struct. four __u32s and a dream π
π Members π
okay so these are the four fields, and yes, every single one of them matters, don't skip:
max_patternsβ the maximum number of patterns the thing supports. like, how many patterns you can stack before the hardware's like "bestie, no more." π«Άmin_pattern_lenβ the minimum length of each pattern. go below this and it's a no from the driver.max_pattern_lenβ the maximum length of each pattern. go above this and, again, no. πmax_pkt_offsetβ the maximum Rx packet offset. that's the furthest into the received packet you're allowed to point. π
π Description π
so here's the vibe check: this struct gets carried in NL80211_WOWLAN_TRIG_PKT_PATTERN when that is part of NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED.
it ALSO gets carried in NL80211_ATTR_COALESCE_RULE_PKT_PATTERN when that is part of NL80211_ATTR_COALESCE_RULE.
where's it going? into the capability information given by the kernel to userspace. which is literally just the kernel saying "here's what i can do, bestie, plan accordingly." π«
no cap, that's the whole description. it's short, it's sweet, it's giving "just the facts" energy.
π SEE ALSO π
okay this list is LONG. like, unreasonably long. but every single one of these is real and i'm not cutting a single one, so buckle up buttercup π
- 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_reg_rule_flags(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)
- 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)
see? told you it was long. but we got through it together, bestie π«Ά
and that's the whole page!! source is ./include/uapi/linux and the date on this one is October 2026, so likeβ¦ future vibes β¨ thanks for reading, mwah πππΈ
π¦ 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