CAPWAP: Add a new Message Element Type (RFC5415)

* Delete Station (18)

Change-Id: I33afa96d183b8ff22725d2e00dcfeccea3fdfa04
Reviewed-on: https://code.wireshark.org/review/6508
Reviewed-by: Michael Mann <mmann78@netscape.net>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
This commit is contained in:
Alexis La Goutte 2015-01-12 17:13:28 +01:00 committed by Anders Broman
parent d9ec8abaf8
commit f6021e8d02

View file

@ -157,6 +157,12 @@ static int hf_capwap_msg_element_type_capwap_timers_echo_request = -1;
static int hf_capwap_msg_element_type_decryption_error_report_period_radio_id = -1;
static int hf_capwap_msg_element_type_decryption_error_report_period_interval = -1;
static int hf_capwap_msg_element_type_delete_station_radio_id = -1;
static int hf_capwap_msg_element_type_delete_station_length = -1;
static int hf_capwap_msg_element_type_delete_station_mac_eui48 = -1;
static int hf_capwap_msg_element_type_delete_station_mac_eui64 = -1;
static int hf_capwap_msg_element_type_delete_station_mac_data = -1;
static int hf_capwap_msg_element_type_discovery_type = -1;
static int hf_capwap_msg_element_type_location_data = -1;
@ -1344,6 +1350,31 @@ 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_decryption_error_report_period_interval, tvb, offset+5, 2, ENC_BIG_ENDIAN);
break;
case TYPE_DELETE_STATION:{ /* Delete Station (18) */
guint8 maclength;
if (optlen < 8) {
expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
"Delete Station length %u wrong, must be >= 8", optlen);
break;
}
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_delete_station_radio_id, tvb, offset + 4, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_delete_station_length, tvb, offset + 5, 1, ENC_BIG_ENDIAN);
maclength = tvb_get_guint8(tvb, offset+5);
switch(maclength){
case 6:
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_delete_station_mac_eui48, tvb, offset+6, maclength, ENC_NA);
break;
case 8:
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_delete_station_mac_eui64, tvb, offset+6, maclength, ENC_BIG_ENDIAN);
break;
default:
proto_tree_add_item(sub_msg_element_type_tree, hf_capwap_msg_element_type_delete_station_mac_data, tvb, offset+6, maclength, ENC_NA);
break;
}
}
break;
case TYPE_DISCOVERY_TYPE: /* Discovery Type (20) */
if (optlen != 1) {
expert_add_info_format(pinfo, ti_len, &ei_capwap_msg_element_length,
@ -2707,6 +2738,31 @@ proto_register_capwap_control(void)
FT_UINT16, BASE_DEC, NULL, 0x0,
NULL, HFILL }
},
{ &hf_capwap_msg_element_type_delete_station_radio_id,
{ "Radio ID", "capwap.control.message_element.delete_station.radio_id",
FT_UINT8, BASE_DEC, NULL, 0x0,
"Representing the radio, whose value is between one (1) and 31", HFILL }
},
{ &hf_capwap_msg_element_type_delete_station_length,
{ "Mac Length", "capwap.control.message_element.delete_station.length",
FT_UINT8, BASE_DEC, NULL, 0x0,
"The length of the MAC Address field", HFILL }
},
{ &hf_capwap_msg_element_type_delete_station_mac_eui48,
{ "MAC address", "capwap.control.message_element.delete_station.mac.eui48",
FT_ETHER, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},
{ &hf_capwap_msg_element_type_delete_station_mac_eui64,
{ "MAC address", "capwap.control.message_element.delete_station.mac.eui64",
FT_EUI64, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},
{ &hf_capwap_msg_element_type_delete_station_mac_data,
{ "MAC address", "capwap.control.message_element.delete_station.mac.data",
FT_BYTES, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},
{ &hf_capwap_msg_element_type_ac_name,
{ "AC Name", "capwap.control.message_element.ac_name",
FT_STRING, BASE_NONE, NULL, 0x0,