summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-netlink-nl80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/packet-netlink-nl80211.c')
-rw-r--r--epan/dissectors/packet-netlink-nl80211.c1083
1 files changed, 852 insertions, 231 deletions
diff --git a/epan/dissectors/packet-netlink-nl80211.c b/epan/dissectors/packet-netlink-nl80211.c
index 77b461ad..07f64594 100644
--- a/epan/dissectors/packet-netlink-nl80211.c
+++ b/epan/dissectors/packet-netlink-nl80211.c
@@ -183,6 +183,9 @@ enum ws_nl80211_commands {
WS_NL80211_CMD_ADD_LINK_STA,
WS_NL80211_CMD_MODIFY_LINK_STA,
WS_NL80211_CMD_REMOVE_LINK_STA,
+ WS_NL80211_CMD_SET_HW_TIMESTAMP,
+ WS_NL80211_CMD_LINKS_REMOVED,
+ WS_NL80211_CMD_SET_TID_TO_LINK_MAPPING,
};
enum ws_nl80211_attrs {
@@ -509,6 +512,16 @@ enum ws_nl80211_attrs {
WS_NL80211_ATTR_RX_HW_TIMESTAMP,
WS_NL80211_ATTR_TD_BITMAP,
WS_NL80211_ATTR_PUNCT_BITMAP,
+ WS_NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS,
+ WS_NL80211_ATTR_HW_TIMESTAMP_ENABLED,
+ WS_NL80211_ATTR_EMA_RNR_ELEMS,
+ WS_NL80211_ATTR_MLO_LINK_DISABLED,
+ WS_NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA,
+ WS_NL80211_ATTR_MLO_TTLM_DLINK,
+ WS_NL80211_ATTR_MLO_TTLM_ULINK,
+ WS_NL80211_ATTR_ASSOC_SPP_AMSDU,
+ WS_NL80211_ATTR_WIPHY_RADIOS,
+ WS_NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS,
};
enum ws_nl80211_iftype {
@@ -536,6 +549,7 @@ enum ws_nl80211_sta_flags {
WS_NL80211_STA_FLAG_AUTHENTICATED,
WS_NL80211_STA_FLAG_TDLS_PEER,
WS_NL80211_STA_FLAG_ASSOCIATED,
+ WS_NL80211_STA_FLAG_SPP_AMSDU,
};
enum ws_nl80211_sta_p2p_ps_status {
@@ -549,6 +563,12 @@ enum ws_nl80211_he_gi {
WS_NL80211_RATE_INFO_HE_GI_3_2,
};
+enum ws_nl80211_he_ltf {
+ WS_NL80211_RATE_INFO_HE_1XLTF,
+ WS_NL80211_RATE_INFO_HE_2XLTF,
+ WS_NL80211_RATE_INFO_HE_4XLTF,
+};
+
enum ws_nl80211_he_ru_alloc {
WS_NL80211_RATE_INFO_HE_RU_ALLOC_26,
WS_NL80211_RATE_INFO_HE_RU_ALLOC_52,
@@ -559,6 +579,31 @@ enum ws_nl80211_he_ru_alloc {
WS_NL80211_RATE_INFO_HE_RU_ALLOC_2x996,
};
+enum ws_nl80211_eht_gi {
+ WS_NL80211_RATE_INFO_EHT_GI_0_8,
+ WS_NL80211_RATE_INFO_EHT_GI_1_6,
+ WS_NL80211_RATE_INFO_EHT_GI_3_2,
+};
+
+enum ws_nl80211_eht_ru_alloc {
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_26,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52P26,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106P26,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_242,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484P242,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484,
+ WS_NL80211_RATE_INFO_EHT_RU_ALLOC_4x996,
+};
+
enum ws_nl80211_rate_info {
WS___NL80211_RATE_INFO_INVALID,
WS_NL80211_RATE_INFO_BITRATE,
@@ -583,6 +628,13 @@ enum ws_nl80211_rate_info {
WS_NL80211_RATE_INFO_EHT_NSS,
WS_NL80211_RATE_INFO_EHT_GI,
WS_NL80211_RATE_INFO_EHT_RU_ALLOC,
+ WS_NL80211_RATE_INFO_S1G_MCS,
+ WS_NL80211_RATE_INFO_S1G_NSS,
+ WS_NL80211_RATE_INFO_1_MHZ_WIDTH,
+ WS_NL80211_RATE_INFO_2_MHZ_WIDTH,
+ WS_NL80211_RATE_INFO_4_MHZ_WIDTH,
+ WS_NL80211_RATE_INFO_8_MHZ_WIDTH,
+ WS_NL80211_RATE_INFO_16_MHZ_WIDTH,
};
enum ws_nl80211_sta_bss_param {
@@ -715,6 +767,8 @@ enum ws_nl80211_band_attr {
WS_NL80211_BAND_ATTR_IFTYPE_DATA,
WS_NL80211_BAND_ATTR_EDMG_CHANNELS,
WS_NL80211_BAND_ATTR_EDMG_BW_CONFIG,
+ WS_NL80211_BAND_ATTR_S1G_MCS_NSS_SET,
+ WS_NL80211_BAND_ATTR_S1G_CAPA,
};
enum ws_nl80211_wmm_rule {
@@ -754,6 +808,12 @@ enum ws_nl80211_frequency_attr {
WS_NL80211_FREQUENCY_ATTR_16MHZ,
WS_NL80211_FREQUENCY_ATTR_NO_320MHZ,
WS_NL80211_FREQUENCY_ATTR_NO_EHT,
+ WS_NL80211_FREQUENCY_ATTR_PSD,
+ WS_NL80211_FREQUENCY_ATTR_DFS_CONCURRENT,
+ WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT,
+ WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT,
+ WS_NL80211_FREQUENCY_ATTR_CAN_MONITOR,
+ WS_NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP,
};
enum ws_nl80211_bitrate_attr {
@@ -785,6 +845,7 @@ enum ws_nl80211_reg_rule_attr {
WS_NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
WS_NL80211_ATTR_POWER_RULE_MAX_EIRP,
WS_NL80211_ATTR_DFS_CAC_TIME,
+ WS_NL80211_ATTR_POWER_RULE_PSD,
};
enum ws_nl80211_sched_scan_match_attr {
@@ -815,6 +876,12 @@ enum ws_nl80211_reg_rule_flags {
WS_NL80211_RRF_NO_160MHZ = 1<<16,
WS_NL80211_RRF_NO_HE = 1<<17,
WS_NL80211_RRF_NO_320MHZ = 1<<18,
+ WS_NL80211_RRF_NO_EHT = 1<<19,
+ WS_NL80211_RRF_PSD = 1<<20,
+ WS_NL80211_RRF_DFS_CONCURRENT = 1<<21,
+ WS_NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22,
+ WS_NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23,
+ WS_NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24,
};
enum ws_nl80211_dfs_regions {
@@ -965,6 +1032,16 @@ enum ws_nl80211_bss_scan_width {
WS_NL80211_BSS_CHAN_WIDTH_2,
};
+enum ws_nl80211_bss_use_for {
+ WS_NL80211_BSS_USE_FOR_NORMAL = 1 << 0,
+ WS_NL80211_BSS_USE_FOR_MLD_LINK = 1 << 1,
+};
+
+enum ws_nl80211_bss_cannot_use_reasons {
+ WS_NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY = 1 << 0,
+ WS_NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH = 1 << 1,
+};
+
enum ws_nl80211_bss {
WS___NL80211_BSS_INVALID,
WS_NL80211_BSS_BSSID,
@@ -989,6 +1066,8 @@ enum ws_nl80211_bss {
WS_NL80211_BSS_FREQUENCY_OFFSET,
WS_NL80211_BSS_MLO_LINK_ID,
WS_NL80211_BSS_MLD_ADDR,
+ WS_NL80211_BSS_USE_FOR,
+ WS_NL80211_BSS_CANNOT_USE_REASONS,
};
enum ws_nl80211_bss_status {
@@ -1102,6 +1181,34 @@ enum ws_nl80211_tx_power_setting {
WS_NL80211_TX_POWER_FIXED,
};
+enum ws_nl80211_tid_config {
+ WS_NL80211_TID_CONFIG_ENABLE,
+ WS_NL80211_TID_CONFIG_DISABLE,
+};
+
+enum ws_nl80211_tx_rate_setting {
+ WS_NL80211_TX_RATE_AUTOMATIC,
+ WS_NL80211_TX_RATE_LIMITED,
+ WS_NL80211_TX_RATE_FIXED,
+};
+
+enum ws_nl80211_tid_config_attr {
+ WS___NL80211_TID_CONFIG_ATTR_INVALID,
+ WS_NL80211_TID_CONFIG_ATTR_PAD,
+ WS_NL80211_TID_CONFIG_ATTR_VIF_SUPP,
+ WS_NL80211_TID_CONFIG_ATTR_PEER_SUPP,
+ WS_NL80211_TID_CONFIG_ATTR_OVERRIDE,
+ WS_NL80211_TID_CONFIG_ATTR_TIDS,
+ WS_NL80211_TID_CONFIG_ATTR_NOACK,
+ WS_NL80211_TID_CONFIG_ATTR_RETRY_SHORT,
+ WS_NL80211_TID_CONFIG_ATTR_RETRY_LONG,
+ WS_NL80211_TID_CONFIG_ATTR_AMPDU_CTRL,
+ WS_NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL,
+ WS_NL80211_TID_CONFIG_ATTR_AMSDU_CTRL,
+ WS_NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE,
+ WS_NL80211_TID_CONFIG_ATTR_TX_RATE,
+};
+
enum ws_nl80211_packet_pattern_attr {
WS___NL80211_PKTPAT_INVALID,
WS_NL80211_PKTPAT_MASK,
@@ -1130,6 +1237,7 @@ enum ws_nl80211_wowlan_triggers {
WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
WS_NL80211_WOWLAN_TRIG_NET_DETECT,
WS_NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS,
+ WS_NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC,
};
enum ws_nl80211_wowlan_tcp_attrs {
@@ -1186,7 +1294,7 @@ enum ws_nl80211_plink_state {
WS_NL80211_PLINK_BLOCKED,
};
-enum ws_plink_actions {
+enum ws_nl80211_plink_action {
WS_NL80211_PLINK_ACTION_NO_ACTION,
WS_NL80211_PLINK_ACTION_OPEN,
WS_NL80211_PLINK_ACTION_BLOCK,
@@ -1227,6 +1335,10 @@ enum ws_nl80211_tdls_operation {
WS_NL80211_TDLS_DISABLE_LINK,
};
+enum ws_nl80211_ap_sme_features {
+ WS_NL80211_AP_SME_SA_QUERY_OFFLOAD = 1 << 0,
+};
+
enum ws_nl80211_feature_flags {
WS_NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
WS_NL80211_FEATURE_HT_IBSS = 1 << 1,
@@ -1326,6 +1438,11 @@ enum ws_nl80211_ext_feature_index {
WS_NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE,
WS_NL80211_EXT_FEATURE_PUNCT,
WS_NL80211_EXT_FEATURE_SECURE_NAN,
+ WS_NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA,
+ WS_NL80211_EXT_FEATURE_OWE_OFFLOAD,
+ WS_NL80211_EXT_FEATURE_OWE_OFFLOAD_AP,
+ WS_NL80211_EXT_FEATURE_DFS_CONCURRENT,
+ WS_NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT,
};
enum ws_nl80211_probe_resp_offload_support_attr {
@@ -1634,6 +1751,84 @@ enum ws_nl80211_obss_pd_attributes {
WS_NL80211_HE_OBSS_PD_ATTR_SR_CTRL,
};
+enum ws_nl80211_bss_color_attributes {
+ WS___NL80211_HE_BSS_COLOR_ATTR_INVALID,
+ WS_NL80211_HE_BSS_COLOR_ATTR_COLOR,
+ WS_NL80211_HE_BSS_COLOR_ATTR_DISABLED,
+ WS_NL80211_HE_BSS_COLOR_ATTR_PARTIAL,
+};
+
+enum ws_nl80211_iftype_akm_attributes {
+ WS___NL80211_IFTYPE_AKM_ATTR_INVALID,
+ WS_NL80211_IFTYPE_AKM_ATTR_IFTYPES,
+ WS_NL80211_IFTYPE_AKM_ATTR_SUITES,
+};
+
+enum ws_nl80211_fils_discovery_attributes {
+ WS___NL80211_FILS_DISCOVERY_ATTR_INVALID,
+ WS_NL80211_FILS_DISCOVERY_ATTR_INT_MIN,
+ WS_NL80211_FILS_DISCOVERY_ATTR_INT_MAX,
+ WS_NL80211_FILS_DISCOVERY_ATTR_TMPL,
+};
+
+enum ws_nl80211_unsol_bcast_probe_resp_attributes {
+ WS___NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID,
+ WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT,
+ WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL,
+};
+
+enum ws_nl80211_sae_pwe_mechanism {
+ WS_NL80211_SAE_PWE_UNSPECIFIED,
+ WS_NL80211_SAE_PWE_HUNT_AND_PECK,
+ WS_NL80211_SAE_PWE_HASH_TO_ELEMENT,
+ WS_NL80211_SAE_PWE_BOTH,
+};
+
+enum ws_nl80211_sar_type {
+ WS_NL80211_SAR_TYPE_POWER,
+};
+
+enum ws_nl80211_sar_attrs {
+ WS___NL80211_SAR_ATTR_INVALID,
+ WS_NL80211_SAR_ATTR_TYPE,
+ WS_NL80211_SAR_ATTR_SPECS,
+};
+
+enum ws_nl80211_sar_specs_attrs {
+ WS___NL80211_SAR_ATTR_SPECS_INVALID,
+ WS_NL80211_SAR_ATTR_SPECS_POWER,
+ WS_NL80211_SAR_ATTR_SPECS_RANGE_INDEX,
+ WS_NL80211_SAR_ATTR_SPECS_START_FREQ,
+ WS_NL80211_SAR_ATTR_SPECS_END_FREQ,
+};
+
+enum ws_nl80211_mbssid_config_attributes {
+ WS___NL80211_MBSSID_CONFIG_ATTR_INVALID,
+ WS_NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES,
+ WS_NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY,
+ WS_NL80211_MBSSID_CONFIG_ATTR_INDEX,
+ WS_NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
+ WS_NL80211_MBSSID_CONFIG_ATTR_EMA,
+};
+
+enum ws_nl80211_ap_settings_flags {
+ WS_NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT = 1 << 0,
+ WS_NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT = 1 << 1,
+};
+
+enum ws_nl80211_wiphy_radio_attrs {
+ WS___NL80211_WIPHY_RADIO_ATTR_INVALID,
+ WS_NL80211_WIPHY_RADIO_ATTR_INDEX,
+ WS_NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE,
+ WS_NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION,
+};
+
+enum ws_nl80211_wiphy_radio_freq_range {
+ WS___NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID,
+ WS_NL80211_WIPHY_RADIO_FREQ_ATTR_START,
+ WS_NL80211_WIPHY_RADIO_FREQ_ATTR_END,
+};
+
static const value_string ws_nl80211_commands_vals[] = {
{ WS_NL80211_CMD_UNSPEC, "NL80211_CMD_UNSPEC" },
{ WS_NL80211_CMD_GET_WIPHY, "NL80211_CMD_GET_WIPHY" },
@@ -1788,6 +1983,9 @@ static const value_string ws_nl80211_commands_vals[] = {
{ WS_NL80211_CMD_ADD_LINK_STA, "NL80211_CMD_ADD_LINK_STA" },
{ WS_NL80211_CMD_MODIFY_LINK_STA, "NL80211_CMD_MODIFY_LINK_STA" },
{ WS_NL80211_CMD_REMOVE_LINK_STA, "NL80211_CMD_REMOVE_LINK_STA" },
+ { WS_NL80211_CMD_SET_HW_TIMESTAMP, "NL80211_CMD_SET_HW_TIMESTAMP" },
+ { WS_NL80211_CMD_LINKS_REMOVED, "NL80211_CMD_LINKS_REMOVED" },
+ { WS_NL80211_CMD_SET_TID_TO_LINK_MAPPING, "NL80211_CMD_SET_TID_TO_LINK_MAPPING" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_commands_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_commands_vals);
@@ -2116,6 +2314,16 @@ static const value_string ws_nl80211_attrs_vals[] = {
{ WS_NL80211_ATTR_RX_HW_TIMESTAMP, "NL80211_ATTR_RX_HW_TIMESTAMP" },
{ WS_NL80211_ATTR_TD_BITMAP, "NL80211_ATTR_TD_BITMAP" },
{ WS_NL80211_ATTR_PUNCT_BITMAP, "NL80211_ATTR_PUNCT_BITMAP" },
+ { WS_NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS, "NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS" },
+ { WS_NL80211_ATTR_HW_TIMESTAMP_ENABLED, "NL80211_ATTR_HW_TIMESTAMP_ENABLED" },
+ { WS_NL80211_ATTR_EMA_RNR_ELEMS, "NL80211_ATTR_EMA_RNR_ELEMS" },
+ { WS_NL80211_ATTR_MLO_LINK_DISABLED, "NL80211_ATTR_MLO_LINK_DISABLED" },
+ { WS_NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA, "NL80211_ATTR_BSS_DUMP_INCLUDE_USE_DATA" },
+ { WS_NL80211_ATTR_MLO_TTLM_DLINK, "NL80211_ATTR_MLO_TTLM_DLINK" },
+ { WS_NL80211_ATTR_MLO_TTLM_ULINK, "NL80211_ATTR_MLO_TTLM_ULINK" },
+ { WS_NL80211_ATTR_ASSOC_SPP_AMSDU, "NL80211_ATTR_ASSOC_SPP_AMSDU" },
+ { WS_NL80211_ATTR_WIPHY_RADIOS, "NL80211_ATTR_WIPHY_RADIOS" },
+ { WS_NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS, "NL80211_ATTR_WIPHY_INTERFACE_COMBINATIONS" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_attrs_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_attrs_vals);
@@ -2147,6 +2355,7 @@ static const value_string ws_nl80211_sta_flags_vals[] = {
{ WS_NL80211_STA_FLAG_AUTHENTICATED, "NL80211_STA_FLAG_AUTHENTICATED" },
{ WS_NL80211_STA_FLAG_TDLS_PEER, "NL80211_STA_FLAG_TDLS_PEER" },
{ WS_NL80211_STA_FLAG_ASSOCIATED, "NL80211_STA_FLAG_ASSOCIATED" },
+ { WS_NL80211_STA_FLAG_SPP_AMSDU, "NL80211_STA_FLAG_SPP_AMSDU" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_sta_flags_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sta_flags_vals);
@@ -2166,6 +2375,14 @@ static const value_string ws_nl80211_he_gi_vals[] = {
};
static value_string_ext ws_nl80211_he_gi_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_he_gi_vals);
+static const value_string ws_nl80211_he_ltf_vals[] = {
+ { WS_NL80211_RATE_INFO_HE_1XLTF, "NL80211_RATE_INFO_HE_1XLTF" },
+ { WS_NL80211_RATE_INFO_HE_2XLTF, "NL80211_RATE_INFO_HE_2XLTF" },
+ { WS_NL80211_RATE_INFO_HE_4XLTF, "NL80211_RATE_INFO_HE_4XLTF" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_he_ltf_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_he_ltf_vals);
+
static const value_string ws_nl80211_he_ru_alloc_vals[] = {
{ WS_NL80211_RATE_INFO_HE_RU_ALLOC_26, "NL80211_RATE_INFO_HE_RU_ALLOC_26" },
{ WS_NL80211_RATE_INFO_HE_RU_ALLOC_52, "NL80211_RATE_INFO_HE_RU_ALLOC_52" },
@@ -2178,6 +2395,35 @@ static const value_string ws_nl80211_he_ru_alloc_vals[] = {
};
static value_string_ext ws_nl80211_he_ru_alloc_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_he_ru_alloc_vals);
+static const value_string ws_nl80211_eht_gi_vals[] = {
+ { WS_NL80211_RATE_INFO_EHT_GI_0_8, "NL80211_RATE_INFO_EHT_GI_0_8" },
+ { WS_NL80211_RATE_INFO_EHT_GI_1_6, "NL80211_RATE_INFO_EHT_GI_1_6" },
+ { WS_NL80211_RATE_INFO_EHT_GI_3_2, "NL80211_RATE_INFO_EHT_GI_3_2" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_eht_gi_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_eht_gi_vals);
+
+static const value_string ws_nl80211_eht_ru_alloc_vals[] = {
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_26, "NL80211_RATE_INFO_EHT_RU_ALLOC_26" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52, "NL80211_RATE_INFO_EHT_RU_ALLOC_52" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_52P26, "NL80211_RATE_INFO_EHT_RU_ALLOC_52P26" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106, "NL80211_RATE_INFO_EHT_RU_ALLOC_106" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_106P26, "NL80211_RATE_INFO_EHT_RU_ALLOC_106P26" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_242, "NL80211_RATE_INFO_EHT_RU_ALLOC_242" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484, "NL80211_RATE_INFO_EHT_RU_ALLOC_484" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_484P242, "NL80211_RATE_INFO_EHT_RU_ALLOC_484P242" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996, "NL80211_RATE_INFO_EHT_RU_ALLOC_996" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484, "NL80211_RATE_INFO_EHT_RU_ALLOC_996P484" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242, "NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996, "NL80211_RATE_INFO_EHT_RU_ALLOC_2x996" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484, "NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996, "NL80211_RATE_INFO_EHT_RU_ALLOC_3x996" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484, "NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484" },
+ { WS_NL80211_RATE_INFO_EHT_RU_ALLOC_4x996, "NL80211_RATE_INFO_EHT_RU_ALLOC_4x996" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_eht_ru_alloc_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_eht_ru_alloc_vals);
+
static const value_string ws_nl80211_rate_info_vals[] = {
{ WS___NL80211_RATE_INFO_INVALID, "__NL80211_RATE_INFO_INVALID" },
{ WS_NL80211_RATE_INFO_BITRATE, "NL80211_RATE_INFO_BITRATE" },
@@ -2202,6 +2448,13 @@ static const value_string ws_nl80211_rate_info_vals[] = {
{ WS_NL80211_RATE_INFO_EHT_NSS, "NL80211_RATE_INFO_EHT_NSS" },
{ WS_NL80211_RATE_INFO_EHT_GI, "NL80211_RATE_INFO_EHT_GI" },
{ WS_NL80211_RATE_INFO_EHT_RU_ALLOC, "NL80211_RATE_INFO_EHT_RU_ALLOC" },
+ { WS_NL80211_RATE_INFO_S1G_MCS, "NL80211_RATE_INFO_S1G_MCS" },
+ { WS_NL80211_RATE_INFO_S1G_NSS, "NL80211_RATE_INFO_S1G_NSS" },
+ { WS_NL80211_RATE_INFO_1_MHZ_WIDTH, "NL80211_RATE_INFO_1_MHZ_WIDTH" },
+ { WS_NL80211_RATE_INFO_2_MHZ_WIDTH, "NL80211_RATE_INFO_2_MHZ_WIDTH" },
+ { WS_NL80211_RATE_INFO_4_MHZ_WIDTH, "NL80211_RATE_INFO_4_MHZ_WIDTH" },
+ { WS_NL80211_RATE_INFO_8_MHZ_WIDTH, "NL80211_RATE_INFO_8_MHZ_WIDTH" },
+ { WS_NL80211_RATE_INFO_16_MHZ_WIDTH, "NL80211_RATE_INFO_16_MHZ_WIDTH" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_rate_info_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_rate_info_vals);
@@ -2350,6 +2603,8 @@ static const value_string ws_nl80211_band_attr_vals[] = {
{ WS_NL80211_BAND_ATTR_IFTYPE_DATA, "NL80211_BAND_ATTR_IFTYPE_DATA" },
{ WS_NL80211_BAND_ATTR_EDMG_CHANNELS, "NL80211_BAND_ATTR_EDMG_CHANNELS" },
{ WS_NL80211_BAND_ATTR_EDMG_BW_CONFIG, "NL80211_BAND_ATTR_EDMG_BW_CONFIG" },
+ { WS_NL80211_BAND_ATTR_S1G_MCS_NSS_SET, "NL80211_BAND_ATTR_S1G_MCS_NSS_SET" },
+ { WS_NL80211_BAND_ATTR_S1G_CAPA, "NL80211_BAND_ATTR_S1G_CAPA" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_band_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_band_attr_vals);
@@ -2393,6 +2648,12 @@ static const value_string ws_nl80211_frequency_attr_vals[] = {
{ WS_NL80211_FREQUENCY_ATTR_16MHZ, "NL80211_FREQUENCY_ATTR_16MHZ" },
{ WS_NL80211_FREQUENCY_ATTR_NO_320MHZ, "NL80211_FREQUENCY_ATTR_NO_320MHZ" },
{ WS_NL80211_FREQUENCY_ATTR_NO_EHT, "NL80211_FREQUENCY_ATTR_NO_EHT" },
+ { WS_NL80211_FREQUENCY_ATTR_PSD, "NL80211_FREQUENCY_ATTR_PSD" },
+ { WS_NL80211_FREQUENCY_ATTR_DFS_CONCURRENT, "NL80211_FREQUENCY_ATTR_DFS_CONCURRENT" },
+ { WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT, "NL80211_FREQUENCY_ATTR_NO_6GHZ_VLP_CLIENT" },
+ { WS_NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, "NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT" },
+ { WS_NL80211_FREQUENCY_ATTR_CAN_MONITOR, "NL80211_FREQUENCY_ATTR_CAN_MONITOR" },
+ { WS_NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, "NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_frequency_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_frequency_attr_vals);
@@ -2432,6 +2693,7 @@ static const value_string ws_nl80211_reg_rule_attr_vals[] = {
{ WS_NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN, "NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN" },
{ WS_NL80211_ATTR_POWER_RULE_MAX_EIRP, "NL80211_ATTR_POWER_RULE_MAX_EIRP" },
{ WS_NL80211_ATTR_DFS_CAC_TIME, "NL80211_ATTR_DFS_CAC_TIME" },
+ { WS_NL80211_ATTR_POWER_RULE_PSD, "NL80211_ATTR_POWER_RULE_PSD" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_reg_rule_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_reg_rule_attr_vals);
@@ -2466,6 +2728,12 @@ static const value_string ws_nl80211_reg_rule_flags_vals[] = {
{ WS_NL80211_RRF_NO_160MHZ, "NL80211_RRF_NO_160MHZ" },
{ WS_NL80211_RRF_NO_HE, "NL80211_RRF_NO_HE" },
{ WS_NL80211_RRF_NO_320MHZ, "NL80211_RRF_NO_320MHZ" },
+ { WS_NL80211_RRF_NO_EHT, "NL80211_RRF_NO_EHT" },
+ { WS_NL80211_RRF_PSD, "NL80211_RRF_PSD" },
+ { WS_NL80211_RRF_DFS_CONCURRENT, "NL80211_RRF_DFS_CONCURRENT" },
+ { WS_NL80211_RRF_NO_6GHZ_VLP_CLIENT, "NL80211_RRF_NO_6GHZ_VLP_CLIENT" },
+ { WS_NL80211_RRF_NO_6GHZ_AFC_CLIENT, "NL80211_RRF_NO_6GHZ_AFC_CLIENT" },
+ { WS_NL80211_RRF_ALLOW_6GHZ_VLP_AP, "NL80211_RRF_ALLOW_6GHZ_VLP_AP" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_reg_rule_flags_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_reg_rule_flags_vals);
@@ -2644,6 +2912,20 @@ static const value_string ws_nl80211_bss_scan_width_vals[] = {
};
static value_string_ext ws_nl80211_bss_scan_width_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_scan_width_vals);
+static const value_string ws_nl80211_bss_use_for_vals[] = {
+ { WS_NL80211_BSS_USE_FOR_NORMAL, "NL80211_BSS_USE_FOR_NORMAL" },
+ { WS_NL80211_BSS_USE_FOR_MLD_LINK, "NL80211_BSS_USE_FOR_MLD_LINK" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_bss_use_for_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_use_for_vals);
+
+static const value_string ws_nl80211_bss_cannot_use_reasons_vals[] = {
+ { WS_NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY, "NL80211_BSS_CANNOT_USE_NSTR_NONPRIMARY" },
+ { WS_NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH, "NL80211_BSS_CANNOT_USE_6GHZ_PWR_MISMATCH" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_bss_cannot_use_reasons_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_cannot_use_reasons_vals);
+
static const value_string ws_nl80211_bss_vals[] = {
{ WS___NL80211_BSS_INVALID, "__NL80211_BSS_INVALID" },
{ WS_NL80211_BSS_BSSID, "NL80211_BSS_BSSID" },
@@ -2668,6 +2950,8 @@ static const value_string ws_nl80211_bss_vals[] = {
{ WS_NL80211_BSS_FREQUENCY_OFFSET, "NL80211_BSS_FREQUENCY_OFFSET" },
{ WS_NL80211_BSS_MLO_LINK_ID, "NL80211_BSS_MLO_LINK_ID" },
{ WS_NL80211_BSS_MLD_ADDR, "NL80211_BSS_MLD_ADDR" },
+ { WS_NL80211_BSS_USE_FOR, "NL80211_BSS_USE_FOR" },
+ { WS_NL80211_BSS_CANNOT_USE_REASONS, "NL80211_BSS_CANNOT_USE_REASONS" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_bss_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_vals);
@@ -2811,6 +3095,40 @@ static const value_string ws_nl80211_tx_power_setting_vals[] = {
};
static value_string_ext ws_nl80211_tx_power_setting_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tx_power_setting_vals);
+static const value_string ws_nl80211_tid_config_vals[] = {
+ { WS_NL80211_TID_CONFIG_ENABLE, "NL80211_TID_CONFIG_ENABLE" },
+ { WS_NL80211_TID_CONFIG_DISABLE, "NL80211_TID_CONFIG_DISABLE" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_tid_config_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tid_config_vals);
+
+static const value_string ws_nl80211_tx_rate_setting_vals[] = {
+ { WS_NL80211_TX_RATE_AUTOMATIC, "NL80211_TX_RATE_AUTOMATIC" },
+ { WS_NL80211_TX_RATE_LIMITED, "NL80211_TX_RATE_LIMITED" },
+ { WS_NL80211_TX_RATE_FIXED, "NL80211_TX_RATE_FIXED" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_tx_rate_setting_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tx_rate_setting_vals);
+
+static const value_string ws_nl80211_tid_config_attr_vals[] = {
+ { WS___NL80211_TID_CONFIG_ATTR_INVALID, "__NL80211_TID_CONFIG_ATTR_INVALID" },
+ { WS_NL80211_TID_CONFIG_ATTR_PAD, "NL80211_TID_CONFIG_ATTR_PAD" },
+ { WS_NL80211_TID_CONFIG_ATTR_VIF_SUPP, "NL80211_TID_CONFIG_ATTR_VIF_SUPP" },
+ { WS_NL80211_TID_CONFIG_ATTR_PEER_SUPP, "NL80211_TID_CONFIG_ATTR_PEER_SUPP" },
+ { WS_NL80211_TID_CONFIG_ATTR_OVERRIDE, "NL80211_TID_CONFIG_ATTR_OVERRIDE" },
+ { WS_NL80211_TID_CONFIG_ATTR_TIDS, "NL80211_TID_CONFIG_ATTR_TIDS" },
+ { WS_NL80211_TID_CONFIG_ATTR_NOACK, "NL80211_TID_CONFIG_ATTR_NOACK" },
+ { WS_NL80211_TID_CONFIG_ATTR_RETRY_SHORT, "NL80211_TID_CONFIG_ATTR_RETRY_SHORT" },
+ { WS_NL80211_TID_CONFIG_ATTR_RETRY_LONG, "NL80211_TID_CONFIG_ATTR_RETRY_LONG" },
+ { WS_NL80211_TID_CONFIG_ATTR_AMPDU_CTRL, "NL80211_TID_CONFIG_ATTR_AMPDU_CTRL" },
+ { WS_NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL, "NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL" },
+ { WS_NL80211_TID_CONFIG_ATTR_AMSDU_CTRL, "NL80211_TID_CONFIG_ATTR_AMSDU_CTRL" },
+ { WS_NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE, "NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE" },
+ { WS_NL80211_TID_CONFIG_ATTR_TX_RATE, "NL80211_TID_CONFIG_ATTR_TX_RATE" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_tid_config_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tid_config_attr_vals);
+
static const value_string ws_nl80211_packet_pattern_attr_vals[] = {
{ WS___NL80211_PKTPAT_INVALID, "__NL80211_PKTPAT_INVALID" },
{ WS_NL80211_PKTPAT_MASK, "NL80211_PKTPAT_MASK" },
@@ -2841,6 +3159,7 @@ static const value_string ws_nl80211_wowlan_triggers_vals[] = {
{ WS_NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS, "NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS" },
{ WS_NL80211_WOWLAN_TRIG_NET_DETECT, "NL80211_WOWLAN_TRIG_NET_DETECT" },
{ WS_NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS, "NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS" },
+ { WS_NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC, "NL80211_WOWLAN_TRIG_UNPROTECTED_DEAUTH_DISASSOC" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_wowlan_triggers_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_wowlan_triggers_vals);
@@ -2911,13 +3230,13 @@ static const value_string ws_nl80211_plink_state_vals[] = {
};
static value_string_ext ws_nl80211_plink_state_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_plink_state_vals);
-static const value_string ws_plink_actions_vals[] = {
+static const value_string ws_nl80211_plink_action_vals[] = {
{ WS_NL80211_PLINK_ACTION_NO_ACTION, "NL80211_PLINK_ACTION_NO_ACTION" },
{ WS_NL80211_PLINK_ACTION_OPEN, "NL80211_PLINK_ACTION_OPEN" },
{ WS_NL80211_PLINK_ACTION_BLOCK, "NL80211_PLINK_ACTION_BLOCK" },
{ 0, NULL }
};
-static value_string_ext ws_plink_actions_vals_ext = VALUE_STRING_EXT_INIT(ws_plink_actions_vals);
+static value_string_ext ws_nl80211_plink_action_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_plink_action_vals);
static const value_string ws_nl80211_rekey_data_vals[] = {
{ WS___NL80211_REKEY_DATA_INVALID, "__NL80211_REKEY_DATA_INVALID" },
@@ -2964,6 +3283,12 @@ static const value_string ws_nl80211_tdls_operation_vals[] = {
};
static value_string_ext ws_nl80211_tdls_operation_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tdls_operation_vals);
+static const value_string ws_nl80211_ap_sme_features_vals[] = {
+ { WS_NL80211_AP_SME_SA_QUERY_OFFLOAD, "NL80211_AP_SME_SA_QUERY_OFFLOAD" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_ap_sme_features_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_ap_sme_features_vals);
+
static const value_string ws_nl80211_feature_flags_vals[] = {
{ WS_NL80211_FEATURE_SK_TX_STATUS, "NL80211_FEATURE_SK_TX_STATUS" },
{ WS_NL80211_FEATURE_HT_IBSS, "NL80211_FEATURE_HT_IBSS" },
@@ -3065,6 +3390,11 @@ static const value_string ws_nl80211_ext_feature_index_vals[] = {
{ WS_NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, "NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE" },
{ WS_NL80211_EXT_FEATURE_PUNCT, "NL80211_EXT_FEATURE_PUNCT" },
{ WS_NL80211_EXT_FEATURE_SECURE_NAN, "NL80211_EXT_FEATURE_SECURE_NAN" },
+ { WS_NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA, "NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA" },
+ { WS_NL80211_EXT_FEATURE_OWE_OFFLOAD, "NL80211_EXT_FEATURE_OWE_OFFLOAD" },
+ { WS_NL80211_EXT_FEATURE_OWE_OFFLOAD_AP, "NL80211_EXT_FEATURE_OWE_OFFLOAD_AP" },
+ { WS_NL80211_EXT_FEATURE_DFS_CONCURRENT, "NL80211_EXT_FEATURE_DFS_CONCURRENT" },
+ { WS_NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT, "NL80211_EXT_FEATURE_SPP_AMSDU_SUPPORT" },
{ 0, NULL }
};
static value_string_ext ws_nl80211_ext_feature_index_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_ext_feature_index_vals);
@@ -3445,213 +3775,357 @@ static const value_string ws_nl80211_obss_pd_attributes_vals[] = {
};
static value_string_ext ws_nl80211_obss_pd_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_obss_pd_attributes_vals);
-static gint hf_nl80211_commands = -1;
-static gint hf_nl80211_attrs = -1;
-static gint hf_nl80211_iftype = -1;
-static gint hf_nl80211_sta_flags = -1;
-static gint hf_nl80211_sta_p2p_ps_status = -1;
-static gint hf_nl80211_he_gi = -1;
-static gint hf_nl80211_he_ru_alloc = -1;
-static gint hf_nl80211_rate_info = -1;
-static gint hf_nl80211_sta_bss_param = -1;
-static gint hf_nl80211_sta_info = -1;
-static gint hf_nl80211_tid_stats = -1;
-static gint hf_nl80211_txq_stats = -1;
-static gint hf_nl80211_mpath_flags = -1;
-static gint hf_nl80211_mpath_info = -1;
-static gint hf_nl80211_band_iftype_attr = -1;
-static gint hf_nl80211_band_attr = -1;
-static gint hf_nl80211_wmm_rule = -1;
-static gint hf_nl80211_frequency_attr = -1;
-static gint hf_nl80211_bitrate_attr = -1;
-static gint hf_nl80211_reg_initiator = -1;
-static gint hf_nl80211_reg_type = -1;
-static gint hf_nl80211_reg_rule_attr = -1;
-static gint hf_nl80211_sched_scan_match_attr = -1;
-static gint hf_nl80211_reg_rule_flags = -1;
-static gint hf_nl80211_dfs_regions = -1;
-static gint hf_nl80211_user_reg_hint_type = -1;
-static gint hf_nl80211_survey_info = -1;
-static gint hf_nl80211_mntr_flags = -1;
-static gint hf_nl80211_mesh_power_mode = -1;
-static gint hf_nl80211_meshconf_params = -1;
-static gint hf_nl80211_mesh_setup_params = -1;
-static gint hf_nl80211_txq_attr = -1;
-static gint hf_nl80211_ac = -1;
-static gint hf_nl80211_channel_type = -1;
-static gint hf_nl80211_key_mode = -1;
-static gint hf_nl80211_chan_width = -1;
-static gint hf_nl80211_bss_scan_width = -1;
-static gint hf_nl80211_bss = -1;
-static gint hf_nl80211_bss_status = -1;
-static gint hf_nl80211_auth_type = -1;
-static gint hf_nl80211_key_type = -1;
-static gint hf_nl80211_mfp = -1;
-static gint hf_nl80211_wpa_versions = -1;
-static gint hf_nl80211_key_default_types = -1;
-static gint hf_nl80211_key_attributes = -1;
-static gint hf_nl80211_tx_rate_attributes = -1;
-static gint hf_nl80211_txrate_gi = -1;
-static gint hf_nl80211_band = -1;
-static gint hf_nl80211_ps_state = -1;
-static gint hf_nl80211_attr_cqm = -1;
-static gint hf_nl80211_cqm_rssi_threshold_event = -1;
-static gint hf_nl80211_tx_power_setting = -1;
-static gint hf_nl80211_packet_pattern_attr = -1;
-static gint hf_nl80211_wowlan_triggers = -1;
-static gint hf_nl80211_wowlan_tcp_attrs = -1;
-static gint hf_nl80211_attr_coalesce_rule = -1;
-static gint hf_nl80211_coalesce_condition = -1;
-static gint hf_nl80211_iface_limit_attrs = -1;
-static gint hf_nl80211_if_combination_attrs = -1;
-static gint hf_nl80211_plink_state = -1;
-static gint hf_plink_actions = -1;
-static gint hf_nl80211_rekey_data = -1;
-static gint hf_nl80211_hidden_ssid = -1;
-static gint hf_nl80211_sta_wme_attr = -1;
-static gint hf_nl80211_pmksa_candidate_attr = -1;
-static gint hf_nl80211_tdls_operation = -1;
-static gint hf_nl80211_feature_flags = -1;
-static gint hf_nl80211_ext_feature_index = -1;
-static gint hf_nl80211_probe_resp_offload_support_attr = -1;
-static gint hf_nl80211_connect_failed_reason = -1;
-static gint hf_nl80211_timeout_reason = -1;
-static gint hf_nl80211_scan_flags = -1;
-static gint hf_nl80211_acl_policy = -1;
-static gint hf_nl80211_smps_mode = -1;
-static gint hf_nl80211_radar_event = -1;
-static gint hf_nl80211_dfs_state = -1;
-static gint hf_nl80211_protocol_features = -1;
-static gint hf_nl80211_crit_proto_id = -1;
-static gint hf_nl80211_rxmgmt_flags = -1;
-static gint hf_nl80211_tdls_peer_capability = -1;
-static gint hf_nl80211_sched_scan_plan = -1;
-static gint hf_nl80211_bss_select_attr = -1;
-static gint hf_nl80211_nan_function_type = -1;
-static gint hf_nl80211_nan_publish_type = -1;
-static gint hf_nl80211_nan_func_term_reason = -1;
-static gint hf_nl80211_nan_func_attributes = -1;
-static gint hf_nl80211_nan_srf_attributes = -1;
-static gint hf_nl80211_nan_match_attributes = -1;
-static gint hf_nl80211_external_auth_action = -1;
-static gint hf_nl80211_ftm_responder_attributes = -1;
-static gint hf_nl80211_ftm_responder_stats = -1;
-static gint hf_nl80211_preamble = -1;
-static gint hf_nl80211_peer_measurement_type = -1;
-static gint hf_nl80211_peer_measurement_status = -1;
-static gint hf_nl80211_peer_measurement_req = -1;
-static gint hf_nl80211_peer_measurement_resp = -1;
-static gint hf_nl80211_peer_measurement_peer_attrs = -1;
-static gint hf_nl80211_peer_measurement_attrs = -1;
-static gint hf_nl80211_peer_measurement_ftm_capa = -1;
-static gint hf_nl80211_peer_measurement_ftm_req = -1;
-static gint hf_nl80211_peer_measurement_ftm_failure_reasons = -1;
-static gint hf_nl80211_peer_measurement_ftm_resp = -1;
-static gint hf_nl80211_obss_pd_attributes = -1;
-
-static gint ett_nl80211_commands = -1;
-static gint ett_nl80211_attrs = -1;
-static gint ett_nl80211_iftype = -1;
-static gint ett_nl80211_sta_flags = -1;
-static gint ett_nl80211_sta_p2p_ps_status = -1;
-static gint ett_nl80211_he_gi = -1;
-static gint ett_nl80211_he_ru_alloc = -1;
-static gint ett_nl80211_rate_info = -1;
-static gint ett_nl80211_sta_bss_param = -1;
-static gint ett_nl80211_sta_info = -1;
-static gint ett_nl80211_tid_stats = -1;
-static gint ett_nl80211_txq_stats = -1;
-static gint ett_nl80211_mpath_flags = -1;
-static gint ett_nl80211_mpath_info = -1;
-static gint ett_nl80211_band_iftype_attr = -1;
-static gint ett_nl80211_band_attr = -1;
-static gint ett_nl80211_wmm_rule = -1;
-static gint ett_nl80211_frequency_attr = -1;
-static gint ett_nl80211_bitrate_attr = -1;
-static gint ett_nl80211_reg_initiator = -1;
-static gint ett_nl80211_reg_type = -1;
-static gint ett_nl80211_reg_rule_attr = -1;
-static gint ett_nl80211_sched_scan_match_attr = -1;
-static gint ett_nl80211_reg_rule_flags = -1;
-static gint ett_nl80211_dfs_regions = -1;
-static gint ett_nl80211_user_reg_hint_type = -1;
-static gint ett_nl80211_survey_info = -1;
-static gint ett_nl80211_mntr_flags = -1;
-static gint ett_nl80211_mesh_power_mode = -1;
-static gint ett_nl80211_meshconf_params = -1;
-static gint ett_nl80211_mesh_setup_params = -1;
-static gint ett_nl80211_txq_attr = -1;
-static gint ett_nl80211_ac = -1;
-static gint ett_nl80211_channel_type = -1;
-static gint ett_nl80211_key_mode = -1;
-static gint ett_nl80211_chan_width = -1;
-static gint ett_nl80211_bss_scan_width = -1;
-static gint ett_nl80211_bss = -1;
-static gint ett_nl80211_bss_status = -1;
-static gint ett_nl80211_auth_type = -1;
-static gint ett_nl80211_key_type = -1;
-static gint ett_nl80211_mfp = -1;
-static gint ett_nl80211_wpa_versions = -1;
-static gint ett_nl80211_key_default_types = -1;
-static gint ett_nl80211_key_attributes = -1;
-static gint ett_nl80211_tx_rate_attributes = -1;
-static gint ett_nl80211_txrate_gi = -1;
-static gint ett_nl80211_band = -1;
-static gint ett_nl80211_ps_state = -1;
-static gint ett_nl80211_attr_cqm = -1;
-static gint ett_nl80211_cqm_rssi_threshold_event = -1;
-static gint ett_nl80211_tx_power_setting = -1;
-static gint ett_nl80211_packet_pattern_attr = -1;
-static gint ett_nl80211_wowlan_triggers = -1;
-static gint ett_nl80211_wowlan_tcp_attrs = -1;
-static gint ett_nl80211_attr_coalesce_rule = -1;
-static gint ett_nl80211_coalesce_condition = -1;
-static gint ett_nl80211_iface_limit_attrs = -1;
-static gint ett_nl80211_if_combination_attrs = -1;
-static gint ett_nl80211_plink_state = -1;
-static gint ett_plink_actions = -1;
-static gint ett_nl80211_rekey_data = -1;
-static gint ett_nl80211_hidden_ssid = -1;
-static gint ett_nl80211_sta_wme_attr = -1;
-static gint ett_nl80211_pmksa_candidate_attr = -1;
-static gint ett_nl80211_tdls_operation = -1;
-static gint ett_nl80211_feature_flags = -1;
-static gint ett_nl80211_ext_feature_index = -1;
-static gint ett_nl80211_probe_resp_offload_support_attr = -1;
-static gint ett_nl80211_connect_failed_reason = -1;
-static gint ett_nl80211_timeout_reason = -1;
-static gint ett_nl80211_scan_flags = -1;
-static gint ett_nl80211_acl_policy = -1;
-static gint ett_nl80211_smps_mode = -1;
-static gint ett_nl80211_radar_event = -1;
-static gint ett_nl80211_dfs_state = -1;
-static gint ett_nl80211_protocol_features = -1;
-static gint ett_nl80211_crit_proto_id = -1;
-static gint ett_nl80211_rxmgmt_flags = -1;
-static gint ett_nl80211_tdls_peer_capability = -1;
-static gint ett_nl80211_sched_scan_plan = -1;
-static gint ett_nl80211_bss_select_attr = -1;
-static gint ett_nl80211_nan_function_type = -1;
-static gint ett_nl80211_nan_publish_type = -1;
-static gint ett_nl80211_nan_func_term_reason = -1;
-static gint ett_nl80211_nan_func_attributes = -1;
-static gint ett_nl80211_nan_srf_attributes = -1;
-static gint ett_nl80211_nan_match_attributes = -1;
-static gint ett_nl80211_external_auth_action = -1;
-static gint ett_nl80211_ftm_responder_attributes = -1;
-static gint ett_nl80211_ftm_responder_stats = -1;
-static gint ett_nl80211_preamble = -1;
-static gint ett_nl80211_peer_measurement_type = -1;
-static gint ett_nl80211_peer_measurement_status = -1;
-static gint ett_nl80211_peer_measurement_req = -1;
-static gint ett_nl80211_peer_measurement_resp = -1;
-static gint ett_nl80211_peer_measurement_peer_attrs = -1;
-static gint ett_nl80211_peer_measurement_attrs = -1;
-static gint ett_nl80211_peer_measurement_ftm_capa = -1;
-static gint ett_nl80211_peer_measurement_ftm_req = -1;
-static gint ett_nl80211_peer_measurement_ftm_failure_reasons = -1;
-static gint ett_nl80211_peer_measurement_ftm_resp = -1;
-static gint ett_nl80211_obss_pd_attributes = -1;
+static const value_string ws_nl80211_bss_color_attributes_vals[] = {
+ { WS___NL80211_HE_BSS_COLOR_ATTR_INVALID, "__NL80211_HE_BSS_COLOR_ATTR_INVALID" },
+ { WS_NL80211_HE_BSS_COLOR_ATTR_COLOR, "NL80211_HE_BSS_COLOR_ATTR_COLOR" },
+ { WS_NL80211_HE_BSS_COLOR_ATTR_DISABLED, "NL80211_HE_BSS_COLOR_ATTR_DISABLED" },
+ { WS_NL80211_HE_BSS_COLOR_ATTR_PARTIAL, "NL80211_HE_BSS_COLOR_ATTR_PARTIAL" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_bss_color_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_color_attributes_vals);
+
+static const value_string ws_nl80211_iftype_akm_attributes_vals[] = {
+ { WS___NL80211_IFTYPE_AKM_ATTR_INVALID, "__NL80211_IFTYPE_AKM_ATTR_INVALID" },
+ { WS_NL80211_IFTYPE_AKM_ATTR_IFTYPES, "NL80211_IFTYPE_AKM_ATTR_IFTYPES" },
+ { WS_NL80211_IFTYPE_AKM_ATTR_SUITES, "NL80211_IFTYPE_AKM_ATTR_SUITES" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_iftype_akm_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_iftype_akm_attributes_vals);
+
+static const value_string ws_nl80211_fils_discovery_attributes_vals[] = {
+ { WS___NL80211_FILS_DISCOVERY_ATTR_INVALID, "__NL80211_FILS_DISCOVERY_ATTR_INVALID" },
+ { WS_NL80211_FILS_DISCOVERY_ATTR_INT_MIN, "NL80211_FILS_DISCOVERY_ATTR_INT_MIN" },
+ { WS_NL80211_FILS_DISCOVERY_ATTR_INT_MAX, "NL80211_FILS_DISCOVERY_ATTR_INT_MAX" },
+ { WS_NL80211_FILS_DISCOVERY_ATTR_TMPL, "NL80211_FILS_DISCOVERY_ATTR_TMPL" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_fils_discovery_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_fils_discovery_attributes_vals);
+
+static const value_string ws_nl80211_unsol_bcast_probe_resp_attributes_vals[] = {
+ { WS___NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID, "__NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INVALID" },
+ { WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT, "NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT" },
+ { WS_NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL, "NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_unsol_bcast_probe_resp_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_unsol_bcast_probe_resp_attributes_vals);
+
+static const value_string ws_nl80211_sae_pwe_mechanism_vals[] = {
+ { WS_NL80211_SAE_PWE_UNSPECIFIED, "NL80211_SAE_PWE_UNSPECIFIED" },
+ { WS_NL80211_SAE_PWE_HUNT_AND_PECK, "NL80211_SAE_PWE_HUNT_AND_PECK" },
+ { WS_NL80211_SAE_PWE_HASH_TO_ELEMENT, "NL80211_SAE_PWE_HASH_TO_ELEMENT" },
+ { WS_NL80211_SAE_PWE_BOTH, "NL80211_SAE_PWE_BOTH" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_sae_pwe_mechanism_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sae_pwe_mechanism_vals);
+
+static const value_string ws_nl80211_sar_type_vals[] = {
+ { WS_NL80211_SAR_TYPE_POWER, "NL80211_SAR_TYPE_POWER" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_sar_type_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sar_type_vals);
+
+static const value_string ws_nl80211_sar_attrs_vals[] = {
+ { WS___NL80211_SAR_ATTR_INVALID, "__NL80211_SAR_ATTR_INVALID" },
+ { WS_NL80211_SAR_ATTR_TYPE, "NL80211_SAR_ATTR_TYPE" },
+ { WS_NL80211_SAR_ATTR_SPECS, "NL80211_SAR_ATTR_SPECS" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_sar_attrs_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sar_attrs_vals);
+
+static const value_string ws_nl80211_sar_specs_attrs_vals[] = {
+ { WS___NL80211_SAR_ATTR_SPECS_INVALID, "__NL80211_SAR_ATTR_SPECS_INVALID" },
+ { WS_NL80211_SAR_ATTR_SPECS_POWER, "NL80211_SAR_ATTR_SPECS_POWER" },
+ { WS_NL80211_SAR_ATTR_SPECS_RANGE_INDEX, "NL80211_SAR_ATTR_SPECS_RANGE_INDEX" },
+ { WS_NL80211_SAR_ATTR_SPECS_START_FREQ, "NL80211_SAR_ATTR_SPECS_START_FREQ" },
+ { WS_NL80211_SAR_ATTR_SPECS_END_FREQ, "NL80211_SAR_ATTR_SPECS_END_FREQ" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_sar_specs_attrs_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sar_specs_attrs_vals);
+
+static const value_string ws_nl80211_mbssid_config_attributes_vals[] = {
+ { WS___NL80211_MBSSID_CONFIG_ATTR_INVALID, "__NL80211_MBSSID_CONFIG_ATTR_INVALID" },
+ { WS_NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES, "NL80211_MBSSID_CONFIG_ATTR_MAX_INTERFACES" },
+ { WS_NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY, "NL80211_MBSSID_CONFIG_ATTR_MAX_EMA_PROFILE_PERIODICITY" },
+ { WS_NL80211_MBSSID_CONFIG_ATTR_INDEX, "NL80211_MBSSID_CONFIG_ATTR_INDEX" },
+ { WS_NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX, "NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX" },
+ { WS_NL80211_MBSSID_CONFIG_ATTR_EMA, "NL80211_MBSSID_CONFIG_ATTR_EMA" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_mbssid_config_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_mbssid_config_attributes_vals);
+
+static const value_string ws_nl80211_ap_settings_flags_vals[] = {
+ { WS_NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT, "NL80211_AP_SETTINGS_EXTERNAL_AUTH_SUPPORT" },
+ { WS_NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT, "NL80211_AP_SETTINGS_SA_QUERY_OFFLOAD_SUPPORT" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_ap_settings_flags_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_ap_settings_flags_vals);
+
+static const value_string ws_nl80211_wiphy_radio_attrs_vals[] = {
+ { WS___NL80211_WIPHY_RADIO_ATTR_INVALID, "__NL80211_WIPHY_RADIO_ATTR_INVALID" },
+ { WS_NL80211_WIPHY_RADIO_ATTR_INDEX, "NL80211_WIPHY_RADIO_ATTR_INDEX" },
+ { WS_NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE, "NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE" },
+ { WS_NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION, "NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_wiphy_radio_attrs_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_wiphy_radio_attrs_vals);
+
+static const value_string ws_nl80211_wiphy_radio_freq_range_vals[] = {
+ { WS___NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID, "__NL80211_WIPHY_RADIO_FREQ_ATTR_INVALID" },
+ { WS_NL80211_WIPHY_RADIO_FREQ_ATTR_START, "NL80211_WIPHY_RADIO_FREQ_ATTR_START" },
+ { WS_NL80211_WIPHY_RADIO_FREQ_ATTR_END, "NL80211_WIPHY_RADIO_FREQ_ATTR_END" },
+ { 0, NULL }
+};
+static value_string_ext ws_nl80211_wiphy_radio_freq_range_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_wiphy_radio_freq_range_vals);
+
+static int hf_nl80211_commands;
+static int hf_nl80211_attrs;
+static int hf_nl80211_iftype;
+static int hf_nl80211_sta_flags;
+static int hf_nl80211_sta_p2p_ps_status;
+static int hf_nl80211_he_gi;
+static int hf_nl80211_he_ltf;
+static int hf_nl80211_he_ru_alloc;
+static int hf_nl80211_eht_gi;
+static int hf_nl80211_eht_ru_alloc;
+static int hf_nl80211_rate_info;
+static int hf_nl80211_sta_bss_param;
+static int hf_nl80211_sta_info;
+static int hf_nl80211_tid_stats;
+static int hf_nl80211_txq_stats;
+static int hf_nl80211_mpath_flags;
+static int hf_nl80211_mpath_info;
+static int hf_nl80211_band_iftype_attr;
+static int hf_nl80211_band_attr;
+static int hf_nl80211_wmm_rule;
+static int hf_nl80211_frequency_attr;
+static int hf_nl80211_bitrate_attr;
+static int hf_nl80211_reg_initiator;
+static int hf_nl80211_reg_type;
+static int hf_nl80211_reg_rule_attr;
+static int hf_nl80211_sched_scan_match_attr;
+static int hf_nl80211_reg_rule_flags;
+static int hf_nl80211_dfs_regions;
+static int hf_nl80211_user_reg_hint_type;
+static int hf_nl80211_survey_info;
+static int hf_nl80211_mntr_flags;
+static int hf_nl80211_mesh_power_mode;
+static int hf_nl80211_meshconf_params;
+static int hf_nl80211_mesh_setup_params;
+static int hf_nl80211_txq_attr;
+static int hf_nl80211_ac;
+static int hf_nl80211_channel_type;
+static int hf_nl80211_key_mode;
+static int hf_nl80211_chan_width;
+static int hf_nl80211_bss_scan_width;
+static int hf_nl80211_bss_use_for;
+static int hf_nl80211_bss_cannot_use_reasons;
+static int hf_nl80211_bss;
+static int hf_nl80211_bss_status;
+static int hf_nl80211_auth_type;
+static int hf_nl80211_key_type;
+static int hf_nl80211_mfp;
+static int hf_nl80211_wpa_versions;
+static int hf_nl80211_key_default_types;
+static int hf_nl80211_key_attributes;
+static int hf_nl80211_tx_rate_attributes;
+static int hf_nl80211_txrate_gi;
+static int hf_nl80211_band;
+static int hf_nl80211_ps_state;
+static int hf_nl80211_attr_cqm;
+static int hf_nl80211_cqm_rssi_threshold_event;
+static int hf_nl80211_tx_power_setting;
+static int hf_nl80211_tid_config;
+static int hf_nl80211_tx_rate_setting;
+static int hf_nl80211_tid_config_attr;
+static int hf_nl80211_packet_pattern_attr;
+static int hf_nl80211_wowlan_triggers;
+static int hf_nl80211_wowlan_tcp_attrs;
+static int hf_nl80211_attr_coalesce_rule;
+static int hf_nl80211_coalesce_condition;
+static int hf_nl80211_iface_limit_attrs;
+static int hf_nl80211_if_combination_attrs;
+static int hf_nl80211_plink_state;
+static int hf_nl80211_plink_action;
+static int hf_nl80211_rekey_data;
+static int hf_nl80211_hidden_ssid;
+static int hf_nl80211_sta_wme_attr;
+static int hf_nl80211_pmksa_candidate_attr;
+static int hf_nl80211_tdls_operation;
+static int hf_nl80211_ap_sme_features;
+static int hf_nl80211_feature_flags;
+static int hf_nl80211_ext_feature_index;
+static int hf_nl80211_probe_resp_offload_support_attr;
+static int hf_nl80211_connect_failed_reason;
+static int hf_nl80211_timeout_reason;
+static int hf_nl80211_scan_flags;
+static int hf_nl80211_acl_policy;
+static int hf_nl80211_smps_mode;
+static int hf_nl80211_radar_event;
+static int hf_nl80211_dfs_state;
+static int hf_nl80211_protocol_features;
+static int hf_nl80211_crit_proto_id;
+static int hf_nl80211_rxmgmt_flags;
+static int hf_nl80211_tdls_peer_capability;
+static int hf_nl80211_sched_scan_plan;
+static int hf_nl80211_bss_select_attr;
+static int hf_nl80211_nan_function_type;
+static int hf_nl80211_nan_publish_type;
+static int hf_nl80211_nan_func_term_reason;
+static int hf_nl80211_nan_func_attributes;
+static int hf_nl80211_nan_srf_attributes;
+static int hf_nl80211_nan_match_attributes;
+static int hf_nl80211_external_auth_action;
+static int hf_nl80211_ftm_responder_attributes;
+static int hf_nl80211_ftm_responder_stats;
+static int hf_nl80211_preamble;
+static int hf_nl80211_peer_measurement_type;
+static int hf_nl80211_peer_measurement_status;
+static int hf_nl80211_peer_measurement_req;
+static int hf_nl80211_peer_measurement_resp;
+static int hf_nl80211_peer_measurement_peer_attrs;
+static int hf_nl80211_peer_measurement_attrs;
+static int hf_nl80211_peer_measurement_ftm_capa;
+static int hf_nl80211_peer_measurement_ftm_req;
+static int hf_nl80211_peer_measurement_ftm_failure_reasons;
+static int hf_nl80211_peer_measurement_ftm_resp;
+static int hf_nl80211_obss_pd_attributes;
+static int hf_nl80211_bss_color_attributes;
+static int hf_nl80211_iftype_akm_attributes;
+static int hf_nl80211_fils_discovery_attributes;
+static int hf_nl80211_unsol_bcast_probe_resp_attributes;
+static int hf_nl80211_sae_pwe_mechanism;
+static int hf_nl80211_sar_type;
+static int hf_nl80211_sar_attrs;
+static int hf_nl80211_sar_specs_attrs;
+static int hf_nl80211_mbssid_config_attributes;
+static int hf_nl80211_ap_settings_flags;
+static int hf_nl80211_wiphy_radio_attrs;
+static int hf_nl80211_wiphy_radio_freq_range;
+
+static int ett_nl80211_commands;
+static int ett_nl80211_attrs;
+static int ett_nl80211_iftype;
+static int ett_nl80211_sta_flags;
+static int ett_nl80211_sta_p2p_ps_status;
+static int ett_nl80211_he_gi;
+static int ett_nl80211_he_ltf;
+static int ett_nl80211_he_ru_alloc;
+static int ett_nl80211_eht_gi;
+static int ett_nl80211_eht_ru_alloc;
+static int ett_nl80211_rate_info;
+static int ett_nl80211_sta_bss_param;
+static int ett_nl80211_sta_info;
+static int ett_nl80211_tid_stats;
+static int ett_nl80211_txq_stats;
+static int ett_nl80211_mpath_flags;
+static int ett_nl80211_mpath_info;
+static int ett_nl80211_band_iftype_attr;
+static int ett_nl80211_band_attr;
+static int ett_nl80211_wmm_rule;
+static int ett_nl80211_frequency_attr;
+static int ett_nl80211_bitrate_attr;
+static int ett_nl80211_reg_initiator;
+static int ett_nl80211_reg_type;
+static int ett_nl80211_reg_rule_attr;
+static int ett_nl80211_sched_scan_match_attr;
+static int ett_nl80211_reg_rule_flags;
+static int ett_nl80211_dfs_regions;
+static int ett_nl80211_user_reg_hint_type;
+static int ett_nl80211_survey_info;
+static int ett_nl80211_mntr_flags;
+static int ett_nl80211_mesh_power_mode;
+static int ett_nl80211_meshconf_params;
+static int ett_nl80211_mesh_setup_params;
+static int ett_nl80211_txq_attr;
+static int ett_nl80211_ac;
+static int ett_nl80211_channel_type;
+static int ett_nl80211_key_mode;
+static int ett_nl80211_chan_width;
+static int ett_nl80211_bss_scan_width;
+static int ett_nl80211_bss_use_for;
+static int ett_nl80211_bss_cannot_use_reasons;
+static int ett_nl80211_bss;
+static int ett_nl80211_bss_status;
+static int ett_nl80211_auth_type;
+static int ett_nl80211_key_type;
+static int ett_nl80211_mfp;
+static int ett_nl80211_wpa_versions;
+static int ett_nl80211_key_default_types;
+static int ett_nl80211_key_attributes;
+static int ett_nl80211_tx_rate_attributes;
+static int ett_nl80211_txrate_gi;
+static int ett_nl80211_band;
+static int ett_nl80211_ps_state;
+static int ett_nl80211_attr_cqm;
+static int ett_nl80211_cqm_rssi_threshold_event;
+static int ett_nl80211_tx_power_setting;
+static int ett_nl80211_tid_config;
+static int ett_nl80211_tx_rate_setting;
+static int ett_nl80211_tid_config_attr;
+static int ett_nl80211_packet_pattern_attr;
+static int ett_nl80211_wowlan_triggers;
+static int ett_nl80211_wowlan_tcp_attrs;
+static int ett_nl80211_attr_coalesce_rule;
+static int ett_nl80211_coalesce_condition;
+static int ett_nl80211_iface_limit_attrs;
+static int ett_nl80211_if_combination_attrs;
+static int ett_nl80211_plink_state;
+static int ett_nl80211_plink_action;
+static int ett_nl80211_rekey_data;
+static int ett_nl80211_hidden_ssid;
+static int ett_nl80211_sta_wme_attr;
+static int ett_nl80211_pmksa_candidate_attr;
+static int ett_nl80211_tdls_operation;
+static int ett_nl80211_ap_sme_features;
+static int ett_nl80211_feature_flags;
+static int ett_nl80211_ext_feature_index;
+static int ett_nl80211_probe_resp_offload_support_attr;
+static int ett_nl80211_connect_failed_reason;
+static int ett_nl80211_timeout_reason;
+static int ett_nl80211_scan_flags;
+static int ett_nl80211_acl_policy;
+static int ett_nl80211_smps_mode;
+static int ett_nl80211_radar_event;
+static int ett_nl80211_dfs_state;
+static int ett_nl80211_protocol_features;
+static int ett_nl80211_crit_proto_id;
+static int ett_nl80211_rxmgmt_flags;
+static int ett_nl80211_tdls_peer_capability;
+static int ett_nl80211_sched_scan_plan;
+static int ett_nl80211_bss_select_attr;
+static int ett_nl80211_nan_function_type;
+static int ett_nl80211_nan_publish_type;
+static int ett_nl80211_nan_func_term_reason;
+static int ett_nl80211_nan_func_attributes;
+static int ett_nl80211_nan_srf_attributes;
+static int ett_nl80211_nan_match_attributes;
+static int ett_nl80211_external_auth_action;
+static int ett_nl80211_ftm_responder_attributes;
+static int ett_nl80211_ftm_responder_stats;
+static int ett_nl80211_preamble;
+static int ett_nl80211_peer_measurement_type;
+static int ett_nl80211_peer_measurement_status;
+static int ett_nl80211_peer_measurement_req;
+static int ett_nl80211_peer_measurement_resp;
+static int ett_nl80211_peer_measurement_peer_attrs;
+static int ett_nl80211_peer_measurement_attrs;
+static int ett_nl80211_peer_measurement_ftm_capa;
+static int ett_nl80211_peer_measurement_ftm_req;
+static int ett_nl80211_peer_measurement_ftm_failure_reasons;
+static int ett_nl80211_peer_measurement_ftm_resp;
+static int ett_nl80211_obss_pd_attributes;
+static int ett_nl80211_bss_color_attributes;
+static int ett_nl80211_iftype_akm_attributes;
+static int ett_nl80211_fils_discovery_attributes;
+static int ett_nl80211_unsol_bcast_probe_resp_attributes;
+static int ett_nl80211_sae_pwe_mechanism;
+static int ett_nl80211_sar_type;
+static int ett_nl80211_sar_attrs;
+static int ett_nl80211_sar_specs_attrs;
+static int ett_nl80211_mbssid_config_attributes;
+static int ett_nl80211_ap_settings_flags;
+static int ett_nl80211_wiphy_radio_attrs;
+static int ett_nl80211_wiphy_radio_freq_range;
/* }}} */
@@ -3659,19 +4133,19 @@ static int proto_netlink_nl80211;
static dissector_handle_t netlink_nl80211_handle;
-static int hf_nl80211_attr_value = -1;
-static int hf_nl80211_attr_value16 = -1;
-static int hf_nl80211_attr_value32 = -1;
-static int hf_nl80211_attr_value64 = -1;
-static int hf_nl80211_wiphy_name = -1;
-static int hf_nl80211_ifname = -1;
-static int hf_nl80211_mac = -1;
-static int hf_nl80211_alpha2 = -1;
-static int hf_nl80211_dbm = -1;
+static int hf_nl80211_attr_value;
+static int hf_nl80211_attr_value16;
+static int hf_nl80211_attr_value32;
+static int hf_nl80211_attr_value64;
+static int hf_nl80211_wiphy_name;
+static int hf_nl80211_ifname;
+static int hf_nl80211_mac;
+static int hf_nl80211_alpha2;
+static int hf_nl80211_dbm;
-static gint ett_nl80211 = -1;
-static gint ett_nl80211_frame = -1;
-static gint ett_nl80211_tag = -1;
+static int ett_nl80211;
+static int ett_nl80211_frame;
+static int ett_nl80211_tag;
static int
dissect_nl80211_generic(tvbuff_t *tvb, void *data _U_, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type _U_, int offset, int len)
@@ -3699,7 +4173,7 @@ dissect_nl80211_generic(tvbuff_t *tvb, void *data _U_, struct packet_netlink_dat
struct attr_lookup {
unsigned int attr_type;
int *hfptr;
- gint* ett;
+ int* ett;
int (*func)(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len);
};
@@ -3751,13 +4225,13 @@ dissect_value(tvbuff_t *tvb, void *data _U_, struct packet_netlink_data *nl_data
}
static int
-dissect_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int len, guint8 tag)
+dissect_tag(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset, int len, uint8_t tag)
{
proto_item *item;
ieee80211_tagged_field_data_t field_data = { 0 };
tvbuff_t *next_tvb = tvb_new_subset_length(tvb, offset, len);
proto_tree *subtree = proto_tree_add_subtree(tree, next_tvb, 0, -1, ett_nl80211_tag, &item, "Attribute Value");
- dissector_try_uint_new(ieee80211_tag_dissector_table, tag, next_tvb, pinfo, subtree, FALSE, &field_data);
+ dissector_try_uint_new(ieee80211_tag_dissector_table, tag, next_tvb, pinfo, subtree, false, &field_data);
return offset + len;
}
@@ -3963,7 +4437,7 @@ dissect_nl80211_attrs(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_
{ WS_NL80211_ATTR_IFNAME, &hf_nl80211_ifname, NULL, NULL },
{ WS_NL80211_ATTR_IFTYPE, &hf_nl80211_iftype, NULL, NULL },
{ WS_NL80211_ATTR_MAC, &hf_nl80211_mac, NULL, NULL },
- { WS_NL80211_ATTR_STA_PLINK_ACTION, &hf_plink_actions, NULL, NULL },
+ { WS_NL80211_ATTR_STA_PLINK_ACTION, &hf_nl80211_plink_action, NULL, NULL },
{ WS_NL80211_ATTR_MPATH_INFO, &hf_nl80211_mpath_info, NULL, NULL },
{ WS_NL80211_ATTR_REG_ALPHA2, &hf_nl80211_alpha2, NULL, NULL },
{ WS_NL80211_ATTR_REG_INITIATOR, &hf_nl80211_reg_initiator, NULL, NULL },
@@ -4154,12 +4628,30 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_he_gi_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_he_ltf,
+ { "Attribute Type", "nl80211.he_ltf",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_he_ltf_vals_ext), 0x00,
+ NULL, HFILL },
+ },
{ &hf_nl80211_he_ru_alloc,
{ "Attribute Type", "nl80211.he_ru_alloc",
FT_UINT16, BASE_DEC | BASE_EXT_STRING,
VALS_EXT_PTR(&ws_nl80211_he_ru_alloc_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_eht_gi,
+ { "Attribute Type", "nl80211.eht_gi",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_eht_gi_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_eht_ru_alloc,
+ { "Attribute Type", "nl80211.eht_ru_alloc",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_eht_ru_alloc_vals_ext), 0x00,
+ NULL, HFILL },
+ },
{ &hf_nl80211_rate_info,
{ "Attribute Type", "nl80211.rate_info",
FT_UINT16, BASE_DEC | BASE_EXT_STRING,
@@ -4340,6 +4832,18 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_bss_scan_width_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_bss_use_for,
+ { "Attribute Type", "nl80211.bss_use_for",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_bss_use_for_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_bss_cannot_use_reasons,
+ { "Attribute Type", "nl80211.bss_cannot_use_reasons",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_bss_cannot_use_reasons_vals_ext), 0x00,
+ NULL, HFILL },
+ },
{ &hf_nl80211_bss,
{ "Attribute Type", "nl80211.bss",
FT_UINT16, BASE_DEC | BASE_EXT_STRING,
@@ -4430,6 +4934,24 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_tx_power_setting_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_tid_config,
+ { "Attribute Type", "nl80211.tid_config",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_tid_config_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_tx_rate_setting,
+ { "Attribute Type", "nl80211.tx_rate_setting",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_tx_rate_setting_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_tid_config_attr,
+ { "Attribute Type", "nl80211.tid_config_attr",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_tid_config_attr_vals_ext), 0x00,
+ NULL, HFILL },
+ },
{ &hf_nl80211_packet_pattern_attr,
{ "Attribute Type", "nl80211.packet_pattern_attr",
FT_UINT16, BASE_DEC | BASE_EXT_STRING,
@@ -4478,10 +5000,10 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_plink_state_vals_ext), 0x00,
NULL, HFILL },
},
- { &hf_plink_actions,
- { "Attribute Value", "nl80211.plink_actions",
+ { &hf_nl80211_plink_action,
+ { "Attribute Value", "nl80211.plink_action",
FT_UINT8, BASE_DEC | BASE_EXT_STRING,
- VALS_EXT_PTR(&ws_plink_actions_vals_ext), 0x00,
+ VALS_EXT_PTR(&ws_nl80211_plink_action_vals_ext), 0x00,
NULL, HFILL },
},
{ &hf_nl80211_rekey_data,
@@ -4514,6 +5036,12 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_tdls_operation_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_ap_sme_features,
+ { "Attribute Type", "nl80211.ap_sme_features",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_ap_sme_features_vals_ext), 0x00,
+ NULL, HFILL },
+ },
{ &hf_nl80211_feature_flags,
{ "Attribute Type", "nl80211.feature_flags",
FT_UINT16, BASE_DEC | BASE_EXT_STRING,
@@ -4736,10 +5264,82 @@ proto_register_netlink_nl80211(void)
VALS_EXT_PTR(&ws_nl80211_obss_pd_attributes_vals_ext), 0x00,
NULL, HFILL },
},
+ { &hf_nl80211_bss_color_attributes,
+ { "Attribute Type", "nl80211.bss_color_attributes",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_bss_color_attributes_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_iftype_akm_attributes,
+ { "Attribute Type", "nl80211.iftype_akm_attributes",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_iftype_akm_attributes_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_fils_discovery_attributes,
+ { "Attribute Type", "nl80211.fils_discovery_attributes",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_fils_discovery_attributes_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_unsol_bcast_probe_resp_attributes,
+ { "Attribute Type", "nl80211.unsol_bcast_probe_resp_attributes",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_unsol_bcast_probe_resp_attributes_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_sae_pwe_mechanism,
+ { "Attribute Type", "nl80211.sae_pwe_mechanism",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_sae_pwe_mechanism_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_sar_type,
+ { "Attribute Type", "nl80211.sar_type",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_sar_type_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_sar_attrs,
+ { "Attribute Type", "nl80211.sar_attrs",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_sar_attrs_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_sar_specs_attrs,
+ { "Attribute Type", "nl80211.sar_specs_attrs",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_sar_specs_attrs_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_mbssid_config_attributes,
+ { "Attribute Type", "nl80211.mbssid_config_attributes",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_mbssid_config_attributes_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_ap_settings_flags,
+ { "Attribute Type", "nl80211.ap_settings_flags",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_ap_settings_flags_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_wiphy_radio_attrs,
+ { "Attribute Type", "nl80211.wiphy_radio_attrs",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_wiphy_radio_attrs_vals_ext), 0x00,
+ NULL, HFILL },
+ },
+ { &hf_nl80211_wiphy_radio_freq_range,
+ { "Attribute Type", "nl80211.wiphy_radio_freq_range",
+ FT_UINT16, BASE_DEC | BASE_EXT_STRING,
+ VALS_EXT_PTR(&ws_nl80211_wiphy_radio_freq_range_vals_ext), 0x00,
+ NULL, HFILL },
+ },
/* }}} */
};
- static gint *ett[] = {
+ static int *ett[] = {
&ett_nl80211,
&ett_nl80211_frame,
&ett_nl80211_tag,
@@ -4751,7 +5351,10 @@ proto_register_netlink_nl80211(void)
&ett_nl80211_sta_flags,
&ett_nl80211_sta_p2p_ps_status,
&ett_nl80211_he_gi,
+ &ett_nl80211_he_ltf,
&ett_nl80211_he_ru_alloc,
+ &ett_nl80211_eht_gi,
+ &ett_nl80211_eht_ru_alloc,
&ett_nl80211_rate_info,
&ett_nl80211_sta_bss_param,
&ett_nl80211_sta_info,
@@ -4782,6 +5385,8 @@ proto_register_netlink_nl80211(void)
&ett_nl80211_key_mode,
&ett_nl80211_chan_width,
&ett_nl80211_bss_scan_width,
+ &ett_nl80211_bss_use_for,
+ &ett_nl80211_bss_cannot_use_reasons,
&ett_nl80211_bss,
&ett_nl80211_bss_status,
&ett_nl80211_auth_type,
@@ -4797,6 +5402,9 @@ proto_register_netlink_nl80211(void)
&ett_nl80211_attr_cqm,
&ett_nl80211_cqm_rssi_threshold_event,
&ett_nl80211_tx_power_setting,
+ &ett_nl80211_tid_config,
+ &ett_nl80211_tx_rate_setting,
+ &ett_nl80211_tid_config_attr,
&ett_nl80211_packet_pattern_attr,
&ett_nl80211_wowlan_triggers,
&ett_nl80211_wowlan_tcp_attrs,
@@ -4805,12 +5413,13 @@ proto_register_netlink_nl80211(void)
&ett_nl80211_iface_limit_attrs,
&ett_nl80211_if_combination_attrs,
&ett_nl80211_plink_state,
- &ett_plink_actions,
+ &ett_nl80211_plink_action,
&ett_nl80211_rekey_data,
&ett_nl80211_hidden_ssid,
&ett_nl80211_sta_wme_attr,
&ett_nl80211_pmksa_candidate_attr,
&ett_nl80211_tdls_operation,
+ &ett_nl80211_ap_sme_features,
&ett_nl80211_feature_flags,
&ett_nl80211_ext_feature_index,
&ett_nl80211_probe_resp_offload_support_attr,
@@ -4848,6 +5457,18 @@ proto_register_netlink_nl80211(void)
&ett_nl80211_peer_measurement_ftm_failure_reasons,
&ett_nl80211_peer_measurement_ftm_resp,
&ett_nl80211_obss_pd_attributes,
+ &ett_nl80211_bss_color_attributes,
+ &ett_nl80211_iftype_akm_attributes,
+ &ett_nl80211_fils_discovery_attributes,
+ &ett_nl80211_unsol_bcast_probe_resp_attributes,
+ &ett_nl80211_sae_pwe_mechanism,
+ &ett_nl80211_sar_type,
+ &ett_nl80211_sar_attrs,
+ &ett_nl80211_sar_specs_attrs,
+ &ett_nl80211_mbssid_config_attributes,
+ &ett_nl80211_ap_settings_flags,
+ &ett_nl80211_wiphy_radio_attrs,
+ &ett_nl80211_wiphy_radio_freq_range,
/* }}} */
};