aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-capwap.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2015-01-12 18:14:00 +0100
committerAnders Broman <a.broman58@gmail.com>2015-01-15 05:43:38 +0000
commitcb1f8a3d2b6dbe21e01a80cb53e3cb1c449a3659 (patch)
treef921a1c7909d22a6eaa9035d581a0d3a1e47e82b /epan/dissectors/packet-capwap.c
parentf6021e8d022b08ce4a58524545f6310106130a12 (diff)
CAPWAP: Add some IEE802.11 Message Element Type (RFC5416)
* IEEE 802.11 OFDM Control (1033) * IEEE 802.11 Update WLAN (1044) Change-Id: I702de1d649b1dc2af1de83ee21152c6a18f42dfc Reviewed-on: https://code.wireshark.org/review/6509 Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-capwap.c')
-rw-r--r--epan/dissectors/packet-capwap.c291
1 files changed, 288 insertions, 3 deletions
diff --git a/epan/dissectors/packet-capwap.c b/epan/dissectors/packet-capwap.c
index 7d2aac2e6f..481305114d 100644
--- a/epan/dissectors/packet-capwap.c
+++ b/epan/dissectors/packet-capwap.c
@@ -308,6 +308,20 @@ static int hf_capwap_msg_element_type_ieee80211_mic_countermeasures_radio_id = -
static int hf_capwap_msg_element_type_ieee80211_mic_countermeasures_wlan_id = -1;
static int hf_capwap_msg_element_type_ieee80211_mic_countermeasures_mac_address = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_radio_id = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_reserved = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_current_channel = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit0 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit1 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit2 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit3 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit4 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit5 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit6 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit7 = -1;
+static int hf_capwap_msg_element_type_ieee80211_ofdm_control_ti_threshold = -1;
+
static int hf_capwap_msg_element_type_ieee80211_multi_domain_capability_radio_id = -1;
static int hf_capwap_msg_element_type_ieee80211_multi_domain_capability_reserved = -1;
static int hf_capwap_msg_element_type_ieee80211_multi_domain_capability_first_channel = -1;
@@ -360,6 +374,30 @@ static int hf_capwap_msg_element_type_ieee80211_tx_power_level_radio_id = -1;
static int hf_capwap_msg_element_type_ieee80211_tx_power_level_num_levels = -1;
static int hf_capwap_msg_element_type_ieee80211_tx_power_level_power_level = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_radio_id = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_wlan_id = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_e = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_i = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_c = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_f = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_p = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_s = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_b = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_a = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_m = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_q = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_t = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_d = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_v = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_o = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_k = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_capability_l = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_key_index = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_key_status = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_key_length = -1;
+static int hf_capwap_msg_element_type_ieee80211_update_wlan_key = -1;
+
static int hf_capwap_msg_element_type_ieee80211_wtp_radio_cfg_radio_id = -1;
static int hf_capwap_msg_element_type_ieee80211_wtp_radio_cfg_short_preamble = -1;
static int hf_capwap_msg_element_type_ieee80211_wtp_radio_cfg_num_of_bssids = -1;
@@ -416,7 +454,9 @@ static gint ett_capwap_ac_descriptor_security_flags = -1;
static gint ett_capwap_ac_descriptor_dtls_flags = -1;
static gint ett_capwap_wtp_frame_tunnel_mode = -1;
static gint ett_capwap_ieee80211_add_wlan_capability = -1;
+static gint ett_capwap_ieee80211_update_wlan_capability = -1;
static gint ett_capwap_ieee80211_station_capabilities = -1;
+static gint ett_capwap_ieee80211_ofdm_control_band_support = -1;
static gint ett_msg_fragment = -1;
static gint ett_msg_fragments = -1;
@@ -426,6 +466,18 @@ static expert_field ei_capwap_data_keep_alive_length = EI_INIT;
static expert_field ei_capwap_msg_element_length = EI_INIT;
static expert_field ei_capwap_message_element_type = EI_INIT;
+static const int * ieee80211_ofdm_control_band_support_flags[] = {
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit0,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit1,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit2,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit3,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit4,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit5,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit6,
+ &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit7,
+ NULL
+};
+
/* ************************************************************************* */
/* Fragment items */
/* ************************************************************************* */
@@ -886,9 +938,9 @@ static const value_string ecn_support_vals[] = {
};
/* ************************************************************************* */
-/* Add WLAN : Key Status */
+/* Add/Update WLAN : Key Status */
/* ************************************************************************* */
-static const value_string ieee80211_add_wlan_key_status_vals[] = {
+static const value_string ieee80211_wlan_key_status_vals[] = {
{ 0, "SN Information Element means that the WLAN uses per-station encryption keys" },
{ 1, "static WEP Key" },
{ 2, "Rekeying the GTK with the STA's in the BSS" },
@@ -1756,6 +1808,20 @@ dissect_capwap_message_element_type(tvbuff_t *tvb, proto_tree *msg_element_type_
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_multi_domain_capability_max_tx_power_level, tvb, offset+10, 2, ENC_BIG_ENDIAN);
break;
+ case IEEE80211_OFDM_CONTROL: /* ieee80211 OFDM Control (1033) */
+ if (optlen != 8) {
+ expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
+ "IEEE80211 OFDM Control length %u wrong, must be = 8", optlen);
+ break;
+ }
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_ofdm_control_radio_id, tvb, offset+4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_ofdm_control_reserved, tvb, offset+5, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_ofdm_control_current_channel, tvb, offset+6, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_bitmask_with_flags(sub_msg_element_type_tree, tvb, offset+7, hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support, ett_capwap_ieee80211_ofdm_control_band_support, ieee80211_ofdm_control_band_support_flags, ENC_BIG_ENDIAN, BMT_NO_APPEND);
+
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_ofdm_control_ti_threshold, tvb, offset+8, 4, ENC_BIG_ENDIAN);
+ break;
+
case IEEE80211_RATE_SET: /* ieee80211 Rate Set (1034) */
if (optlen < 3) {
expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
@@ -1875,6 +1941,41 @@ dissect_capwap_message_element_type(tvbuff_t *tvb, proto_tree *msg_element_type_
}
break;
+ case IEEE80211_UPDATE_WLAN:{ /* ieee80211 Update WLAN (1044) */
+ guint16 key_length;
+ if (optlen < 8) {
+ expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
+ "IEEE80211 Update Wlan length %u wrong, must be >= 8", optlen);
+ break;
+ }
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_radio_id, tvb, offset+4, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_wlan_id, tvb, offset+5, 1, ENC_BIG_ENDIAN);
+ msg_element_type_item_flag = proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ sub_msg_element_type_flag_tree = proto_item_add_subtree(msg_element_type_item_flag, ett_capwap_ieee80211_update_wlan_capability);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_e, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_i, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_c, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_f, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_p, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_s, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_b, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_a, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_m, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_q, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_t, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_d, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_v, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_o, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_k, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_flag_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_capability_l, tvb, offset+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_key_index, tvb, offset+8, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_key_status, tvb, offset+9, 1, ENC_BIG_ENDIAN);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_key_length, tvb, offset+10, 2, ENC_BIG_ENDIAN);
+ key_length = tvb_get_ntohs(tvb, offset+10);
+ proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_ieee80211_update_wlan_key, tvb, offset+12, key_length, ENC_NA);
+ }
+ break;
+
case IEEE80211_WTP_RADIO_CONFIGURATION: /* ieee80211 WTP Radio Configuration (1046) */
if (optlen != 16) {
expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
@@ -3240,7 +3341,7 @@ proto_register_capwap_control(void)
},
{ &hf_capwap_msg_element_type_ieee80211_add_wlan_key_status,
{ "Key Status", "capwap.control.message_element.ieee80211_add_wlan.key_status",
- FT_UINT8, BASE_DEC, VALS(ieee80211_add_wlan_key_status_vals), 0x0,
+ FT_UINT8, BASE_DEC, VALS(ieee80211_wlan_key_status_vals), 0x0,
NULL, HFILL }
},
{ &hf_capwap_msg_element_type_ieee80211_add_wlan_key_length,
@@ -3443,6 +3544,73 @@ proto_register_capwap_control(void)
FT_UINT16, BASE_DEC, NULL, 0x0,
NULL, HFILL }
},
+
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_radio_id,
+ { "Radio ID", "capwap.control.message_element.ieee80211_ofdm_control.radio_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_reserved,
+ { "Reserved", "capwap.control.message_element.ieee80211_ofdm_control.reserved",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_current_channel,
+ { "Current Channel", "capwap.control.message_element.ieee80211_ofdm_control.current_channel",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support,
+ { "Band Support", "capwap.control.message_element.ieee80211_ofdm_control.band_support",
+ FT_UINT8, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit0,
+ { "Operating in the 5.15-5.25 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit0",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x01,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit1,
+ { "Operating in the 5.25-5.35 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit1",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x02,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit2,
+ { "Operating in the 5.725-5.825 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit2",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x04,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit3,
+ { "Operating in the 5.47-5.725 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit3",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x08,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit4,
+ { "Operating in the lower Japanese 5.25 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit4",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x10,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit5,
+ { "Operating in the l5.03-5.091 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit5",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x20,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit6,
+ { "Operating in the l5.03-5.091 GHz band", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit5",
+ FT_BOOLEAN, 8, TFS(&tfs_yes_no), 0x40,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_band_support_bit7,
+ { "Reserved", "capwap.control.message_element.ieee80211_ofdm_control.band_support.bit7",
+ FT_UINT8, BASE_HEX, NULL, 0x80,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_ofdm_control_ti_threshold,
+ { "TI Threshold", "capwap.control.message_element.ieee80211_mofdm_control.ti_threshold",
+ FT_UINT32, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+
{ &hf_capwap_msg_element_type_ieee80211_rate_set_radio_id,
{ "Radio ID", "capwap.control.message_element.ieee80211_rate_set.radio_id",
FT_UINT8, BASE_DEC, NULL, 0x0,
@@ -3643,6 +3811,121 @@ proto_register_capwap_control(void)
FT_UINT16, BASE_DEC, NULL, 0x0,
NULL, HFILL }
},
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_radio_id,
+ { "Radio ID", "capwap.control.message_element.ieee80211_update_wlan.radio_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_wlan_id,
+ { "WLAN ID", "capwap.control.message_element.ieee80211_update_wlan.wlan_id",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability,
+ { "Capability", "capwap.control.message_element.ieee80211_update_wlan.capability",
+ FT_UINT16, BASE_HEX, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_e,
+ { "ESS", "capwap.control.message_element.ieee80211_update_wlan.capability.e",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x8000,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_i,
+ { "IBSS", "capwap.control.message_element.ieee80211_update_wlan.capability.i",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x4000,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_c,
+ { "CF-Pollable", "capwap.control.message_element.ieee80211_update_wlan.capability.c",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x2000,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_f,
+ { "CF-Poll Request", "capwap.control.message_element.ieee80211_update_wlan.capability.f",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x1000,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_p,
+ { "Privacy", "capwap.control.message_element.ieee80211_update_wlan.capability.p",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0800,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_s,
+ { "Short Preamble", "capwap.control.message_element.ieee80211_update_wlan.capability.s",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0400,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_b,
+ { "PBCC", "capwap.control.message_element.ieee80211_update_wlan.capability.b",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0200,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_a,
+ { "Channek Agility", "capwap.control.message_element.ieee80211_update_wlan.capability.a",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0100,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_m,
+ { "Spectrum Management", "capwap.control.message_element.ieee80211_update_wlan.capability.m",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0080,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_q,
+ { "QoS", "capwap.control.message_element.ieee80211_update_wlan.capability.q",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0040,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_t,
+ { "Short Slot Time", "capwap.control.message_element.ieee80211_update_wlan.capability.t",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0020,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_d,
+ { "APSD", "capwap.control.message_element.ieee80211_update_wlan.capability.d",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0010,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_v,
+ { "Reserved", "capwap.control.message_element.ieee80211_update_wlan.capability.v",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0008,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_o,
+ { "DSSS-OFDM", "capwap.control.message_element.ieee80211_update_wlan.capability.o",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0004,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_k,
+ { "Delayed Block ACK", "capwap.control.message_element.ieee80211_update_wlan.capability.k",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0002,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_capability_l,
+ { "Immediate Block ACK", "capwap.control.message_element.ieee80211_update_wlan.capability.l",
+ FT_BOOLEAN, 16, TFS(&tfs_yes_no), 0x0001,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_key_index,
+ { "Key-Index", "capwap.control.message_element.ieee80211_update_wlan.key_index",
+ FT_UINT8, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_key_status,
+ { "Key Status", "capwap.control.message_element.ieee80211_update_wlan.key_status",
+ FT_UINT8, BASE_DEC, VALS(ieee80211_wlan_key_status_vals), 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_key_length,
+ { "Key Length", "capwap.control.message_element.ieee80211_update_wlan.key_length",
+ FT_UINT16, BASE_DEC, NULL, 0x0,
+ NULL, HFILL }
+ },
+ { &hf_capwap_msg_element_type_ieee80211_update_wlan_key,
+ { "Key", "capwap.control.message_element.ieee80211_update_wlan.key",
+ FT_BYTES, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
{ &hf_capwap_msg_element_type_ieee80211_wtp_radio_cfg_radio_id,
{ "Radio ID", "capwap.control.message_element.ieee80211_wtp_radio_info.cfg_id",
FT_UINT8, BASE_DEC, NULL, 0x0,
@@ -3797,7 +4080,9 @@ proto_register_capwap_control(void)
&ett_capwap_ac_descriptor_dtls_flags,
&ett_capwap_wtp_frame_tunnel_mode,
&ett_capwap_ieee80211_add_wlan_capability,
+ &ett_capwap_ieee80211_update_wlan_capability,
&ett_capwap_ieee80211_station_capabilities,
+ &ett_capwap_ieee80211_ofdm_control_band_support,
&ett_msg_fragment,
&ett_msg_fragments
};