Add dissection of Aruba Networks Vendor Specific stuff. With ArubaOS 6.2, there is a option to add AP Name in Beacon frame.

svn path=/trunk/; revision=48963
This commit is contained in:
Alexis La Goutte 2013-04-22 12:31:04 +00:00
parent b18ab24f49
commit 049399b2fa
2 changed files with 62 additions and 0 deletions

View File

@ -3792,6 +3792,10 @@ static int hf_ieee80211_aironet_ie_qos_reserved = -1;
static int hf_ieee80211_aironet_ie_qos_paramset = -1;
static int hf_ieee80211_aironet_ie_qos_val = -1;
static int hf_ieee80211_vs_aruba_subtype = -1;
static int hf_ieee80211_vs_aruba_apname = -1;
static int hf_ieee80211_vs_aruba_data = -1;
static int hf_ieee80211_rsn_ie_pmkid = -1;
static int hf_ieee80211_rsn_ie_unknown = -1;
@ -7838,6 +7842,44 @@ dissect_vendor_ie_aironet(proto_item *aironet_item, proto_tree *ietree,
}
}
#define ARUBA_APNAME 3
static const value_string ieee80211_vs_aruba_subtype_vals[] = {
{ ARUBA_APNAME, "AP Name"},
{ 0, NULL }
};
static void
dissect_vendor_ie_aruba(proto_item *item, proto_tree *ietree,
tvbuff_t *tvb, int offset, guint32 tag_len)
{
guint8 type;
offset += 1; /* VS OUI Type */
tag_len -= 1;
type = tvb_get_guint8(tvb, offset);
proto_tree_add_item (ietree, hf_ieee80211_vs_aruba_subtype, tvb, offset, 1, ENC_NA);
proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_aruba_subtype_vals, "Unknown"));
offset += 1;
tag_len -= 1;
switch (type) {
case ARUBA_APNAME:
offset += 1;
tag_len -= 1;
proto_tree_add_item (ietree, hf_ieee80211_vs_aruba_apname, tvb,
offset, tag_len, ENC_ASCII|ENC_NA);
proto_item_append_text(item, " (%s)", tvb_get_ephemeral_string(tvb, offset, tag_len));
break;
default:
proto_tree_add_item(ietree, hf_ieee80211_vs_aruba_data, tvb, offset,
tag_len, ENC_NA);
proto_item_append_text(item, " (Data: %s)", tvb_bytes_to_str(tvb, offset, tag_len));
break;
}
}
/* 802.11e 7.3.2.33 QoS Capability element */
static int
dissect_qos_capability(proto_tree *tree, tvbuff_t *tvb, int offset, int ftype)
@ -11342,6 +11384,9 @@ add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset
case OUI_ATHEROS:
dissect_vendor_ie_atheros(ti, tree, tvb, offset, tag_vs_len, pinfo, ti_len);
break;
case OUI_ARUBA:
dissect_vendor_ie_aruba(ti, tree, tvb, offset, tag_vs_len);
break;
default:
proto_tree_add_item(tree, hf_ieee80211_tag_vendor_data, tvb, offset, tag_vs_len, ENC_NA);
break;
@ -18616,6 +18661,22 @@ proto_register_ieee80211 (void)
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
/* Vendor Specific : Aruba Networks */
{&hf_ieee80211_vs_aruba_subtype,
{"Subtype", "wlan_mgt.vs.aruba.subtype",
FT_UINT8, BASE_DEC, VALS(ieee80211_vs_aruba_subtype_vals), 0,
NULL, HFILL }},
{&hf_ieee80211_vs_aruba_apname,
{"AP Name", "wlan_mgt.vs.aruba.ap_name",
FT_STRINGZ, BASE_NONE, NULL, 0,
NULL, HFILL }},
{&hf_ieee80211_vs_aruba_data,
{"Data", "wlan_mgt.vs.aruba.data",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
{&hf_ieee80211_tsinfo,
{"Traffic Stream (TS) Info", "wlan_mgt.ts_info",
FT_UINT24, BASE_HEX, NULL, 0,

View File

@ -79,6 +79,7 @@
#define OUI_HP_2 0x00805F /* Hewlett-Packard */
#define OUI_WFA 0x506F9A /* Wi-Fi Alliance */
#define OUI_3GPP2 0xCF0002 /* 3GPP2 */
#define OUI_ARUBA 0x000b86 /* Aruba Networks */
#define OUI_WPAWME 0x0050F2 /* Wi-Fi : WPA / WME */
#define OUI_RSN 0x000FAC /* Wi-Fi : RSN */