aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-ieee80211.c
diff options
context:
space:
mode:
authorAlexis La Goutte <alexis.lagoutte@gmail.com>2016-02-04 07:47:21 +0100
committerAnders Broman <a.broman58@gmail.com>2016-02-09 05:14:07 +0000
commit177b63125be8ee69adfedc6a0dc56b20804f8c92 (patch)
tree7b2d98f48f12b1901ca40f6fa8669fd968e12005 /epan/dissectors/packet-ieee80211.c
parent559cbb16c881ec840a16490a86ebda1e83601eb1 (diff)
ieee80211: Add Overlapping BSS Scan (OBSS) IE Parameters (74)
Change-Id: I0a4ba886d8968e40fb1050d51df22670da350ced Reviewed-on: https://code.wireshark.org/review/13723 Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com> Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-ieee80211.c')
-rw-r--r--epan/dissectors/packet-ieee80211.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/epan/dissectors/packet-ieee80211.c b/epan/dissectors/packet-ieee80211.c
index deca2f1127..24945bb0e6 100644
--- a/epan/dissectors/packet-ieee80211.c
+++ b/epan/dissectors/packet-ieee80211.c
@@ -4212,6 +4212,16 @@ static int hf_ieee80211_tag_mmie_keyid = -1;
static int hf_ieee80211_tag_mmie_ipn = -1;
static int hf_ieee80211_tag_mmie_mic = -1;
+/* IEEE Std 802.11-2012: 8.4.2.61 */
+static int hf_ieee80211_tag_obss_spd = -1;
+static int hf_ieee80211_tag_obss_sad = -1;
+static int hf_ieee80211_tag_obss_cwtsi = -1;
+static int hf_ieee80211_tag_obss_sptpc = -1;
+static int hf_ieee80211_tag_obss_satpc = -1;
+static int hf_ieee80211_tag_obss_wctdf = -1;
+static int hf_ieee80211_tag_obss_sat = -1;
+
+
/*WAPI-Specification 7.3.2.25 : WAPI Parameter Set*/
static int hf_ieee80211_tag_wapi_param_set_version = -1;
@@ -11566,6 +11576,41 @@ dissect_ric_data(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset
}
static int
+dissect_overlap_bss_scan_par(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset,
+ guint32 tag_len, proto_item *ti _U_, proto_item *ti_len)
+{
+
+ if (tag_len != 14) {
+ expert_add_info_format(pinfo, ti_len, &ei_ieee80211_tag_length,
+ "OBSS Length must be 14 bytes");
+ return 0;
+ }
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_spd, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_sad, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_cwtsi, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_sptpc, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_satpc, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_wctdf, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ proto_tree_add_item(tree, hf_ieee80211_tag_obss_sat, tvb, offset, 2, ENC_LITTLE_ENDIAN);
+ offset += 2;
+
+ return offset;
+}
+
+static int
dissect_ric_descriptor(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset,
guint32 tag_len, proto_item *ti, proto_item *ti_len)
{
@@ -11601,6 +11646,7 @@ dissect_ric_descriptor(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int
/* 0,2-255 are reserved*/
proto_item_append_text(ti, " :Reserved (type != 1)");
}
+
return offset;
}
@@ -15249,6 +15295,10 @@ add_tagged_field(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset
dissect_rm_enabled_capabilities_ie(pinfo, tree, ti, ti_len, tag_len, tvb, offset+2, tag_end);
break;
+ case TAG_OVERLAP_BSS_SCAN_PAR: /* Overlapping BSS Scan Parameters (74) */
+ dissect_overlap_bss_scan_par(pinfo, tree, tvb, offset + 2, tag_len, ti, ti_len);
+ break;
+
case TAG_RIC_DESCRIPTOR: /* RIC Descriptor (75) */
dissect_ric_descriptor(pinfo, tree, tvb, offset + 2, tag_len, ti, ti_len);
break;
@@ -26321,6 +26371,35 @@ proto_register_ieee80211 (void)
FT_UINT16, BASE_HEX|BASE_EXT_STRING, &ieee80211_status_code_ext, 0,
"Status of requested Resource", HFILL }},
+ /* OBSS IE: 802.11-2012: 8.4.2.61 */
+ {&hf_ieee80211_tag_obss_spd,
+ {"Scan Passive Dwell", "wlan_mgt.obss.spd",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_sad,
+ {"Scan Active Dwell", "wlan_mgt.obss.sad",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_cwtsi,
+ {"Channel Width Trigger Scan Interval", "wlan_mgt.obss.cwtsi",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_sptpc,
+ {"Scan Passive Total Per Channel", "wlan_mgt.obss.sptpc",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_satpc,
+ {"Scan Active Total Per Channel", "wlan_mgt.obss.satpc",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_wctdf,
+ {"Width Channel Transition Delay Factor", "wlan_mgt.obss.wctdf",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
+ {&hf_ieee80211_tag_obss_sat,
+ {"Scan Activity Threshold", "wlan_mgt.obss.sat",
+ FT_UINT16, BASE_DEC, NULL, 0, NULL, HFILL }},
+
/* RIC Descriptor IE: 802.11-2012: 8.4.2.53 */
{&hf_ieee80211_tag_ric_desc_rsrc_type,
{"Resource Type", "wlan_mgt.ric_desc.rsrc_type",