ieee80211: Add dissector for Ruckus vendor specific IE
Dissector supports only type 3: AP Name.
This commit is contained in:
parent
220b5af9d4
commit
4975dbc867
|
@ -6091,6 +6091,9 @@ static int hf_ieee80211_vs_aerohive_data = -1;
|
|||
static int hf_ieee80211_vs_mist_ap_name = -1;
|
||||
static int hf_ieee80211_vs_mist_data = -1;
|
||||
|
||||
static int hf_ieee80211_vs_ruckus_ap_name = -1;
|
||||
static int hf_ieee80211_vs_ruckus_data = -1;
|
||||
|
||||
static int hf_ieee80211_rsn_ie_ptk_keyid = -1;
|
||||
|
||||
static int hf_ieee80211_rsn_ie_gtk_keyid = -1;
|
||||
|
@ -17722,6 +17725,39 @@ dissect_vendor_ie_mist(proto_item *item _U_, proto_tree *ietree,
|
|||
}
|
||||
}
|
||||
|
||||
#define RUCKUS_APNAME 3
|
||||
static const value_string ieee80211_vs_ruckus_type_vals[] = {
|
||||
{ RUCKUS_APNAME, "AP Name"},
|
||||
{ 0, NULL }
|
||||
};
|
||||
static void
|
||||
dissect_vendor_ie_ruckus(proto_item *item _U_, proto_tree *ietree,
|
||||
tvbuff_t *tvb, int offset, guint32 tag_len)
|
||||
{
|
||||
guint32 type, length;
|
||||
const guint8* apname;
|
||||
|
||||
/* VS OUI Type */
|
||||
type = tvb_get_guint8(tvb, offset);
|
||||
offset += 1;
|
||||
tag_len -= 1;
|
||||
|
||||
switch(type){
|
||||
case RUCKUS_APNAME:
|
||||
|
||||
proto_item_append_text(item, ": %s", val_to_str_const(type, ieee80211_vs_ruckus_type_vals, "Unknown"));
|
||||
|
||||
length = tag_len;
|
||||
proto_tree_add_item_ret_string(ietree, hf_ieee80211_vs_ruckus_ap_name, tvb, offset, length, ENC_ASCII|ENC_NA, wmem_packet_scope(), &apname);
|
||||
proto_item_append_text(item, " (%s)", apname);
|
||||
|
||||
break;
|
||||
|
||||
default:
|
||||
proto_tree_add_item(ietree, hf_ieee80211_vs_ruckus_data, tvb, offset, tag_len, ENC_NA);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
enum vs_sgdsn_type {
|
||||
SGDSN_VERSION = 0x01,
|
||||
|
@ -27019,6 +27055,9 @@ ieee80211_tag_vendor_specific_ie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *
|
|||
case OUI_MIST:
|
||||
dissect_vendor_ie_mist(field_data->item_tag, tree, tvb, offset, tag_vs_len);
|
||||
break;
|
||||
case OUI_RUCKUS:
|
||||
dissect_vendor_ie_ruckus(field_data->item_tag, tree, tvb, offset, tag_vs_len);
|
||||
break;
|
||||
case OUI_SGDSN:
|
||||
dissect_vendor_ie_sgdsn(field_data->item_tag, tree, tvb, offset, tag_vs_len, pinfo);
|
||||
break;
|
||||
|
@ -46788,6 +46827,17 @@ proto_register_ieee80211(void)
|
|||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
|
||||
/* Vendor Specific : Ruckus */
|
||||
{&hf_ieee80211_vs_ruckus_ap_name,
|
||||
{"AP Name", "wlan.vs.ruckus.apname",
|
||||
FT_STRING, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{&hf_ieee80211_vs_ruckus_data,
|
||||
{"Data", "wlan.vs.ruckus.data",
|
||||
FT_BYTES, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
|
||||
{&hf_ieee80211_tsinfo,
|
||||
{"Traffic Stream (TS) Info", "wlan.ts_info",
|
||||
FT_UINT24, BASE_HEX, NULL, 0,
|
||||
|
|
|
@ -82,6 +82,7 @@
|
|||
#define OUI_ZIGBEE 0x4A191B /* ZigBee Alliance */
|
||||
#define OUI_WFA 0x506F9A /* Wi-Fi Alliance */
|
||||
#define OUI_MIST 0x5C5B35 /* Mist Systems */
|
||||
#define OUI_RUCKUS 0x001392 /* Ruckus Networks */
|
||||
#define OUI_SMPTE 0x6897E8 /* Society of Motion Picture and Television Engineers */
|
||||
#define OUI_SGDSN 0x6A5C35 /* Secrétariat Général de la Défense et de la Sécurité Nationale http://www.sgdsn.gouv.fr */
|
||||
#define OUI_ONOS 0xA42305 /* Open Networking Laboratory (ONOS) */
|
||||
|
|
Loading…
Reference in New Issue