diff options
Diffstat (limited to 'epan/dissectors/packet-netlink-nl80211.c')
-rw-r--r-- | epan/dissectors/packet-netlink-nl80211.c | 2023 |
1 files changed, 1255 insertions, 768 deletions
diff --git a/epan/dissectors/packet-netlink-nl80211.c b/epan/dissectors/packet-netlink-nl80211.c index 0159788d4c..9d5ca80aa8 100644 --- a/epan/dissectors/packet-netlink-nl80211.c +++ b/epan/dissectors/packet-netlink-nl80211.c @@ -11,8 +11,6 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ -#define NEW_PROTO_TREE_API - #include "config.h" #include <epan/packet.h> @@ -29,8 +27,6 @@ typedef struct { static dissector_handle_t ieee80211_handle; static dissector_table_t ieee80211_tag_dissector_table; -#define NETLINK_NL80211_HFI_INIT HFI_INIT(proto_netlink_generic) - /* Extracted using tools/generate-nl80211-fields.py */ /* Definitions from linux/nl80211.h {{{ */ enum ws_nl80211_commands { @@ -171,6 +167,22 @@ enum ws_nl80211_commands { WS_NL80211_CMD_NOTIFY_RADAR, WS_NL80211_CMD_UPDATE_OWE_INFO, WS_NL80211_CMD_PROBE_MESH_LINK, + WS_NL80211_CMD_SET_TID_CONFIG, + WS_NL80211_CMD_UNPROT_BEACON, + WS_NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, + WS_NL80211_CMD_SET_SAR_SPECS, + WS_NL80211_CMD_OBSS_COLOR_COLLISION, + WS_NL80211_CMD_COLOR_CHANGE_REQUEST, + WS_NL80211_CMD_COLOR_CHANGE_STARTED, + WS_NL80211_CMD_COLOR_CHANGE_ABORTED, + WS_NL80211_CMD_COLOR_CHANGE_COMPLETED, + WS_NL80211_CMD_SET_FILS_AAD, + WS_NL80211_CMD_ASSOC_COMEBACK, + WS_NL80211_CMD_ADD_LINK, + WS_NL80211_CMD_REMOVE_LINK, + WS_NL80211_CMD_ADD_LINK_STA, + WS_NL80211_CMD_MODIFY_LINK_STA, + WS_NL80211_CMD_REMOVE_LINK_STA, }; enum ws_nl80211_attrs { @@ -360,8 +372,8 @@ enum ws_nl80211_attrs { WS_NL80211_ATTR_CH_SWITCH_COUNT, WS_NL80211_ATTR_CH_SWITCH_BLOCK_TX, WS_NL80211_ATTR_CSA_IES, - WS_NL80211_ATTR_CSA_C_OFF_BEACON, - WS_NL80211_ATTR_CSA_C_OFF_PRESP, + WS_NL80211_ATTR_CNTDWN_OFFS_BEACON, + WS_NL80211_ATTR_CNTDWN_OFFS_PRESP, WS_NL80211_ATTR_RXMGMT_FLAGS, WS_NL80211_ATTR_STA_SUPPORTED_CHANNELS, WS_NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, @@ -456,6 +468,47 @@ enum ws_nl80211_attrs { WS_NL80211_ATTR_HE_OBSS_PD, WS_NL80211_ATTR_WIPHY_EDMG_CHANNELS, WS_NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, + WS_NL80211_ATTR_VLAN_ID, + WS_NL80211_ATTR_HE_BSS_COLOR, + WS_NL80211_ATTR_IFTYPE_AKM_SUITES, + WS_NL80211_ATTR_TID_CONFIG, + WS_NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, + WS_NL80211_ATTR_PMK_LIFETIME, + WS_NL80211_ATTR_PMK_REAUTH_THRESHOLD, + WS_NL80211_ATTR_RECEIVE_MULTICAST, + WS_NL80211_ATTR_WIPHY_FREQ_OFFSET, + WS_NL80211_ATTR_CENTER_FREQ1_OFFSET, + WS_NL80211_ATTR_SCAN_FREQ_KHZ, + WS_NL80211_ATTR_HE_6GHZ_CAPABILITY, + WS_NL80211_ATTR_FILS_DISCOVERY, + WS_NL80211_ATTR_UNSOL_BCAST_PROBE_RESP, + WS_NL80211_ATTR_S1G_CAPABILITY, + WS_NL80211_ATTR_S1G_CAPABILITY_MASK, + WS_NL80211_ATTR_SAE_PWE, + WS_NL80211_ATTR_RECONNECT_REQUESTED, + WS_NL80211_ATTR_SAR_SPEC, + WS_NL80211_ATTR_DISABLE_HE, + WS_NL80211_ATTR_OBSS_COLOR_BITMAP, + WS_NL80211_ATTR_COLOR_CHANGE_COUNT, + WS_NL80211_ATTR_COLOR_CHANGE_COLOR, + WS_NL80211_ATTR_COLOR_CHANGE_ELEMS, + WS_NL80211_ATTR_MBSSID_CONFIG, + WS_NL80211_ATTR_MBSSID_ELEMS, + WS_NL80211_ATTR_RADAR_BACKGROUND, + WS_NL80211_ATTR_AP_SETTINGS_FLAGS, + WS_NL80211_ATTR_EHT_CAPABILITY, + WS_NL80211_ATTR_DISABLE_EHT, + WS_NL80211_ATTR_MLO_LINKS, + WS_NL80211_ATTR_MLO_LINK_ID, + WS_NL80211_ATTR_MLD_ADDR, + WS_NL80211_ATTR_MLO_SUPPORT, + WS_NL80211_ATTR_MAX_NUM_AKM_SUITES, + WS_NL80211_ATTR_EML_CAPABILITY, + WS_NL80211_ATTR_MLD_CAPA_AND_OPS, + WS_NL80211_ATTR_TX_HW_TIMESTAMP, + WS_NL80211_ATTR_RX_HW_TIMESTAMP, + WS_NL80211_ATTR_TD_BITMAP, + WS_NL80211_ATTR_PUNCT_BITMAP, }; enum ws_nl80211_iftype { @@ -525,6 +578,11 @@ enum ws_nl80211_rate_info { WS_NL80211_RATE_INFO_HE_GI, WS_NL80211_RATE_INFO_HE_DCM, WS_NL80211_RATE_INFO_HE_RU_ALLOC, + WS_NL80211_RATE_INFO_320_MHZ_WIDTH, + WS_NL80211_RATE_INFO_EHT_MCS, + WS_NL80211_RATE_INFO_EHT_NSS, + WS_NL80211_RATE_INFO_EHT_GI, + WS_NL80211_RATE_INFO_EHT_RU_ALLOC, }; enum ws_nl80211_sta_bss_param { @@ -580,6 +638,7 @@ enum ws_nl80211_sta_info { WS_NL80211_STA_INFO_AIRTIME_WEIGHT, WS_NL80211_STA_INFO_AIRTIME_LINK_METRIC, WS_NL80211_STA_INFO_ASSOC_AT_BOOTTIME, + WS_NL80211_STA_INFO_CONNECTED_TO_AS, }; enum ws_nl80211_tid_stats { @@ -635,6 +694,12 @@ enum ws_nl80211_band_iftype_attr { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, + WS_NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, + WS_NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS, + WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC, + WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY, + WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET, + WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE, }; enum ws_nl80211_band_attr { @@ -680,6 +745,15 @@ enum ws_nl80211_frequency_attr { WS_NL80211_FREQUENCY_ATTR_NO_20MHZ, WS_NL80211_FREQUENCY_ATTR_NO_10MHZ, WS_NL80211_FREQUENCY_ATTR_WMM, + WS_NL80211_FREQUENCY_ATTR_NO_HE, + WS_NL80211_FREQUENCY_ATTR_OFFSET, + WS_NL80211_FREQUENCY_ATTR_1MHZ, + WS_NL80211_FREQUENCY_ATTR_2MHZ, + WS_NL80211_FREQUENCY_ATTR_4MHZ, + WS_NL80211_FREQUENCY_ATTR_8MHZ, + WS_NL80211_FREQUENCY_ATTR_16MHZ, + WS_NL80211_FREQUENCY_ATTR_NO_320MHZ, + WS_NL80211_FREQUENCY_ATTR_NO_EHT, }; enum ws_nl80211_bitrate_attr { @@ -739,6 +813,8 @@ enum ws_nl80211_reg_rule_flags { WS_NL80211_RRF_NO_HT40PLUS = 1<<14, WS_NL80211_RRF_NO_80MHZ = 1<<15, WS_NL80211_RRF_NO_160MHZ = 1<<16, + WS_NL80211_RRF_NO_HE = 1<<17, + WS_NL80211_RRF_NO_320MHZ = 1<<18, }; enum ws_nl80211_dfs_regions { @@ -767,6 +843,7 @@ enum ws_nl80211_survey_info { WS_NL80211_SURVEY_INFO_TIME_SCAN, WS_NL80211_SURVEY_INFO_PAD, WS_NL80211_SURVEY_INFO_TIME_BSS_RX, + WS_NL80211_SURVEY_INFO_FREQUENCY_OFFSET, }; enum ws_nl80211_mntr_flags { @@ -817,6 +894,8 @@ enum ws_nl80211_meshconf_params { WS_NL80211_MESHCONF_AWAKE_WINDOW, WS_NL80211_MESHCONF_PLINK_TIMEOUT, WS_NL80211_MESHCONF_CONNECTED_TO_GATE, + WS_NL80211_MESHCONF_NOLEARN, + WS_NL80211_MESHCONF_CONNECTED_TO_AS, }; enum ws_nl80211_mesh_setup_params { @@ -870,12 +949,20 @@ enum ws_nl80211_chan_width { WS_NL80211_CHAN_WIDTH_160, WS_NL80211_CHAN_WIDTH_5, WS_NL80211_CHAN_WIDTH_10, + WS_NL80211_CHAN_WIDTH_1, + WS_NL80211_CHAN_WIDTH_2, + WS_NL80211_CHAN_WIDTH_4, + WS_NL80211_CHAN_WIDTH_8, + WS_NL80211_CHAN_WIDTH_16, + WS_NL80211_CHAN_WIDTH_320, }; enum ws_nl80211_bss_scan_width { WS_NL80211_BSS_CHAN_WIDTH_20, WS_NL80211_BSS_CHAN_WIDTH_10, WS_NL80211_BSS_CHAN_WIDTH_5, + WS_NL80211_BSS_CHAN_WIDTH_1, + WS_NL80211_BSS_CHAN_WIDTH_2, }; enum ws_nl80211_bss { @@ -899,6 +986,9 @@ enum ws_nl80211_bss { WS_NL80211_BSS_PARENT_TSF, WS_NL80211_BSS_PARENT_BSSID, WS_NL80211_BSS_CHAIN_SIGNAL, + WS_NL80211_BSS_FREQUENCY_OFFSET, + WS_NL80211_BSS_MLO_LINK_ID, + WS_NL80211_BSS_MLD_ADDR, }; enum ws_nl80211_bss_status { @@ -953,6 +1043,7 @@ enum ws_nl80211_key_attributes { WS_NL80211_KEY_TYPE, WS_NL80211_KEY_DEFAULT_TYPES, WS_NL80211_KEY_MODE, + WS_NL80211_KEY_DEFAULT_BEACON, }; enum ws_nl80211_tx_rate_attributes { @@ -961,6 +1052,9 @@ enum ws_nl80211_tx_rate_attributes { WS_NL80211_TXRATE_HT, WS_NL80211_TXRATE_VHT, WS_NL80211_TXRATE_GI, + WS_NL80211_TXRATE_HE, + WS_NL80211_TXRATE_HE_GI, + WS_NL80211_TXRATE_HE_LTF, }; enum ws_nl80211_txrate_gi { @@ -974,6 +1068,8 @@ enum ws_nl80211_band { WS_NL80211_BAND_5GHZ, WS_NL80211_BAND_60GHZ, WS_NL80211_BAND_6GHZ, + WS_NL80211_BAND_S1GHZ, + WS_NL80211_BAND_LC, }; enum ws_nl80211_ps_state { @@ -1101,6 +1197,7 @@ enum ws_nl80211_rekey_data { WS_NL80211_REKEY_DATA_KEK, WS_NL80211_REKEY_DATA_KCK, WS_NL80211_REKEY_DATA_REPLAY_CTR, + WS_NL80211_REKEY_DATA_AKM, }; enum ws_nl80211_hidden_ssid { @@ -1204,6 +1301,31 @@ enum ws_nl80211_ext_feature_index { WS_NL80211_EXT_FEATURE_EXT_KEY_ID, WS_NL80211_EXT_FEATURE_STA_TX_PWR, WS_NL80211_EXT_FEATURE_SAE_OFFLOAD, + WS_NL80211_EXT_FEATURE_VLAN_OFFLOAD, + WS_NL80211_EXT_FEATURE_AQL, + WS_NL80211_EXT_FEATURE_BEACON_PROTECTION, + WS_NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH, + WS_NL80211_EXT_FEATURE_PROTECTED_TWT, + WS_NL80211_EXT_FEATURE_DEL_IBSS_STA, + WS_NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, + WS_NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, + WS_NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, + WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, + WS_NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION, + WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK, + WS_NL80211_EXT_FEATURE_SAE_OFFLOAD_AP, + WS_NL80211_EXT_FEATURE_FILS_DISCOVERY, + WS_NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP, + WS_NL80211_EXT_FEATURE_BEACON_RATE_HE, + WS_NL80211_EXT_FEATURE_SECURE_LTF, + WS_NL80211_EXT_FEATURE_SECURE_RTT, + WS_NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE, + WS_NL80211_EXT_FEATURE_BSS_COLOR, + WS_NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, + WS_NL80211_EXT_FEATURE_RADAR_BACKGROUND, + WS_NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, + WS_NL80211_EXT_FEATURE_PUNCT, + WS_NL80211_EXT_FEATURE_SECURE_NAN, }; enum ws_nl80211_probe_resp_offload_support_attr { @@ -1239,6 +1361,8 @@ enum ws_nl80211_scan_flags { WS_NL80211_SCAN_FLAG_HIGH_ACCURACY = 1<<10, WS_NL80211_SCAN_FLAG_RANDOM_SN = 1<<11, WS_NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 1<<12, + WS_NL80211_SCAN_FLAG_FREQ_KHZ = 1<<13, + WS_NL80211_SCAN_FLAG_COLOCATED_6GHZ = 1<<14, }; enum ws_nl80211_acl_policy { @@ -1287,6 +1411,7 @@ enum ws_nl80211_tdls_peer_capability { WS_NL80211_TDLS_PEER_HT = 1<<0, WS_NL80211_TDLS_PEER_VHT = 1<<1, WS_NL80211_TDLS_PEER_WMM = 1<<2, + WS_NL80211_TDLS_PEER_HE = 1<<3, }; enum ws_nl80211_sched_scan_plan { @@ -1384,6 +1509,7 @@ enum ws_nl80211_preamble { WS_NL80211_PREAMBLE_HT, WS_NL80211_PREAMBLE_VHT, WS_NL80211_PREAMBLE_DMG, + WS_NL80211_PREAMBLE_HE, }; enum ws_nl80211_peer_measurement_type { @@ -1441,6 +1567,8 @@ enum ws_nl80211_peer_measurement_ftm_capa { WS_NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, + WS_NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED, + WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED, }; enum ws_nl80211_peer_measurement_ftm_req { @@ -1454,6 +1582,10 @@ enum ws_nl80211_peer_measurement_ftm_req { WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, + WS_NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED, + WS_NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED, + WS_NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK, + WS_NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR, }; enum ws_nl80211_peer_measurement_ftm_failure_reasons { @@ -1496,6 +1628,10 @@ enum ws_nl80211_obss_pd_attributes { WS___NL80211_HE_OBSS_PD_ATTR_INVALID, WS_NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, WS_NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, + WS_NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET, + WS_NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP, + WS_NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP, + WS_NL80211_HE_OBSS_PD_ATTR_SR_CTRL, }; static const value_string ws_nl80211_commands_vals[] = { @@ -1636,6 +1772,22 @@ static const value_string ws_nl80211_commands_vals[] = { { WS_NL80211_CMD_NOTIFY_RADAR, "NL80211_CMD_NOTIFY_RADAR" }, { WS_NL80211_CMD_UPDATE_OWE_INFO, "NL80211_CMD_UPDATE_OWE_INFO" }, { WS_NL80211_CMD_PROBE_MESH_LINK, "NL80211_CMD_PROBE_MESH_LINK" }, + { WS_NL80211_CMD_SET_TID_CONFIG, "NL80211_CMD_SET_TID_CONFIG" }, + { WS_NL80211_CMD_UNPROT_BEACON, "NL80211_CMD_UNPROT_BEACON" }, + { WS_NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS, "NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS" }, + { WS_NL80211_CMD_SET_SAR_SPECS, "NL80211_CMD_SET_SAR_SPECS" }, + { WS_NL80211_CMD_OBSS_COLOR_COLLISION, "NL80211_CMD_OBSS_COLOR_COLLISION" }, + { WS_NL80211_CMD_COLOR_CHANGE_REQUEST, "NL80211_CMD_COLOR_CHANGE_REQUEST" }, + { WS_NL80211_CMD_COLOR_CHANGE_STARTED, "NL80211_CMD_COLOR_CHANGE_STARTED" }, + { WS_NL80211_CMD_COLOR_CHANGE_ABORTED, "NL80211_CMD_COLOR_CHANGE_ABORTED" }, + { WS_NL80211_CMD_COLOR_CHANGE_COMPLETED, "NL80211_CMD_COLOR_CHANGE_COMPLETED" }, + { WS_NL80211_CMD_SET_FILS_AAD, "NL80211_CMD_SET_FILS_AAD" }, + { WS_NL80211_CMD_ASSOC_COMEBACK, "NL80211_CMD_ASSOC_COMEBACK" }, + { WS_NL80211_CMD_ADD_LINK, "NL80211_CMD_ADD_LINK" }, + { WS_NL80211_CMD_REMOVE_LINK, "NL80211_CMD_REMOVE_LINK" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_commands_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_commands_vals); @@ -1827,8 +1979,8 @@ static const value_string ws_nl80211_attrs_vals[] = { { WS_NL80211_ATTR_CH_SWITCH_COUNT, "NL80211_ATTR_CH_SWITCH_COUNT" }, { WS_NL80211_ATTR_CH_SWITCH_BLOCK_TX, "NL80211_ATTR_CH_SWITCH_BLOCK_TX" }, { WS_NL80211_ATTR_CSA_IES, "NL80211_ATTR_CSA_IES" }, - { WS_NL80211_ATTR_CSA_C_OFF_BEACON, "NL80211_ATTR_CSA_C_OFF_BEACON" }, - { WS_NL80211_ATTR_CSA_C_OFF_PRESP, "NL80211_ATTR_CSA_C_OFF_PRESP" }, + { WS_NL80211_ATTR_CNTDWN_OFFS_BEACON, "NL80211_ATTR_CNTDWN_OFFS_BEACON" }, + { WS_NL80211_ATTR_CNTDWN_OFFS_PRESP, "NL80211_ATTR_CNTDWN_OFFS_PRESP" }, { WS_NL80211_ATTR_RXMGMT_FLAGS, "NL80211_ATTR_RXMGMT_FLAGS" }, { WS_NL80211_ATTR_STA_SUPPORTED_CHANNELS, "NL80211_ATTR_STA_SUPPORTED_CHANNELS" }, { WS_NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES, "NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES" }, @@ -1923,6 +2075,47 @@ static const value_string ws_nl80211_attrs_vals[] = { { WS_NL80211_ATTR_HE_OBSS_PD, "NL80211_ATTR_HE_OBSS_PD" }, { WS_NL80211_ATTR_WIPHY_EDMG_CHANNELS, "NL80211_ATTR_WIPHY_EDMG_CHANNELS" }, { WS_NL80211_ATTR_WIPHY_EDMG_BW_CONFIG, "NL80211_ATTR_WIPHY_EDMG_BW_CONFIG" }, + { WS_NL80211_ATTR_VLAN_ID, "NL80211_ATTR_VLAN_ID" }, + { WS_NL80211_ATTR_HE_BSS_COLOR, "NL80211_ATTR_HE_BSS_COLOR" }, + { WS_NL80211_ATTR_IFTYPE_AKM_SUITES, "NL80211_ATTR_IFTYPE_AKM_SUITES" }, + { WS_NL80211_ATTR_TID_CONFIG, "NL80211_ATTR_TID_CONFIG" }, + { WS_NL80211_ATTR_CONTROL_PORT_NO_PREAUTH, "NL80211_ATTR_CONTROL_PORT_NO_PREAUTH" }, + { WS_NL80211_ATTR_PMK_LIFETIME, "NL80211_ATTR_PMK_LIFETIME" }, + { WS_NL80211_ATTR_PMK_REAUTH_THRESHOLD, "NL80211_ATTR_PMK_REAUTH_THRESHOLD" }, + { WS_NL80211_ATTR_RECEIVE_MULTICAST, "NL80211_ATTR_RECEIVE_MULTICAST" }, + { WS_NL80211_ATTR_WIPHY_FREQ_OFFSET, "NL80211_ATTR_WIPHY_FREQ_OFFSET" }, + { WS_NL80211_ATTR_CENTER_FREQ1_OFFSET, "NL80211_ATTR_CENTER_FREQ1_OFFSET" }, + { WS_NL80211_ATTR_SCAN_FREQ_KHZ, "NL80211_ATTR_SCAN_FREQ_KHZ" }, + { WS_NL80211_ATTR_HE_6GHZ_CAPABILITY, "NL80211_ATTR_HE_6GHZ_CAPABILITY" }, + { WS_NL80211_ATTR_FILS_DISCOVERY, "NL80211_ATTR_FILS_DISCOVERY" }, + { WS_NL80211_ATTR_UNSOL_BCAST_PROBE_RESP, "NL80211_ATTR_UNSOL_BCAST_PROBE_RESP" }, + { WS_NL80211_ATTR_S1G_CAPABILITY, "NL80211_ATTR_S1G_CAPABILITY" }, + { WS_NL80211_ATTR_S1G_CAPABILITY_MASK, "NL80211_ATTR_S1G_CAPABILITY_MASK" }, + { WS_NL80211_ATTR_SAE_PWE, "NL80211_ATTR_SAE_PWE" }, + { WS_NL80211_ATTR_RECONNECT_REQUESTED, "NL80211_ATTR_RECONNECT_REQUESTED" }, + { WS_NL80211_ATTR_SAR_SPEC, "NL80211_ATTR_SAR_SPEC" }, + { WS_NL80211_ATTR_DISABLE_HE, "NL80211_ATTR_DISABLE_HE" }, + { WS_NL80211_ATTR_OBSS_COLOR_BITMAP, "NL80211_ATTR_OBSS_COLOR_BITMAP" }, + { WS_NL80211_ATTR_COLOR_CHANGE_COUNT, "NL80211_ATTR_COLOR_CHANGE_COUNT" }, + { WS_NL80211_ATTR_COLOR_CHANGE_COLOR, "NL80211_ATTR_COLOR_CHANGE_COLOR" }, + { WS_NL80211_ATTR_COLOR_CHANGE_ELEMS, "NL80211_ATTR_COLOR_CHANGE_ELEMS" }, + { WS_NL80211_ATTR_MBSSID_CONFIG, "NL80211_ATTR_MBSSID_CONFIG" }, + { WS_NL80211_ATTR_MBSSID_ELEMS, "NL80211_ATTR_MBSSID_ELEMS" }, + { WS_NL80211_ATTR_RADAR_BACKGROUND, "NL80211_ATTR_RADAR_BACKGROUND" }, + { WS_NL80211_ATTR_AP_SETTINGS_FLAGS, "NL80211_ATTR_AP_SETTINGS_FLAGS" }, + { WS_NL80211_ATTR_EHT_CAPABILITY, "NL80211_ATTR_EHT_CAPABILITY" }, + { WS_NL80211_ATTR_DISABLE_EHT, "NL80211_ATTR_DISABLE_EHT" }, + { WS_NL80211_ATTR_MLO_LINKS, "NL80211_ATTR_MLO_LINKS" }, + { WS_NL80211_ATTR_MLO_LINK_ID, "NL80211_ATTR_MLO_LINK_ID" }, + { WS_NL80211_ATTR_MLD_ADDR, "NL80211_ATTR_MLD_ADDR" }, + { WS_NL80211_ATTR_MLO_SUPPORT, "NL80211_ATTR_MLO_SUPPORT" }, + { WS_NL80211_ATTR_MAX_NUM_AKM_SUITES, "NL80211_ATTR_MAX_NUM_AKM_SUITES" }, + { WS_NL80211_ATTR_EML_CAPABILITY, "NL80211_ATTR_EML_CAPABILITY" }, + { WS_NL80211_ATTR_MLD_CAPA_AND_OPS, "NL80211_ATTR_MLD_CAPA_AND_OPS" }, + { WS_NL80211_ATTR_TX_HW_TIMESTAMP, "NL80211_ATTR_TX_HW_TIMESTAMP" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_attrs_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_attrs_vals); @@ -2004,6 +2197,11 @@ static const value_string ws_nl80211_rate_info_vals[] = { { WS_NL80211_RATE_INFO_HE_GI, "NL80211_RATE_INFO_HE_GI" }, { WS_NL80211_RATE_INFO_HE_DCM, "NL80211_RATE_INFO_HE_DCM" }, { WS_NL80211_RATE_INFO_HE_RU_ALLOC, "NL80211_RATE_INFO_HE_RU_ALLOC" }, + { WS_NL80211_RATE_INFO_320_MHZ_WIDTH, "NL80211_RATE_INFO_320_MHZ_WIDTH" }, + { WS_NL80211_RATE_INFO_EHT_MCS, "NL80211_RATE_INFO_EHT_MCS" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_rate_info_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_rate_info_vals); @@ -2063,6 +2261,7 @@ static const value_string ws_nl80211_sta_info_vals[] = { { WS_NL80211_STA_INFO_AIRTIME_WEIGHT, "NL80211_STA_INFO_AIRTIME_WEIGHT" }, { WS_NL80211_STA_INFO_AIRTIME_LINK_METRIC, "NL80211_STA_INFO_AIRTIME_LINK_METRIC" }, { WS_NL80211_STA_INFO_ASSOC_AT_BOOTTIME, "NL80211_STA_INFO_ASSOC_AT_BOOTTIME" }, + { WS_NL80211_STA_INFO_CONNECTED_TO_AS, "NL80211_STA_INFO_CONNECTED_TO_AS" }, { 0, NULL } }; static value_string_ext ws_nl80211_sta_info_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_sta_info_vals); @@ -2128,6 +2327,12 @@ static const value_string ws_nl80211_band_iftype_attr_vals[] = { { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY" }, { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET" }, { WS_NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE, "NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE" }, + { WS_NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA, "NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA" }, + { WS_NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS, "NL80211_BAND_IFTYPE_ATTR_VENDOR_ELEMS" }, + { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MAC" }, + { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PHY" }, + { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_MCS_SET" }, + { WS_NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE, "NL80211_BAND_IFTYPE_ATTR_EHT_CAP_PPE" }, { 0, NULL } }; static value_string_ext ws_nl80211_band_iftype_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_band_iftype_attr_vals); @@ -2179,6 +2384,15 @@ static const value_string ws_nl80211_frequency_attr_vals[] = { { WS_NL80211_FREQUENCY_ATTR_NO_20MHZ, "NL80211_FREQUENCY_ATTR_NO_20MHZ" }, { WS_NL80211_FREQUENCY_ATTR_NO_10MHZ, "NL80211_FREQUENCY_ATTR_NO_10MHZ" }, { WS_NL80211_FREQUENCY_ATTR_WMM, "NL80211_FREQUENCY_ATTR_WMM" }, + { WS_NL80211_FREQUENCY_ATTR_NO_HE, "NL80211_FREQUENCY_ATTR_NO_HE" }, + { WS_NL80211_FREQUENCY_ATTR_OFFSET, "NL80211_FREQUENCY_ATTR_OFFSET" }, + { WS_NL80211_FREQUENCY_ATTR_1MHZ, "NL80211_FREQUENCY_ATTR_1MHZ" }, + { WS_NL80211_FREQUENCY_ATTR_2MHZ, "NL80211_FREQUENCY_ATTR_2MHZ" }, + { WS_NL80211_FREQUENCY_ATTR_4MHZ, "NL80211_FREQUENCY_ATTR_4MHZ" }, + { WS_NL80211_FREQUENCY_ATTR_8MHZ, "NL80211_FREQUENCY_ATTR_8MHZ" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_frequency_attr_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_frequency_attr_vals); @@ -2250,6 +2464,8 @@ static const value_string ws_nl80211_reg_rule_flags_vals[] = { { WS_NL80211_RRF_NO_HT40PLUS, "NL80211_RRF_NO_HT40PLUS" }, { WS_NL80211_RRF_NO_80MHZ, "NL80211_RRF_NO_80MHZ" }, { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_reg_rule_flags_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_reg_rule_flags_vals); @@ -2284,6 +2500,7 @@ static const value_string ws_nl80211_survey_info_vals[] = { { WS_NL80211_SURVEY_INFO_TIME_SCAN, "NL80211_SURVEY_INFO_TIME_SCAN" }, { WS_NL80211_SURVEY_INFO_PAD, "NL80211_SURVEY_INFO_PAD" }, { WS_NL80211_SURVEY_INFO_TIME_BSS_RX, "NL80211_SURVEY_INFO_TIME_BSS_RX" }, + { WS_NL80211_SURVEY_INFO_FREQUENCY_OFFSET, "NL80211_SURVEY_INFO_FREQUENCY_OFFSET" }, { 0, NULL } }; static value_string_ext ws_nl80211_survey_info_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_survey_info_vals); @@ -2340,6 +2557,8 @@ static const value_string ws_nl80211_meshconf_params_vals[] = { { WS_NL80211_MESHCONF_AWAKE_WINDOW, "NL80211_MESHCONF_AWAKE_WINDOW" }, { WS_NL80211_MESHCONF_PLINK_TIMEOUT, "NL80211_MESHCONF_PLINK_TIMEOUT" }, { WS_NL80211_MESHCONF_CONNECTED_TO_GATE, "NL80211_MESHCONF_CONNECTED_TO_GATE" }, + { WS_NL80211_MESHCONF_NOLEARN, "NL80211_MESHCONF_NOLEARN" }, + { WS_NL80211_MESHCONF_CONNECTED_TO_AS, "NL80211_MESHCONF_CONNECTED_TO_AS" }, { 0, NULL } }; static value_string_ext ws_nl80211_meshconf_params_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_meshconf_params_vals); @@ -2405,6 +2624,12 @@ static const value_string ws_nl80211_chan_width_vals[] = { { WS_NL80211_CHAN_WIDTH_160, "NL80211_CHAN_WIDTH_160" }, { WS_NL80211_CHAN_WIDTH_5, "NL80211_CHAN_WIDTH_5" }, { WS_NL80211_CHAN_WIDTH_10, "NL80211_CHAN_WIDTH_10" }, + { WS_NL80211_CHAN_WIDTH_1, "NL80211_CHAN_WIDTH_1" }, + { WS_NL80211_CHAN_WIDTH_2, "NL80211_CHAN_WIDTH_2" }, + { WS_NL80211_CHAN_WIDTH_4, "NL80211_CHAN_WIDTH_4" }, + { WS_NL80211_CHAN_WIDTH_8, "NL80211_CHAN_WIDTH_8" }, + { WS_NL80211_CHAN_WIDTH_16, "NL80211_CHAN_WIDTH_16" }, + { WS_NL80211_CHAN_WIDTH_320, "NL80211_CHAN_WIDTH_320" }, { 0, NULL } }; static value_string_ext ws_nl80211_chan_width_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_chan_width_vals); @@ -2413,6 +2638,8 @@ static const value_string ws_nl80211_bss_scan_width_vals[] = { { WS_NL80211_BSS_CHAN_WIDTH_20, "NL80211_BSS_CHAN_WIDTH_20" }, { WS_NL80211_BSS_CHAN_WIDTH_10, "NL80211_BSS_CHAN_WIDTH_10" }, { WS_NL80211_BSS_CHAN_WIDTH_5, "NL80211_BSS_CHAN_WIDTH_5" }, + { WS_NL80211_BSS_CHAN_WIDTH_1, "NL80211_BSS_CHAN_WIDTH_1" }, + { WS_NL80211_BSS_CHAN_WIDTH_2, "NL80211_BSS_CHAN_WIDTH_2" }, { 0, NULL } }; static value_string_ext ws_nl80211_bss_scan_width_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_scan_width_vals); @@ -2438,6 +2665,9 @@ static const value_string ws_nl80211_bss_vals[] = { { WS_NL80211_BSS_PARENT_TSF, "NL80211_BSS_PARENT_TSF" }, { WS_NL80211_BSS_PARENT_BSSID, "NL80211_BSS_PARENT_BSSID" }, { WS_NL80211_BSS_CHAIN_SIGNAL, "NL80211_BSS_CHAIN_SIGNAL" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_bss_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_bss_vals); @@ -2506,6 +2736,7 @@ static const value_string ws_nl80211_key_attributes_vals[] = { { WS_NL80211_KEY_TYPE, "NL80211_KEY_TYPE" }, { WS_NL80211_KEY_DEFAULT_TYPES, "NL80211_KEY_DEFAULT_TYPES" }, { WS_NL80211_KEY_MODE, "NL80211_KEY_MODE" }, + { WS_NL80211_KEY_DEFAULT_BEACON, "NL80211_KEY_DEFAULT_BEACON" }, { 0, NULL } }; static value_string_ext ws_nl80211_key_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_key_attributes_vals); @@ -2516,6 +2747,9 @@ static const value_string ws_nl80211_tx_rate_attributes_vals[] = { { WS_NL80211_TXRATE_HT, "NL80211_TXRATE_HT" }, { WS_NL80211_TXRATE_VHT, "NL80211_TXRATE_VHT" }, { WS_NL80211_TXRATE_GI, "NL80211_TXRATE_GI" }, + { WS_NL80211_TXRATE_HE, "NL80211_TXRATE_HE" }, + { WS_NL80211_TXRATE_HE_GI, "NL80211_TXRATE_HE_GI" }, + { WS_NL80211_TXRATE_HE_LTF, "NL80211_TXRATE_HE_LTF" }, { 0, NULL } }; static value_string_ext ws_nl80211_tx_rate_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tx_rate_attributes_vals); @@ -2533,6 +2767,8 @@ static const value_string ws_nl80211_band_vals[] = { { WS_NL80211_BAND_5GHZ, "NL80211_BAND_5GHZ" }, { WS_NL80211_BAND_60GHZ, "NL80211_BAND_60GHZ" }, { WS_NL80211_BAND_6GHZ, "NL80211_BAND_6GHZ" }, + { WS_NL80211_BAND_S1GHZ, "NL80211_BAND_S1GHZ" }, + { WS_NL80211_BAND_LC, "NL80211_BAND_LC" }, { 0, NULL } }; static value_string_ext ws_nl80211_band_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_band_vals); @@ -2688,6 +2924,7 @@ static const value_string ws_nl80211_rekey_data_vals[] = { { WS_NL80211_REKEY_DATA_KEK, "NL80211_REKEY_DATA_KEK" }, { WS_NL80211_REKEY_DATA_KCK, "NL80211_REKEY_DATA_KCK" }, { WS_NL80211_REKEY_DATA_REPLAY_CTR, "NL80211_REKEY_DATA_REPLAY_CTR" }, + { WS_NL80211_REKEY_DATA_AKM, "NL80211_REKEY_DATA_AKM" }, { 0, NULL } }; static value_string_ext ws_nl80211_rekey_data_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_rekey_data_vals); @@ -2803,6 +3040,31 @@ static const value_string ws_nl80211_ext_feature_index_vals[] = { { WS_NL80211_EXT_FEATURE_EXT_KEY_ID, "NL80211_EXT_FEATURE_EXT_KEY_ID" }, { WS_NL80211_EXT_FEATURE_STA_TX_PWR, "NL80211_EXT_FEATURE_STA_TX_PWR" }, { WS_NL80211_EXT_FEATURE_SAE_OFFLOAD, "NL80211_EXT_FEATURE_SAE_OFFLOAD" }, + { WS_NL80211_EXT_FEATURE_VLAN_OFFLOAD, "NL80211_EXT_FEATURE_VLAN_OFFLOAD" }, + { WS_NL80211_EXT_FEATURE_AQL, "NL80211_EXT_FEATURE_AQL" }, + { WS_NL80211_EXT_FEATURE_BEACON_PROTECTION, "NL80211_EXT_FEATURE_BEACON_PROTECTION" }, + { WS_NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH, "NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH" }, + { WS_NL80211_EXT_FEATURE_PROTECTED_TWT, "NL80211_EXT_FEATURE_PROTECTED_TWT" }, + { WS_NL80211_EXT_FEATURE_DEL_IBSS_STA, "NL80211_EXT_FEATURE_DEL_IBSS_STA" }, + { WS_NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS, "NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS" }, + { WS_NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT, "NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT" }, + { WS_NL80211_EXT_FEATURE_SCAN_FREQ_KHZ, "NL80211_EXT_FEATURE_SCAN_FREQ_KHZ" }, + { WS_NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS, "NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS" }, + { WS_NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION, "NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION" }, + { WS_NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK, "NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK" }, + { WS_NL80211_EXT_FEATURE_SAE_OFFLOAD_AP, "NL80211_EXT_FEATURE_SAE_OFFLOAD_AP" }, + { WS_NL80211_EXT_FEATURE_FILS_DISCOVERY, "NL80211_EXT_FEATURE_FILS_DISCOVERY" }, + { WS_NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP, "NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP" }, + { WS_NL80211_EXT_FEATURE_BEACON_RATE_HE, "NL80211_EXT_FEATURE_BEACON_RATE_HE" }, + { WS_NL80211_EXT_FEATURE_SECURE_LTF, "NL80211_EXT_FEATURE_SECURE_LTF" }, + { WS_NL80211_EXT_FEATURE_SECURE_RTT, "NL80211_EXT_FEATURE_SECURE_RTT" }, + { WS_NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE, "NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE" }, + { WS_NL80211_EXT_FEATURE_BSS_COLOR, "NL80211_EXT_FEATURE_BSS_COLOR" }, + { WS_NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD, "NL80211_EXT_FEATURE_FILS_CRYPTO_OFFLOAD" }, + { WS_NL80211_EXT_FEATURE_RADAR_BACKGROUND, "NL80211_EXT_FEATURE_RADAR_BACKGROUND" }, + { 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" }, { 0, NULL } }; static value_string_ext ws_nl80211_ext_feature_index_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_ext_feature_index_vals); @@ -2846,6 +3108,8 @@ static const value_string ws_nl80211_scan_flags_vals[] = { { WS_NL80211_SCAN_FLAG_HIGH_ACCURACY, "NL80211_SCAN_FLAG_HIGH_ACCURACY" }, { WS_NL80211_SCAN_FLAG_RANDOM_SN, "NL80211_SCAN_FLAG_RANDOM_SN" }, { WS_NL80211_SCAN_FLAG_MIN_PREQ_CONTENT, "NL80211_SCAN_FLAG_MIN_PREQ_CONTENT" }, + { WS_NL80211_SCAN_FLAG_FREQ_KHZ, "NL80211_SCAN_FLAG_FREQ_KHZ" }, + { WS_NL80211_SCAN_FLAG_COLOCATED_6GHZ, "NL80211_SCAN_FLAG_COLOCATED_6GHZ" }, { 0, NULL } }; static value_string_ext ws_nl80211_scan_flags_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_scan_flags_vals); @@ -2910,6 +3174,7 @@ static const value_string ws_nl80211_tdls_peer_capability_vals[] = { { WS_NL80211_TDLS_PEER_HT, "NL80211_TDLS_PEER_HT" }, { WS_NL80211_TDLS_PEER_VHT, "NL80211_TDLS_PEER_VHT" }, { WS_NL80211_TDLS_PEER_WMM, "NL80211_TDLS_PEER_WMM" }, + { WS_NL80211_TDLS_PEER_HE, "NL80211_TDLS_PEER_HE" }, { 0, NULL } }; static value_string_ext ws_nl80211_tdls_peer_capability_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_tdls_peer_capability_vals); @@ -3031,6 +3296,7 @@ static const value_string ws_nl80211_preamble_vals[] = { { WS_NL80211_PREAMBLE_HT, "NL80211_PREAMBLE_HT" }, { WS_NL80211_PREAMBLE_VHT, "NL80211_PREAMBLE_VHT" }, { WS_NL80211_PREAMBLE_DMG, "NL80211_PREAMBLE_DMG" }, + { WS_NL80211_PREAMBLE_HE, "NL80211_PREAMBLE_HE" }, { 0, NULL } }; static value_string_ext ws_nl80211_preamble_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_preamble_vals); @@ -3102,6 +3368,8 @@ static const value_string ws_nl80211_peer_measurement_ftm_capa_vals[] = { { WS_NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS, "NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS" }, { WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT, "NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT" }, { WS_NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST, "NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST" }, + { WS_NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED, "NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED" }, + { WS_NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED, "NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED" }, { 0, NULL } }; static value_string_ext ws_nl80211_peer_measurement_ftm_capa_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_capa_vals); @@ -3117,6 +3385,10 @@ static const value_string ws_nl80211_peer_measurement_ftm_req_vals[] = { { WS_NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES, "NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES" }, { WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI, "NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI" }, { WS_NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC, "NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC" }, + { WS_NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED, "NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED" }, + { WS_NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED, "NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED" }, + { WS_NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK, "NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK" }, + { WS_NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR, "NL80211_PMSR_FTM_REQ_ATTR_BSS_COLOR" }, { 0, NULL } }; static value_string_ext ws_nl80211_peer_measurement_ftm_req_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_peer_measurement_ftm_req_vals); @@ -3165,525 +3437,221 @@ static const value_string ws_nl80211_obss_pd_attributes_vals[] = { { WS___NL80211_HE_OBSS_PD_ATTR_INVALID, "__NL80211_HE_OBSS_PD_ATTR_INVALID" }, { WS_NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET, "NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET" }, { WS_NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET, "NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET" }, + { WS_NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET, "NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET" }, + { WS_NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP, "NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP" }, + { WS_NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP, "NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP" }, + { WS_NL80211_HE_OBSS_PD_ATTR_SR_CTRL, "NL80211_HE_OBSS_PD_ATTR_SR_CTRL" }, { 0, NULL } }; static value_string_ext ws_nl80211_obss_pd_attributes_vals_ext = VALUE_STRING_EXT_INIT(ws_nl80211_obss_pd_attributes_vals); -static header_field_info hfi_nl80211_commands NETLINK_NL80211_HFI_INIT = - { "Command", "nl80211.cmd", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_commands_vals_ext), 0x00, "Generic Netlink Command", HFILL }; - -static header_field_info hfi_nl80211_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.attr_type", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_iftype NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.iftype", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_iftype_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sta_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sta_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sta_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sta_p2p_ps_status NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.sta_p2p_ps_status", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sta_p2p_ps_status_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_he_gi NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.he_gi", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_he_gi_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_he_ru_alloc NETLINK_NL80211_HFI_INIT = - { "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 }; - -static header_field_info hfi_nl80211_rate_info NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.rate_info", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_rate_info_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sta_bss_param NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sta_bss_param", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sta_bss_param_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sta_info NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sta_info", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sta_info_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_tid_stats NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.tid_stats", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_tid_stats_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_txq_stats NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.txq_stats", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_txq_stats_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mpath_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.mpath_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mpath_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mpath_info NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.mpath_info", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mpath_info_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_band_iftype_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.band_iftype_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_band_iftype_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_band_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.band_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_band_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_wmm_rule NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.wmm_rule", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_wmm_rule_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_frequency_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.frequency_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_frequency_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_bitrate_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.bitrate_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_bitrate_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_reg_initiator NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.reg_initiator", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_reg_initiator_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_reg_type NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.reg_type", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_reg_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_reg_rule_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.reg_rule_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_reg_rule_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sched_scan_match_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sched_scan_match_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sched_scan_match_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_reg_rule_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.reg_rule_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_reg_rule_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_dfs_regions NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.dfs_regions", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_dfs_regions_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_user_reg_hint_type NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.user_reg_hint_type", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_user_reg_hint_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_survey_info NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.survey_info", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_survey_info_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mntr_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.mntr_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mntr_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mesh_power_mode NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.mesh_power_mode", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mesh_power_mode_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_meshconf_params NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.meshconf_params", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_meshconf_params_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mesh_setup_params NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.mesh_setup_params", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mesh_setup_params_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_txq_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.txq_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_txq_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ac NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.ac", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_ac_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_channel_type NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.channel_type", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_channel_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_key_mode NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.key_mode", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_key_mode_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_chan_width NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.chan_width", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_chan_width_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_bss_scan_width NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.bss_scan_width", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_bss_scan_width_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_bss NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.bss", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_bss_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_bss_status NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.bss_status", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_bss_status_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_auth_type NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.auth_type", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_auth_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_key_type NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.key_type", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_key_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mfp NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.mfp", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_mfp_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_wpa_versions NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.wpa_versions", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_wpa_versions_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_key_default_types NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.key_default_types", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_key_default_types_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_key_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.key_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_key_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_tx_rate_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.tx_rate_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_tx_rate_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_txrate_gi NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.txrate_gi", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_txrate_gi_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_band NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.band", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_band_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ps_state NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.ps_state", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_ps_state_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_attr_cqm NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.attr_cqm", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_attr_cqm_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_cqm_rssi_threshold_event NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.cqm_rssi_threshold_event", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_cqm_rssi_threshold_event_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_tx_power_setting NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.tx_power_setting", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_tx_power_setting_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_packet_pattern_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.packet_pattern_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_packet_pattern_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_wowlan_triggers NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.wowlan_triggers", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_wowlan_triggers_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_wowlan_tcp_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.wowlan_tcp_attrs", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_wowlan_tcp_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_attr_coalesce_rule NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.attr_coalesce_rule", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_attr_coalesce_rule_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_coalesce_condition NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.coalesce_condition", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_coalesce_condition_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_iface_limit_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.iface_limit_attrs", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_iface_limit_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_if_combination_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.if_combination_attrs", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_if_combination_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_plink_state NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.plink_state", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_plink_state_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_plink_actions NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.plink_actions", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_plink_actions_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_rekey_data NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.rekey_data", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_rekey_data_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_hidden_ssid NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.hidden_ssid", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_hidden_ssid_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sta_wme_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sta_wme_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sta_wme_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_pmksa_candidate_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.pmksa_candidate_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_pmksa_candidate_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_tdls_operation NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.tdls_operation", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_tdls_operation_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_feature_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.feature_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_feature_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ext_feature_index NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.ext_feature_index", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_ext_feature_index_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_probe_resp_offload_support_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.probe_resp_offload_support_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_probe_resp_offload_support_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_connect_failed_reason NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.connect_failed_reason", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_connect_failed_reason_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_timeout_reason NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.timeout_reason", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_timeout_reason_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_scan_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.scan_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_scan_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_acl_policy NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.acl_policy", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_acl_policy_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_smps_mode NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.smps_mode", FT_UINT8, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_smps_mode_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_radar_event NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.radar_event", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_radar_event_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_dfs_state NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.dfs_state", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_dfs_state_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_protocol_features NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.protocol_features", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_protocol_features_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_crit_proto_id NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.crit_proto_id", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_crit_proto_id_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_rxmgmt_flags NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.rxmgmt_flags", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_rxmgmt_flags_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_tdls_peer_capability NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.tdls_peer_capability", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_tdls_peer_capability_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_sched_scan_plan NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.sched_scan_plan", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_sched_scan_plan_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_bss_select_attr NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.bss_select_attr", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_bss_select_attr_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_function_type NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_function_type", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_function_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_publish_type NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_publish_type", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_publish_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_func_term_reason NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_func_term_reason", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_func_term_reason_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_func_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_func_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_func_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_srf_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_srf_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_srf_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_nan_match_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.nan_match_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_nan_match_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_external_auth_action NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.external_auth_action", FT_UINT32, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_external_auth_action_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ftm_responder_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.ftm_responder_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_ftm_responder_attributes_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ftm_responder_stats NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.ftm_responder_stats", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_ftm_responder_stats_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_preamble NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.preamble", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_preamble_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_type NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_type", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_type_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_status NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_status", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_status_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_req NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_req", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_req_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_resp NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_resp", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_resp_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_peer_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_peer_attrs", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_peer_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_attrs NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_attrs", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_attrs_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_ftm_capa NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_ftm_capa", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_capa_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_ftm_req NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_ftm_req", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_req_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_ftm_failure_reasons NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_ftm_failure_reasons", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_failure_reasons_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_peer_measurement_ftm_resp NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.peer_measurement_ftm_resp", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_resp_vals_ext), 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_obss_pd_attributes NETLINK_NL80211_HFI_INIT = - { "Attribute Type", "nl80211.obss_pd_attributes", FT_UINT16, BASE_DEC | BASE_EXT_STRING, - VALS_EXT_PTR(&ws_nl80211_obss_pd_attributes_vals_ext), 0x00, NULL, HFILL }; - -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 gint hf_nl80211_commands; +static gint hf_nl80211_attrs; +static gint hf_nl80211_iftype; +static gint hf_nl80211_sta_flags; +static gint hf_nl80211_sta_p2p_ps_status; +static gint hf_nl80211_he_gi; +static gint hf_nl80211_he_ru_alloc; +static gint hf_nl80211_rate_info; +static gint hf_nl80211_sta_bss_param; +static gint hf_nl80211_sta_info; +static gint hf_nl80211_tid_stats; +static gint hf_nl80211_txq_stats; +static gint hf_nl80211_mpath_flags; +static gint hf_nl80211_mpath_info; +static gint hf_nl80211_band_iftype_attr; +static gint hf_nl80211_band_attr; +static gint hf_nl80211_wmm_rule; +static gint hf_nl80211_frequency_attr; +static gint hf_nl80211_bitrate_attr; +static gint hf_nl80211_reg_initiator; +static gint hf_nl80211_reg_type; +static gint hf_nl80211_reg_rule_attr; +static gint hf_nl80211_sched_scan_match_attr; +static gint hf_nl80211_reg_rule_flags; +static gint hf_nl80211_dfs_regions; +static gint hf_nl80211_user_reg_hint_type; +static gint hf_nl80211_survey_info; +static gint hf_nl80211_mntr_flags; +static gint hf_nl80211_mesh_power_mode; +static gint hf_nl80211_meshconf_params; +static gint hf_nl80211_mesh_setup_params; +static gint hf_nl80211_txq_attr; +static gint hf_nl80211_ac; +static gint hf_nl80211_channel_type; +static gint hf_nl80211_key_mode; +static gint hf_nl80211_chan_width; +static gint hf_nl80211_bss_scan_width; +static gint hf_nl80211_bss; +static gint hf_nl80211_bss_status; +static gint hf_nl80211_auth_type; +static gint hf_nl80211_key_type; +static gint hf_nl80211_mfp; +static gint hf_nl80211_wpa_versions; +static gint hf_nl80211_key_default_types; +static gint hf_nl80211_key_attributes; +static gint hf_nl80211_tx_rate_attributes; +static gint hf_nl80211_txrate_gi; +static gint hf_nl80211_band; +static gint hf_nl80211_ps_state; +static gint hf_nl80211_attr_cqm; +static gint hf_nl80211_cqm_rssi_threshold_event; +static gint hf_nl80211_tx_power_setting; +static gint hf_nl80211_packet_pattern_attr; +static gint hf_nl80211_wowlan_triggers; +static gint hf_nl80211_wowlan_tcp_attrs; +static gint hf_nl80211_attr_coalesce_rule; +static gint hf_nl80211_coalesce_condition; +static gint hf_nl80211_iface_limit_attrs; +static gint hf_nl80211_if_combination_attrs; +static gint hf_nl80211_plink_state; +static gint hf_plink_actions; +static gint hf_nl80211_rekey_data; +static gint hf_nl80211_hidden_ssid; +static gint hf_nl80211_sta_wme_attr; +static gint hf_nl80211_pmksa_candidate_attr; +static gint hf_nl80211_tdls_operation; +static gint hf_nl80211_feature_flags; +static gint hf_nl80211_ext_feature_index; +static gint hf_nl80211_probe_resp_offload_support_attr; +static gint hf_nl80211_connect_failed_reason; +static gint hf_nl80211_timeout_reason; +static gint hf_nl80211_scan_flags; +static gint hf_nl80211_acl_policy; +static gint hf_nl80211_smps_mode; +static gint hf_nl80211_radar_event; +static gint hf_nl80211_dfs_state; +static gint hf_nl80211_protocol_features; +static gint hf_nl80211_crit_proto_id; +static gint hf_nl80211_rxmgmt_flags; +static gint hf_nl80211_tdls_peer_capability; +static gint hf_nl80211_sched_scan_plan; +static gint hf_nl80211_bss_select_attr; +static gint hf_nl80211_nan_function_type; +static gint hf_nl80211_nan_publish_type; +static gint hf_nl80211_nan_func_term_reason; +static gint hf_nl80211_nan_func_attributes; +static gint hf_nl80211_nan_srf_attributes; +static gint hf_nl80211_nan_match_attributes; +static gint hf_nl80211_external_auth_action; +static gint hf_nl80211_ftm_responder_attributes; +static gint hf_nl80211_ftm_responder_stats; +static gint hf_nl80211_preamble; +static gint hf_nl80211_peer_measurement_type; +static gint hf_nl80211_peer_measurement_status; +static gint hf_nl80211_peer_measurement_req; +static gint hf_nl80211_peer_measurement_resp; +static gint hf_nl80211_peer_measurement_peer_attrs; +static gint hf_nl80211_peer_measurement_attrs; +static gint hf_nl80211_peer_measurement_ftm_capa; +static gint hf_nl80211_peer_measurement_ftm_req; +static gint hf_nl80211_peer_measurement_ftm_failure_reasons; +static gint hf_nl80211_peer_measurement_ftm_resp; +static gint hf_nl80211_obss_pd_attributes; + +static gint ett_nl80211_commands; +static gint ett_nl80211_attrs; +static gint ett_nl80211_iftype; +static gint ett_nl80211_sta_flags; +static gint ett_nl80211_sta_p2p_ps_status; +static gint ett_nl80211_he_gi; +static gint ett_nl80211_he_ru_alloc; +static gint ett_nl80211_rate_info; +static gint ett_nl80211_sta_bss_param; +static gint ett_nl80211_sta_info; +static gint ett_nl80211_tid_stats; +static gint ett_nl80211_txq_stats; +static gint ett_nl80211_mpath_flags; +static gint ett_nl80211_mpath_info; +static gint ett_nl80211_band_iftype_attr; +static gint ett_nl80211_band_attr; +static gint ett_nl80211_wmm_rule; +static gint ett_nl80211_frequency_attr; +static gint ett_nl80211_bitrate_attr; +static gint ett_nl80211_reg_initiator; +static gint ett_nl80211_reg_type; +static gint ett_nl80211_reg_rule_attr; +static gint ett_nl80211_sched_scan_match_attr; +static gint ett_nl80211_reg_rule_flags; +static gint ett_nl80211_dfs_regions; +static gint ett_nl80211_user_reg_hint_type; +static gint ett_nl80211_survey_info; +static gint ett_nl80211_mntr_flags; +static gint ett_nl80211_mesh_power_mode; +static gint ett_nl80211_meshconf_params; +static gint ett_nl80211_mesh_setup_params; +static gint ett_nl80211_txq_attr; +static gint ett_nl80211_ac; +static gint ett_nl80211_channel_type; +static gint ett_nl80211_key_mode; +static gint ett_nl80211_chan_width; +static gint ett_nl80211_bss_scan_width; +static gint ett_nl80211_bss; +static gint ett_nl80211_bss_status; +static gint ett_nl80211_auth_type; +static gint ett_nl80211_key_type; +static gint ett_nl80211_mfp; +static gint ett_nl80211_wpa_versions; +static gint ett_nl80211_key_default_types; +static gint ett_nl80211_key_attributes; +static gint ett_nl80211_tx_rate_attributes; +static gint ett_nl80211_txrate_gi; +static gint ett_nl80211_band; +static gint ett_nl80211_ps_state; +static gint ett_nl80211_attr_cqm; +static gint ett_nl80211_cqm_rssi_threshold_event; +static gint ett_nl80211_tx_power_setting; +static gint ett_nl80211_packet_pattern_attr; +static gint ett_nl80211_wowlan_triggers; +static gint ett_nl80211_wowlan_tcp_attrs; +static gint ett_nl80211_attr_coalesce_rule; +static gint ett_nl80211_coalesce_condition; +static gint ett_nl80211_iface_limit_attrs; +static gint ett_nl80211_if_combination_attrs; +static gint ett_nl80211_plink_state; +static gint ett_plink_actions; +static gint ett_nl80211_rekey_data; +static gint ett_nl80211_hidden_ssid; +static gint ett_nl80211_sta_wme_attr; +static gint ett_nl80211_pmksa_candidate_attr; +static gint ett_nl80211_tdls_operation; +static gint ett_nl80211_feature_flags; +static gint ett_nl80211_ext_feature_index; +static gint ett_nl80211_probe_resp_offload_support_attr; +static gint ett_nl80211_connect_failed_reason; +static gint ett_nl80211_timeout_reason; +static gint ett_nl80211_scan_flags; +static gint ett_nl80211_acl_policy; +static gint ett_nl80211_smps_mode; +static gint ett_nl80211_radar_event; +static gint ett_nl80211_dfs_state; +static gint ett_nl80211_protocol_features; +static gint ett_nl80211_crit_proto_id; +static gint ett_nl80211_rxmgmt_flags; +static gint ett_nl80211_tdls_peer_capability; +static gint ett_nl80211_sched_scan_plan; +static gint ett_nl80211_bss_select_attr; +static gint ett_nl80211_nan_function_type; +static gint ett_nl80211_nan_publish_type; +static gint ett_nl80211_nan_func_term_reason; +static gint ett_nl80211_nan_func_attributes; +static gint ett_nl80211_nan_srf_attributes; +static gint ett_nl80211_nan_match_attributes; +static gint ett_nl80211_external_auth_action; +static gint ett_nl80211_ftm_responder_attributes; +static gint ett_nl80211_ftm_responder_stats; +static gint ett_nl80211_preamble; +static gint ett_nl80211_peer_measurement_type; +static gint ett_nl80211_peer_measurement_status; +static gint ett_nl80211_peer_measurement_req; +static gint ett_nl80211_peer_measurement_resp; +static gint ett_nl80211_peer_measurement_peer_attrs; +static gint ett_nl80211_peer_measurement_attrs; +static gint ett_nl80211_peer_measurement_ftm_capa; +static gint ett_nl80211_peer_measurement_ftm_req; +static gint ett_nl80211_peer_measurement_ftm_failure_reasons; +static gint ett_nl80211_peer_measurement_ftm_resp; +static gint ett_nl80211_obss_pd_attributes; /* }}} */ @@ -3691,47 +3659,19 @@ static int proto_netlink_nl80211; static dissector_handle_t netlink_nl80211_handle; -static header_field_info *hfi_netlink_nl80211 = NULL; - -static gint ett_nl80211 = -1; -static gint ett_nl80211_frame = -1; -static gint ett_nl80211_tag = -1; - -static header_field_info hfi_nl80211_attr_value NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.attr_value", FT_BYTES, BASE_NONE, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_attr_value16 NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.attr_value16", FT_UINT16, BASE_HEX_DEC, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_attr_value32 NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.attr_value32", FT_UINT32, BASE_HEX_DEC, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_attr_value64 NETLINK_NL80211_HFI_INIT = - { "Attribute Value", "nl80211.attr_value64", FT_UINT64, BASE_HEX_DEC, - NULL, 0x00, NULL, HFILL }; +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 header_field_info hfi_nl80211_wiphy_name NETLINK_NL80211_HFI_INIT = - { "Wiphy Name", "nl80211.wiphy_name", FT_STRINGZ, STR_ASCII, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_ifname NETLINK_NL80211_HFI_INIT = - { "Interface Name", "nl80211.ifname", FT_STRINGZ, STR_ASCII, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_mac NETLINK_NL80211_HFI_INIT = - { "MAC address", "nl80211.mac", FT_ETHER, BASE_NONE, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_alpha2 NETLINK_NL80211_HFI_INIT = - { "Alpha2", "nl80211.alpha2", FT_STRINGZ, STR_ASCII, - NULL, 0x00, NULL, HFILL }; - -static header_field_info hfi_nl80211_dbm NETLINK_NL80211_HFI_INIT = - { "dBm", "nl80211.dbm", FT_INT32, BASE_DEC, - NULL, 0x00, NULL, HFILL }; +static gint ett_nl80211; +static gint ett_nl80211_frame; +static gint 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) @@ -3743,13 +3683,13 @@ dissect_nl80211_generic(tvbuff_t *tvb, void *data _U_, struct packet_netlink_dat */ if (len) { if (len == 2) { - proto_tree_add_item(tree, &hfi_nl80211_attr_value16, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, hf_nl80211_attr_value16, tvb, offset, len, nl_data->encoding); } else if (len == 4) { - proto_tree_add_item(tree, &hfi_nl80211_attr_value32, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, hf_nl80211_attr_value32, tvb, offset, len, nl_data->encoding); } else if (len == 8) { - proto_tree_add_item(tree, &hfi_nl80211_attr_value64, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, hf_nl80211_attr_value64, tvb, offset, len, nl_data->encoding); } else { - proto_tree_add_item(tree, &hfi_nl80211_attr_value, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, hf_nl80211_attr_value, tvb, offset, len, nl_data->encoding); } offset += len; } @@ -3758,7 +3698,7 @@ dissect_nl80211_generic(tvbuff_t *tvb, void *data _U_, struct packet_netlink_dat struct attr_lookup { unsigned int attr_type; - header_field_info* hfi; + int *hfptr; gint* ett; int (*func)(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len); }; @@ -3767,11 +3707,11 @@ static int dissect_nested_attr(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len, const struct attr_lookup *nested) { netlink_nl80211_info_t *info = (netlink_nl80211_info_t *)data; - for (int i = 0; nested[i].hfi; i++) { + for (int i = 0; nested[i].attr_type != 0; i++) { if (nested[i].attr_type != (nla_type & NLA_TYPE_MASK)) { continue; } - offset = dissect_netlink_attributes(tvb, nested[i].hfi, *nested[i].ett, info, + offset = dissect_netlink_attributes(tvb, *nested[i].hfptr, *nested[i].ett, info, nl_data, tree, offset, len, nested[i].func ? nested[i].func : dissect_nl80211_generic); break; @@ -3783,11 +3723,11 @@ static int dissect_nested_attr_array(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len, const struct attr_lookup *nested_arr) { netlink_nl80211_info_t *info = (netlink_nl80211_info_t *)data; - for (int i = 0; nested_arr[i].hfi; i++) { + for (int i = 0; nested_arr[i].attr_type != 0; i++) { if (nested_arr[i].attr_type != (nla_type & NLA_TYPE_MASK)) { continue; } - offset = dissect_netlink_attributes_array(tvb, nested_arr[i].hfi, *nested_arr[i].ett, + offset = dissect_netlink_attributes_array(tvb, *nested_arr[i].hfptr, *nested_arr[i].ett, *nested_arr[i].ett, info, nl_data, tree, offset, len, nested_arr[i].func ? @@ -3800,11 +3740,11 @@ dissect_nested_attr_array(tvbuff_t *tvb, void *data, struct packet_netlink_data static int dissect_value(tvbuff_t *tvb, void *data _U_, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len, const struct attr_lookup *values) { - for (int i = 0; values[i].hfi; i++) { + for (int i = 0; values[i].attr_type != 0; i++) { if (values[i].attr_type != (nla_type & NLA_TYPE_MASK)) { continue; } - proto_tree_add_item(tree, values[i].hfi, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, *values[i].hfptr, tvb, offset, len, nl_data->encoding); return offset + len; } return offset; @@ -3839,8 +3779,8 @@ static int dissect_nl80211_frequency_attr(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup nested[] = { - { WS_NL80211_FREQUENCY_ATTR_DFS_STATE, &hfi_nl80211_dfs_state, &ett_nl80211_dfs_state, NULL}, - { WS_NL80211_FREQUENCY_ATTR_WMM, &hfi_nl80211_wmm_rule, &ett_nl80211_wmm_rule, NULL}, + { WS_NL80211_FREQUENCY_ATTR_DFS_STATE, &hf_nl80211_dfs_state, &ett_nl80211_dfs_state, NULL}, + { WS_NL80211_FREQUENCY_ATTR_WMM, &hf_nl80211_wmm_rule, &ett_nl80211_wmm_rule, NULL}, { 0, NULL, NULL, NULL } }; enum ws_nl80211_frequency_attr type = (enum ws_nl80211_frequency_attr) nla_type & NLA_TYPE_MASK; @@ -3863,9 +3803,9 @@ static int dissect_nl80211_band_attr(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup nested_arr[] = { - { WS_NL80211_BAND_ATTR_FREQS, &hfi_nl80211_frequency_attr, &ett_nl80211_frequency_attr, dissect_nl80211_frequency_attr }, - { WS_NL80211_BAND_ATTR_RATES, &hfi_nl80211_bitrate_attr, &ett_nl80211_bitrate_attr, NULL }, - { WS_NL80211_BAND_ATTR_IFTYPE_DATA, &hfi_nl80211_band_iftype_attr, &ett_nl80211_band_iftype_attr, NULL }, + { WS_NL80211_BAND_ATTR_FREQS, &hf_nl80211_frequency_attr, &ett_nl80211_frequency_attr, dissect_nl80211_frequency_attr }, + { WS_NL80211_BAND_ATTR_RATES, &hf_nl80211_bitrate_attr, &ett_nl80211_bitrate_attr, NULL }, + { WS_NL80211_BAND_ATTR_IFTYPE_DATA, &hf_nl80211_band_iftype_attr, &ett_nl80211_band_iftype_attr, NULL }, { 0, NULL, NULL, NULL } }; enum ws_nl80211_band_attr type = (enum ws_nl80211_band_attr) nla_type & NLA_TYPE_MASK; @@ -3889,8 +3829,8 @@ static int dissect_nl80211_bss(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup values[] = { - { WS_NL80211_BSS_STATUS, &hfi_nl80211_bss_status, NULL, NULL }, - { WS_NL80211_BSS_CHAN_WIDTH, &hfi_nl80211_bss_scan_width, NULL, NULL }, + { WS_NL80211_BSS_STATUS, &hf_nl80211_bss_status, NULL, NULL }, + { WS_NL80211_BSS_CHAN_WIDTH, &hf_nl80211_bss_scan_width, NULL, NULL }, { 0, NULL, NULL, NULL } }; enum ws_nl80211_bss type = (enum ws_nl80211_bss) nla_type & NLA_TYPE_MASK; @@ -3918,7 +3858,7 @@ static int dissect_nl80211_tid_stats(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup nested[] = { - { WS_NL80211_TID_STATS_TXQ_STATS, &hfi_nl80211_txq_stats, &ett_nl80211_txq_stats, NULL}, + { WS_NL80211_TID_STATS_TXQ_STATS, &hf_nl80211_txq_stats, &ett_nl80211_txq_stats, NULL}, { 0, NULL, NULL, NULL } }; @@ -3941,13 +3881,13 @@ static int dissect_nl80211_sta_info(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup nested[] = { - { WS_NL80211_STA_INFO_TX_BITRATE, &hfi_nl80211_rate_info, &ett_nl80211_rate_info, NULL}, - { WS_NL80211_STA_INFO_RX_BITRATE, &hfi_nl80211_rate_info, &ett_nl80211_rate_info, NULL}, - { WS_NL80211_STA_INFO_BSS_PARAM, &hfi_nl80211_sta_bss_param, &ett_nl80211_sta_bss_param, NULL }, + { WS_NL80211_STA_INFO_TX_BITRATE, &hf_nl80211_rate_info, &ett_nl80211_rate_info, NULL}, + { WS_NL80211_STA_INFO_RX_BITRATE, &hf_nl80211_rate_info, &ett_nl80211_rate_info, NULL}, + { WS_NL80211_STA_INFO_BSS_PARAM, &hf_nl80211_sta_bss_param, &ett_nl80211_sta_bss_param, NULL }, { 0, NULL, NULL, NULL } }; static const struct attr_lookup nested_arr[] = { - { WS_NL80211_STA_INFO_TID_STATS, &hfi_nl80211_tid_stats, &ett_nl80211_tid_stats, dissect_nl80211_tid_stats}, + { WS_NL80211_STA_INFO_TID_STATS, &hf_nl80211_tid_stats, &ett_nl80211_tid_stats, dissect_nl80211_tid_stats}, { 0, NULL, NULL, NULL } }; @@ -3966,7 +3906,7 @@ dissect_nl80211_sta_info(tvbuff_t *tvb, void *data, struct packet_netlink_data * case WS_NL80211_STA_INFO_BEACON_SIGNAL_AVG: case WS_NL80211_STA_INFO_ACK_SIGNAL: case WS_NL80211_STA_INFO_ACK_SIGNAL_AVG: - proto_tree_add_item(tree, &hfi_nl80211_dbm, tvb, offset, len, nl_data->encoding); + proto_tree_add_item(tree, hf_nl80211_dbm, tvb, offset, len, nl_data->encoding); offset += len; break; default: @@ -3982,71 +3922,71 @@ static int dissect_nl80211_attrs(tvbuff_t *tvb, void *data, struct packet_netlink_data *nl_data, proto_tree *tree, int nla_type, int offset, int len) { static const struct attr_lookup nested[] = { - { WS_NL80211_ATTR_SUPPORTED_IFTYPES, &hfi_nl80211_iftype, &ett_nl80211_iftype, NULL }, - { WS_NL80211_ATTR_STA_FLAGS, &hfi_nl80211_sta_flags, &ett_nl80211_sta_flags, NULL }, - { WS_NL80211_ATTR_STA_INFO, &hfi_nl80211_sta_info, &ett_nl80211_sta_info, dissect_nl80211_sta_info }, - { WS_NL80211_ATTR_MPATH_INFO, &hfi_nl80211_mpath_info, &ett_nl80211_mpath_info, NULL }, - { WS_NL80211_ATTR_MNTR_FLAGS, &hfi_nl80211_mntr_flags, &ett_nl80211_mntr_flags, NULL }, - { WS_NL80211_ATTR_BSS, &hfi_nl80211_bss, &ett_nl80211_bss, dissect_nl80211_bss }, - { WS_NL80211_ATTR_KEY, &hfi_nl80211_key_attributes, &ett_nl80211_key_attributes, NULL }, - { WS_NL80211_ATTR_SURVEY_INFO, &hfi_nl80211_survey_info, &ett_nl80211_survey_info, NULL }, - { WS_NL80211_ATTR_FREQ_BEFORE, &hfi_nl80211_frequency_attr, &ett_nl80211_frequency_attr, NULL }, - { WS_NL80211_ATTR_FREQ_AFTER, &hfi_nl80211_frequency_attr, &ett_nl80211_frequency_attr, NULL }, - { WS_NL80211_ATTR_TX_RATES, &hfi_nl80211_tx_rate_attributes, &ett_nl80211_tx_rate_attributes, NULL }, - { WS_NL80211_ATTR_CQM, &hfi_nl80211_attr_cqm, &ett_nl80211_attr_cqm, NULL }, - { WS_NL80211_ATTR_KEY_DEFAULT_TYPES, &hfi_nl80211_key_default_types, &ett_nl80211_key_default_types, NULL }, - { WS_NL80211_ATTR_MESH_SETUP, &hfi_nl80211_mesh_setup_params, &ett_nl80211_mesh_setup_params, NULL }, - { WS_NL80211_ATTR_MESH_CONFIG, &hfi_nl80211_meshconf_params, &ett_nl80211_meshconf_params, NULL }, - { WS_NL80211_ATTR_SCHED_SCAN_MATCH, &hfi_nl80211_sched_scan_match_attr, &ett_nl80211_sched_scan_match_attr, NULL }, - { WS_NL80211_ATTR_INTERFACE_COMBINATIONS, &hfi_nl80211_if_combination_attrs, &ett_nl80211_if_combination_attrs, NULL }, - { WS_NL80211_ATTR_REKEY_DATA, &hfi_nl80211_rekey_data, &ett_nl80211_rekey_data, NULL }, - { WS_NL80211_ATTR_STA_WME, &hfi_nl80211_sta_wme_attr, &ett_nl80211_sta_wme_attr, NULL }, - { WS_NL80211_ATTR_PMKSA_CANDIDATE, &hfi_nl80211_pmksa_candidate_attr, &ett_nl80211_pmksa_candidate_attr, NULL }, - { WS_NL80211_ATTR_SCHED_SCAN_PLANS, &hfi_nl80211_sched_scan_plan, &ett_nl80211_sched_scan_plan, NULL }, - { WS_NL80211_ATTR_BSS_SELECT, &hfi_nl80211_bss_select_attr, &ett_nl80211_bss_select_attr, NULL }, - { WS_NL80211_ATTR_IFTYPE_EXT_CAPA, &hfi_nl80211_attrs, &ett_nl80211_attrs, dissect_nl80211_attrs }, - { WS_NL80211_ATTR_NAN_FUNC, &hfi_nl80211_nan_func_attributes, &ett_nl80211_nan_func_attributes, NULL }, - { WS_NL80211_ATTR_NAN_MATCH, &hfi_nl80211_nan_match_attributes, &ett_nl80211_nan_match_attributes, NULL }, - { WS_NL80211_ATTR_TXQ_STATS, &hfi_nl80211_txq_stats, &ett_nl80211_txq_stats, NULL }, + { WS_NL80211_ATTR_SUPPORTED_IFTYPES, &hf_nl80211_iftype, &ett_nl80211_iftype, NULL }, + { WS_NL80211_ATTR_STA_FLAGS, &hf_nl80211_sta_flags, &ett_nl80211_sta_flags, NULL }, + { WS_NL80211_ATTR_STA_INFO, &hf_nl80211_sta_info, &ett_nl80211_sta_info, dissect_nl80211_sta_info }, + { WS_NL80211_ATTR_MPATH_INFO, &hf_nl80211_mpath_info, &ett_nl80211_mpath_info, NULL }, + { WS_NL80211_ATTR_MNTR_FLAGS, &hf_nl80211_mntr_flags, &ett_nl80211_mntr_flags, NULL }, + { WS_NL80211_ATTR_BSS, &hf_nl80211_bss, &ett_nl80211_bss, dissect_nl80211_bss }, + { WS_NL80211_ATTR_KEY, &hf_nl80211_key_attributes, &ett_nl80211_key_attributes, NULL }, + { WS_NL80211_ATTR_SURVEY_INFO, &hf_nl80211_survey_info, &ett_nl80211_survey_info, NULL }, + { WS_NL80211_ATTR_FREQ_BEFORE, &hf_nl80211_frequency_attr, &ett_nl80211_frequency_attr, NULL }, + { WS_NL80211_ATTR_FREQ_AFTER, &hf_nl80211_frequency_attr, &ett_nl80211_frequency_attr, NULL }, + { WS_NL80211_ATTR_TX_RATES, &hf_nl80211_tx_rate_attributes, &ett_nl80211_tx_rate_attributes, NULL }, + { WS_NL80211_ATTR_CQM, &hf_nl80211_attr_cqm, &ett_nl80211_attr_cqm, NULL }, + { WS_NL80211_ATTR_KEY_DEFAULT_TYPES, &hf_nl80211_key_default_types, &ett_nl80211_key_default_types, NULL }, + { WS_NL80211_ATTR_MESH_SETUP, &hf_nl80211_mesh_setup_params, &ett_nl80211_mesh_setup_params, NULL }, + { WS_NL80211_ATTR_MESH_CONFIG, &hf_nl80211_meshconf_params, &ett_nl80211_meshconf_params, NULL }, + { WS_NL80211_ATTR_SCHED_SCAN_MATCH, &hf_nl80211_sched_scan_match_attr, &ett_nl80211_sched_scan_match_attr, NULL }, + { WS_NL80211_ATTR_INTERFACE_COMBINATIONS, &hf_nl80211_if_combination_attrs, &ett_nl80211_if_combination_attrs, NULL }, + { WS_NL80211_ATTR_REKEY_DATA, &hf_nl80211_rekey_data, &ett_nl80211_rekey_data, NULL }, + { WS_NL80211_ATTR_STA_WME, &hf_nl80211_sta_wme_attr, &ett_nl80211_sta_wme_attr, NULL }, + { WS_NL80211_ATTR_PMKSA_CANDIDATE, &hf_nl80211_pmksa_candidate_attr, &ett_nl80211_pmksa_candidate_attr, NULL }, + { WS_NL80211_ATTR_SCHED_SCAN_PLANS, &hf_nl80211_sched_scan_plan, &ett_nl80211_sched_scan_plan, NULL }, + { WS_NL80211_ATTR_BSS_SELECT, &hf_nl80211_bss_select_attr, &ett_nl80211_bss_select_attr, NULL }, + { WS_NL80211_ATTR_IFTYPE_EXT_CAPA, &hf_nl80211_attrs, &ett_nl80211_attrs, dissect_nl80211_attrs }, + { WS_NL80211_ATTR_NAN_FUNC, &hf_nl80211_nan_func_attributes, &ett_nl80211_nan_func_attributes, NULL }, + { WS_NL80211_ATTR_NAN_MATCH, &hf_nl80211_nan_match_attributes, &ett_nl80211_nan_match_attributes, NULL }, + { WS_NL80211_ATTR_TXQ_STATS, &hf_nl80211_txq_stats, &ett_nl80211_txq_stats, NULL }, { 0, NULL, NULL, NULL } }; static const struct attr_lookup nested_arr[] = { - { WS_NL80211_ATTR_WIPHY_TXQ_PARAMS, &hfi_nl80211_txq_attr, &ett_nl80211_txq_attr, NULL }, - { WS_NL80211_ATTR_WIPHY_BANDS, &hfi_nl80211_band_attr, &ett_nl80211_band_attr, dissect_nl80211_band_attr }, - { WS_NL80211_ATTR_REG_RULES, &hfi_nl80211_reg_rule_attr, &ett_nl80211_reg_rule_attr, NULL }, + { WS_NL80211_ATTR_WIPHY_TXQ_PARAMS, &hf_nl80211_txq_attr, &ett_nl80211_txq_attr, NULL }, + { WS_NL80211_ATTR_WIPHY_BANDS, &hf_nl80211_band_attr, &ett_nl80211_band_attr, dissect_nl80211_band_attr }, + { WS_NL80211_ATTR_REG_RULES, &hf_nl80211_reg_rule_attr, &ett_nl80211_reg_rule_attr, NULL }, { 0, NULL, NULL, NULL } }; static const struct attr_lookup values[] = { - { WS_NL80211_ATTR_CHANNEL_WIDTH, &hfi_nl80211_chan_width, NULL, NULL }, - { WS_NL80211_ATTR_WIPHY_NAME, &hfi_nl80211_wiphy_name, NULL, NULL }, - { WS_NL80211_ATTR_WIPHY_CHANNEL_TYPE, &hfi_nl80211_channel_type, NULL, NULL }, - { WS_NL80211_ATTR_IFNAME, &hfi_nl80211_ifname, NULL, NULL }, - { WS_NL80211_ATTR_IFTYPE, &hfi_nl80211_iftype, NULL, NULL }, - { WS_NL80211_ATTR_MAC, &hfi_nl80211_mac, NULL, NULL }, - { WS_NL80211_ATTR_STA_PLINK_ACTION, &hfi_plink_actions, NULL, NULL }, - { WS_NL80211_ATTR_MPATH_INFO, &hfi_nl80211_mpath_info, NULL, NULL }, - { WS_NL80211_ATTR_REG_ALPHA2, &hfi_nl80211_alpha2, NULL, NULL }, - { WS_NL80211_ATTR_REG_INITIATOR, &hfi_nl80211_reg_initiator, NULL, NULL }, - { WS_NL80211_ATTR_REG_TYPE, &hfi_nl80211_reg_type, NULL, NULL }, - { WS_NL80211_ATTR_AUTH_TYPE, &hfi_nl80211_auth_type, NULL, NULL }, - { WS_NL80211_ATTR_KEY_TYPE, &hfi_nl80211_key_type, NULL, NULL }, - { WS_NL80211_ATTR_USE_MFP, &hfi_nl80211_mfp, NULL, NULL }, - { WS_NL80211_ATTR_PS_STATE, &hfi_nl80211_ps_state, NULL, NULL }, - { WS_NL80211_ATTR_WIPHY_TX_POWER_SETTING, &hfi_nl80211_tx_power_setting, NULL, NULL }, - { WS_NL80211_ATTR_STA_PLINK_STATE, &hfi_nl80211_plink_state, NULL, NULL }, - { WS_NL80211_ATTR_TDLS_OPERATION, &hfi_nl80211_tdls_operation, NULL, NULL }, - { WS_NL80211_ATTR_DFS_REGION, &hfi_nl80211_dfs_regions, NULL, NULL }, - { WS_NL80211_ATTR_RX_SIGNAL_DBM, &hfi_nl80211_dbm, NULL, NULL}, - { WS_NL80211_ATTR_USER_REG_HINT_TYPE, &hfi_nl80211_user_reg_hint_type, NULL, NULL }, - { WS_NL80211_ATTR_CONN_FAILED_REASON, &hfi_nl80211_connect_failed_reason, NULL, NULL }, - { WS_NL80211_ATTR_LOCAL_MESH_POWER_MODE, &hfi_nl80211_mesh_power_mode, NULL, NULL }, - { WS_NL80211_ATTR_ACL_POLICY, &hfi_nl80211_acl_policy, NULL, NULL }, - { WS_NL80211_ATTR_RADAR_EVENT, &hfi_nl80211_radar_event, NULL, NULL }, - { WS_NL80211_ATTR_CRIT_PROT_ID, &hfi_nl80211_crit_proto_id, NULL, NULL }, - { WS_NL80211_ATTR_SMPS_MODE, &hfi_nl80211_smps_mode, NULL, NULL }, - { WS_NL80211_ATTR_STA_SUPPORT_P2P_PS, &hfi_nl80211_sta_p2p_ps_status, NULL, NULL }, - { WS_NL80211_ATTR_TIMEOUT_REASON, &hfi_nl80211_timeout_reason, NULL, NULL }, - { WS_NL80211_ATTR_EXTERNAL_AUTH_ACTION, &hfi_nl80211_external_auth_action, NULL, NULL }, + { WS_NL80211_ATTR_CHANNEL_WIDTH, &hf_nl80211_chan_width, NULL, NULL }, + { WS_NL80211_ATTR_WIPHY_NAME, &hf_nl80211_wiphy_name, NULL, NULL }, + { WS_NL80211_ATTR_WIPHY_CHANNEL_TYPE, &hf_nl80211_channel_type, NULL, NULL }, + { 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_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 }, + { WS_NL80211_ATTR_REG_TYPE, &hf_nl80211_reg_type, NULL, NULL }, + { WS_NL80211_ATTR_AUTH_TYPE, &hf_nl80211_auth_type, NULL, NULL }, + { WS_NL80211_ATTR_KEY_TYPE, &hf_nl80211_key_type, NULL, NULL }, + { WS_NL80211_ATTR_USE_MFP, &hf_nl80211_mfp, NULL, NULL }, + { WS_NL80211_ATTR_PS_STATE, &hf_nl80211_ps_state, NULL, NULL }, + { WS_NL80211_ATTR_WIPHY_TX_POWER_SETTING, &hf_nl80211_tx_power_setting, NULL, NULL }, + { WS_NL80211_ATTR_STA_PLINK_STATE, &hf_nl80211_plink_state, NULL, NULL }, + { WS_NL80211_ATTR_TDLS_OPERATION, &hf_nl80211_tdls_operation, NULL, NULL }, + { WS_NL80211_ATTR_DFS_REGION, &hf_nl80211_dfs_regions, NULL, NULL }, + { WS_NL80211_ATTR_RX_SIGNAL_DBM, &hf_nl80211_dbm, NULL, NULL}, + { WS_NL80211_ATTR_USER_REG_HINT_TYPE, &hf_nl80211_user_reg_hint_type, NULL, NULL }, + { WS_NL80211_ATTR_CONN_FAILED_REASON, &hf_nl80211_connect_failed_reason, NULL, NULL }, + { WS_NL80211_ATTR_LOCAL_MESH_POWER_MODE, &hf_nl80211_mesh_power_mode, NULL, NULL }, + { WS_NL80211_ATTR_ACL_POLICY, &hf_nl80211_acl_policy, NULL, NULL }, + { WS_NL80211_ATTR_RADAR_EVENT, &hf_nl80211_radar_event, NULL, NULL }, + { WS_NL80211_ATTR_CRIT_PROT_ID, &hf_nl80211_crit_proto_id, NULL, NULL }, + { WS_NL80211_ATTR_SMPS_MODE, &hf_nl80211_smps_mode, NULL, NULL }, + { WS_NL80211_ATTR_STA_SUPPORT_P2P_PS, &hf_nl80211_sta_p2p_ps_status, NULL, NULL }, + { WS_NL80211_ATTR_TIMEOUT_REASON, &hf_nl80211_timeout_reason, NULL, NULL }, + { WS_NL80211_ATTR_EXTERNAL_AUTH_ACTION, &hf_nl80211_external_auth_action, NULL, NULL }, { 0, NULL, NULL, NULL } }; enum ws_nl80211_attrs type = (enum ws_nl80211_attrs) nla_type & NLA_TYPE_MASK; @@ -4110,7 +4050,7 @@ dissect_netlink_nl80211(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi col_set_str(pinfo->cinfo, COL_PROTOCOL, "nl80211"); col_clear(pinfo->cinfo, COL_INFO); - offset = dissect_genl_header(tvb, genl_info, genl_info->nl_data, &hfi_nl80211_commands); + offset = dissect_genl_header(tvb, genl_info, genl_info->nl_data, hf_nl80211_commands); /* Return if command has no payload */ if (!tvb_reported_length_remaining(tvb, offset)) @@ -4119,10 +4059,10 @@ dissect_netlink_nl80211(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi info.pinfo = pinfo; - pi = proto_tree_add_item(tree, proto_registrar_get_nth(proto_netlink_nl80211), tvb, offset, -1, ENC_NA); + pi = proto_tree_add_item(tree, proto_netlink_nl80211, tvb, offset, -1, ENC_NA); nlmsg_tree = proto_item_add_subtree(pi, ett_nl80211); - offset = dissect_netlink_attributes_to_end(tvb, &hfi_nl80211_attrs, ett_nl80211_attrs, &info, genl_info->nl_data, nlmsg_tree, offset, dissect_nl80211_attrs); + offset = dissect_netlink_attributes_to_end(tvb, hf_nl80211_attrs, ett_nl80211_attrs, &info, genl_info->nl_data, nlmsg_tree, offset, dissect_nl80211_attrs); return offset; } @@ -4130,125 +4070,674 @@ dissect_netlink_nl80211(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi void proto_register_netlink_nl80211(void) { -#ifndef HAVE_HFI_SECTION_INIT - static header_field_info *hfi[] = { - &hfi_nl80211_attr_value, - &hfi_nl80211_attr_value16, - &hfi_nl80211_attr_value32, - &hfi_nl80211_attr_value64, - &hfi_nl80211_wiphy_name, - &hfi_nl80211_ifname, - &hfi_nl80211_mac, - &hfi_nl80211_alpha2, - &hfi_nl80211_dbm, + static hf_register_info hf[] = { + { &hf_nl80211_attr_value, + { "Attribute Value", "nl80211.attr_value", + FT_BYTES, BASE_NONE, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_attr_value16, + { "Attribute Value", "nl80211.attr_value16", + FT_UINT16, BASE_HEX_DEC, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_attr_value32, + { "Attribute Value", "nl80211.attr_value32", + FT_UINT32, BASE_HEX_DEC, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_attr_value64, + { "Attribute Value", "nl80211.attr_value64", + FT_UINT64, BASE_HEX_DEC, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_wiphy_name, + { "Wiphy Name", "nl80211.wiphy_name", + FT_STRINGZ, BASE_NONE, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_ifname, + { "Interface Name", "nl80211.ifname", + FT_STRINGZ, BASE_NONE, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_mac, + { "MAC address", "nl80211.mac", + FT_ETHER, BASE_NONE, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_alpha2, + { "Alpha2", "nl80211.alpha2", + FT_STRINGZ, BASE_NONE, NULL, 0x00, + NULL, HFILL } + }, + { &hf_nl80211_dbm, + { "dBm", "nl80211.dbm", + FT_INT32, BASE_DEC, NULL, 0x00, + NULL, HFILL } + }, /* Extracted using tools/generate-nl80211-fields.py */ /* Definitions from linux/nl80211.h {{{ */ - &hfi_nl80211_commands, - &hfi_nl80211_attrs, - &hfi_nl80211_iftype, - &hfi_nl80211_sta_flags, - &hfi_nl80211_sta_p2p_ps_status, - &hfi_nl80211_he_gi, - &hfi_nl80211_he_ru_alloc, - &hfi_nl80211_rate_info, - &hfi_nl80211_sta_bss_param, - &hfi_nl80211_sta_info, - &hfi_nl80211_tid_stats, - &hfi_nl80211_txq_stats, - &hfi_nl80211_mpath_flags, - &hfi_nl80211_mpath_info, - &hfi_nl80211_band_iftype_attr, - &hfi_nl80211_band_attr, - &hfi_nl80211_wmm_rule, - &hfi_nl80211_frequency_attr, - &hfi_nl80211_bitrate_attr, - &hfi_nl80211_reg_initiator, - &hfi_nl80211_reg_type, - &hfi_nl80211_reg_rule_attr, - &hfi_nl80211_sched_scan_match_attr, - &hfi_nl80211_reg_rule_flags, - &hfi_nl80211_dfs_regions, - &hfi_nl80211_user_reg_hint_type, - &hfi_nl80211_survey_info, - &hfi_nl80211_mntr_flags, - &hfi_nl80211_mesh_power_mode, - &hfi_nl80211_meshconf_params, - &hfi_nl80211_mesh_setup_params, - &hfi_nl80211_txq_attr, - &hfi_nl80211_ac, - &hfi_nl80211_channel_type, - &hfi_nl80211_key_mode, - &hfi_nl80211_chan_width, - &hfi_nl80211_bss_scan_width, - &hfi_nl80211_bss, - &hfi_nl80211_bss_status, - &hfi_nl80211_auth_type, - &hfi_nl80211_key_type, - &hfi_nl80211_mfp, - &hfi_nl80211_wpa_versions, - &hfi_nl80211_key_default_types, - &hfi_nl80211_key_attributes, - &hfi_nl80211_tx_rate_attributes, - &hfi_nl80211_txrate_gi, - &hfi_nl80211_band, - &hfi_nl80211_ps_state, - &hfi_nl80211_attr_cqm, - &hfi_nl80211_cqm_rssi_threshold_event, - &hfi_nl80211_tx_power_setting, - &hfi_nl80211_packet_pattern_attr, - &hfi_nl80211_wowlan_triggers, - &hfi_nl80211_wowlan_tcp_attrs, - &hfi_nl80211_attr_coalesce_rule, - &hfi_nl80211_coalesce_condition, - &hfi_nl80211_iface_limit_attrs, - &hfi_nl80211_if_combination_attrs, - &hfi_nl80211_plink_state, - &hfi_plink_actions, - &hfi_nl80211_rekey_data, - &hfi_nl80211_hidden_ssid, - &hfi_nl80211_sta_wme_attr, - &hfi_nl80211_pmksa_candidate_attr, - &hfi_nl80211_tdls_operation, - &hfi_nl80211_feature_flags, - &hfi_nl80211_ext_feature_index, - &hfi_nl80211_probe_resp_offload_support_attr, - &hfi_nl80211_connect_failed_reason, - &hfi_nl80211_timeout_reason, - &hfi_nl80211_scan_flags, - &hfi_nl80211_acl_policy, - &hfi_nl80211_smps_mode, - &hfi_nl80211_radar_event, - &hfi_nl80211_dfs_state, - &hfi_nl80211_protocol_features, - &hfi_nl80211_crit_proto_id, - &hfi_nl80211_rxmgmt_flags, - &hfi_nl80211_tdls_peer_capability, - &hfi_nl80211_sched_scan_plan, - &hfi_nl80211_bss_select_attr, - &hfi_nl80211_nan_function_type, - &hfi_nl80211_nan_publish_type, - &hfi_nl80211_nan_func_term_reason, - &hfi_nl80211_nan_func_attributes, - &hfi_nl80211_nan_srf_attributes, - &hfi_nl80211_nan_match_attributes, - &hfi_nl80211_external_auth_action, - &hfi_nl80211_ftm_responder_attributes, - &hfi_nl80211_ftm_responder_stats, - &hfi_nl80211_preamble, - &hfi_nl80211_peer_measurement_type, - &hfi_nl80211_peer_measurement_status, - &hfi_nl80211_peer_measurement_req, - &hfi_nl80211_peer_measurement_resp, - &hfi_nl80211_peer_measurement_peer_attrs, - &hfi_nl80211_peer_measurement_attrs, - &hfi_nl80211_peer_measurement_ftm_capa, - &hfi_nl80211_peer_measurement_ftm_req, - &hfi_nl80211_peer_measurement_ftm_failure_reasons, - &hfi_nl80211_peer_measurement_ftm_resp, - &hfi_nl80211_obss_pd_attributes, + { &hf_nl80211_commands, + { "Command", "nl80211.cmd", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_commands_vals_ext), 0x00, + "Generic Netlink Command", HFILL }, + }, + { &hf_nl80211_attrs, + { "Attribute Type", "nl80211.attr_type", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_iftype, + { "Attribute Type", "nl80211.iftype", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_iftype_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sta_flags, + { "Attribute Type", "nl80211.sta_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sta_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sta_p2p_ps_status, + { "Attribute Value", "nl80211.sta_p2p_ps_status", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sta_p2p_ps_status_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_he_gi, + { "Attribute Type", "nl80211.he_gi", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_he_gi_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_rate_info, + { "Attribute Type", "nl80211.rate_info", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_rate_info_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sta_bss_param, + { "Attribute Type", "nl80211.sta_bss_param", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sta_bss_param_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sta_info, + { "Attribute Type", "nl80211.sta_info", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sta_info_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_tid_stats, + { "Attribute Type", "nl80211.tid_stats", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_tid_stats_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_txq_stats, + { "Attribute Type", "nl80211.txq_stats", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_txq_stats_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mpath_flags, + { "Attribute Type", "nl80211.mpath_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mpath_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mpath_info, + { "Attribute Type", "nl80211.mpath_info", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mpath_info_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_band_iftype_attr, + { "Attribute Type", "nl80211.band_iftype_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_band_iftype_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_band_attr, + { "Attribute Type", "nl80211.band_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_band_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_wmm_rule, + { "Attribute Type", "nl80211.wmm_rule", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_wmm_rule_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_frequency_attr, + { "Attribute Type", "nl80211.frequency_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_frequency_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_bitrate_attr, + { "Attribute Type", "nl80211.bitrate_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_bitrate_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_reg_initiator, + { "Attribute Value", "nl80211.reg_initiator", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_reg_initiator_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_reg_type, + { "Attribute Value", "nl80211.reg_type", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_reg_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_reg_rule_attr, + { "Attribute Type", "nl80211.reg_rule_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_reg_rule_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sched_scan_match_attr, + { "Attribute Type", "nl80211.sched_scan_match_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sched_scan_match_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_reg_rule_flags, + { "Attribute Type", "nl80211.reg_rule_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_reg_rule_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_dfs_regions, + { "Attribute Value", "nl80211.dfs_regions", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_dfs_regions_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_user_reg_hint_type, + { "Attribute Value", "nl80211.user_reg_hint_type", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_user_reg_hint_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_survey_info, + { "Attribute Type", "nl80211.survey_info", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_survey_info_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mntr_flags, + { "Attribute Type", "nl80211.mntr_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mntr_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mesh_power_mode, + { "Attribute Value", "nl80211.mesh_power_mode", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mesh_power_mode_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_meshconf_params, + { "Attribute Type", "nl80211.meshconf_params", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_meshconf_params_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mesh_setup_params, + { "Attribute Type", "nl80211.mesh_setup_params", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mesh_setup_params_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_txq_attr, + { "Attribute Type", "nl80211.txq_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_txq_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_ac, + { "Attribute Type", "nl80211.ac", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_ac_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_channel_type, + { "Attribute Value", "nl80211.channel_type", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_channel_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_key_mode, + { "Attribute Type", "nl80211.key_mode", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_key_mode_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_chan_width, + { "Attribute Value", "nl80211.chan_width", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_chan_width_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_bss_scan_width, + { "Attribute Value", "nl80211.bss_scan_width", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_bss_scan_width_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_bss, + { "Attribute Type", "nl80211.bss", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_bss_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_bss_status, + { "Attribute Value", "nl80211.bss_status", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_bss_status_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_auth_type, + { "Attribute Value", "nl80211.auth_type", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_auth_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_key_type, + { "Attribute Value", "nl80211.key_type", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_key_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_mfp, + { "Attribute Value", "nl80211.mfp", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_mfp_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_wpa_versions, + { "Attribute Type", "nl80211.wpa_versions", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_wpa_versions_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_key_default_types, + { "Attribute Type", "nl80211.key_default_types", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_key_default_types_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_key_attributes, + { "Attribute Type", "nl80211.key_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_key_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_tx_rate_attributes, + { "Attribute Type", "nl80211.tx_rate_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_tx_rate_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_txrate_gi, + { "Attribute Type", "nl80211.txrate_gi", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_txrate_gi_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_band, + { "Attribute Type", "nl80211.band", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_band_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_ps_state, + { "Attribute Value", "nl80211.ps_state", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_ps_state_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_attr_cqm, + { "Attribute Type", "nl80211.attr_cqm", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_attr_cqm_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_cqm_rssi_threshold_event, + { "Attribute Type", "nl80211.cqm_rssi_threshold_event", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_cqm_rssi_threshold_event_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_tx_power_setting, + { "Attribute Value", "nl80211.tx_power_setting", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_tx_power_setting_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_packet_pattern_attr, + { "Attribute Type", "nl80211.packet_pattern_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_packet_pattern_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_wowlan_triggers, + { "Attribute Type", "nl80211.wowlan_triggers", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_wowlan_triggers_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_wowlan_tcp_attrs, + { "Attribute Type", "nl80211.wowlan_tcp_attrs", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_wowlan_tcp_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_attr_coalesce_rule, + { "Attribute Type", "nl80211.attr_coalesce_rule", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_attr_coalesce_rule_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_coalesce_condition, + { "Attribute Type", "nl80211.coalesce_condition", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_coalesce_condition_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_iface_limit_attrs, + { "Attribute Type", "nl80211.iface_limit_attrs", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_iface_limit_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_if_combination_attrs, + { "Attribute Type", "nl80211.if_combination_attrs", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_if_combination_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_plink_state, + { "Attribute Value", "nl80211.plink_state", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_plink_state_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_plink_actions, + { "Attribute Value", "nl80211.plink_actions", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_plink_actions_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_rekey_data, + { "Attribute Type", "nl80211.rekey_data", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_rekey_data_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_hidden_ssid, + { "Attribute Type", "nl80211.hidden_ssid", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_hidden_ssid_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sta_wme_attr, + { "Attribute Type", "nl80211.sta_wme_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sta_wme_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_pmksa_candidate_attr, + { "Attribute Type", "nl80211.pmksa_candidate_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_pmksa_candidate_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_tdls_operation, + { "Attribute Value", "nl80211.tdls_operation", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_tdls_operation_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_feature_flags, + { "Attribute Type", "nl80211.feature_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_feature_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_ext_feature_index, + { "Attribute Type", "nl80211.ext_feature_index", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_ext_feature_index_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_probe_resp_offload_support_attr, + { "Attribute Type", "nl80211.probe_resp_offload_support_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_probe_resp_offload_support_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_connect_failed_reason, + { "Attribute Value", "nl80211.connect_failed_reason", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_connect_failed_reason_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_timeout_reason, + { "Attribute Value", "nl80211.timeout_reason", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_timeout_reason_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_scan_flags, + { "Attribute Type", "nl80211.scan_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_scan_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_acl_policy, + { "Attribute Value", "nl80211.acl_policy", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_acl_policy_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_smps_mode, + { "Attribute Value", "nl80211.smps_mode", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_smps_mode_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_radar_event, + { "Attribute Value", "nl80211.radar_event", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_radar_event_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_dfs_state, + { "Attribute Type", "nl80211.dfs_state", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_dfs_state_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_protocol_features, + { "Attribute Type", "nl80211.protocol_features", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_protocol_features_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_crit_proto_id, + { "Attribute Value", "nl80211.crit_proto_id", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_crit_proto_id_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_rxmgmt_flags, + { "Attribute Type", "nl80211.rxmgmt_flags", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_rxmgmt_flags_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_tdls_peer_capability, + { "Attribute Type", "nl80211.tdls_peer_capability", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_tdls_peer_capability_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_sched_scan_plan, + { "Attribute Type", "nl80211.sched_scan_plan", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_sched_scan_plan_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_bss_select_attr, + { "Attribute Type", "nl80211.bss_select_attr", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_bss_select_attr_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_function_type, + { "Attribute Type", "nl80211.nan_function_type", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_function_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_publish_type, + { "Attribute Type", "nl80211.nan_publish_type", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_publish_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_func_term_reason, + { "Attribute Type", "nl80211.nan_func_term_reason", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_func_term_reason_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_func_attributes, + { "Attribute Type", "nl80211.nan_func_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_func_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_srf_attributes, + { "Attribute Type", "nl80211.nan_srf_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_srf_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_nan_match_attributes, + { "Attribute Type", "nl80211.nan_match_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_nan_match_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_external_auth_action, + { "Attribute Value", "nl80211.external_auth_action", + FT_UINT32, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_external_auth_action_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_ftm_responder_attributes, + { "Attribute Type", "nl80211.ftm_responder_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_ftm_responder_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_ftm_responder_stats, + { "Attribute Type", "nl80211.ftm_responder_stats", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_ftm_responder_stats_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_preamble, + { "Attribute Type", "nl80211.preamble", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_preamble_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_type, + { "Attribute Type", "nl80211.peer_measurement_type", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_type_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_status, + { "Attribute Type", "nl80211.peer_measurement_status", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_status_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_req, + { "Attribute Type", "nl80211.peer_measurement_req", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_req_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_resp, + { "Attribute Type", "nl80211.peer_measurement_resp", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_resp_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_peer_attrs, + { "Attribute Type", "nl80211.peer_measurement_peer_attrs", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_peer_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_attrs, + { "Attribute Type", "nl80211.peer_measurement_attrs", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_attrs_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_ftm_capa, + { "Attribute Type", "nl80211.peer_measurement_ftm_capa", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_capa_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_ftm_req, + { "Attribute Type", "nl80211.peer_measurement_ftm_req", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_req_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_ftm_failure_reasons, + { "Attribute Type", "nl80211.peer_measurement_ftm_failure_reasons", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_failure_reasons_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_peer_measurement_ftm_resp, + { "Attribute Type", "nl80211.peer_measurement_ftm_resp", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_peer_measurement_ftm_resp_vals_ext), 0x00, + NULL, HFILL }, + }, + { &hf_nl80211_obss_pd_attributes, + { "Attribute Type", "nl80211.obss_pd_attributes", + FT_UINT16, BASE_DEC | BASE_EXT_STRING, + VALS_EXT_PTR(&ws_nl80211_obss_pd_attributes_vals_ext), 0x00, + NULL, HFILL }, + }, /* }}} */ }; -#endif static gint *ett[] = { &ett_nl80211, @@ -4363,12 +4852,10 @@ proto_register_netlink_nl80211(void) }; proto_netlink_nl80211 = proto_register_protocol("Linux 802.11 Netlink", "nl80211", "nl80211"); - hfi_netlink_nl80211 = proto_registrar_get_nth(proto_netlink_nl80211); - - proto_register_fields(proto_netlink_nl80211, hfi, array_length(hfi)); + proto_register_field_array(proto_netlink_nl80211, hf, array_length(hf)); proto_register_subtree_array(ett, array_length(ett)); - netlink_nl80211_handle = create_dissector_handle(dissect_netlink_nl80211, proto_netlink_nl80211); + netlink_nl80211_handle = register_dissector("nl80211", dissect_netlink_nl80211, proto_netlink_nl80211); ieee80211_handle = find_dissector_add_dependency("wlan", proto_netlink_nl80211); ieee80211_tag_dissector_table = find_dissector_table("wlan.tag.number"); } |