aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Sauter <sauter@locoslab.com>2018-02-25 09:38:16 +0100
committerStig Bjørlykke <stig@bjorlykke.org>2018-02-27 13:17:56 +0000
commitb0328ae52e95fb0eae14e11c7b13d3591836db60 (patch)
treebc05ed88000a71ab94efca48272f908733b68564
parent4314ac72c1ecfee5b39d5d9af12711dd39ee4ab3 (diff)
wisun: extend EDFE display; fix Authenticator EUI-64 field name
Change-Id: Ia0ef5d4f982a39c8addf5208481378f50d0f8bcf Reviewed-on: https://code.wireshark.org/review/26094 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot Reviewed-by: Stig Bjørlykke <stig@bjorlykke.org>
-rw-r--r--epan/dissectors/packet-wisun.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/epan/dissectors/packet-wisun.c b/epan/dissectors/packet-wisun.c
index 3d7ab5d3c6..58ca17edf4 100644
--- a/epan/dissectors/packet-wisun.c
+++ b/epan/dissectors/packet-wisun.c
@@ -90,6 +90,8 @@ static int hf_wisun_btie_bfio = -1;
static int hf_wisun_fcie = -1;
static int hf_wisun_fcie_tx = -1;
static int hf_wisun_fcie_rx = -1;
+static int hf_wisun_fcie_src = -1;
+static int hf_wisun_fcie_initial_frame = -1;
static int hf_wisun_rslie = -1;
static int hf_wisun_rslie_rsl = -1;
static int hf_wisun_vhie = -1;
@@ -360,11 +362,15 @@ dissect_wisun_fcie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint of
// first packet has source address
if (!hints->map_rec && packet->src_addr_mode == IEEE802154_FCF_ADDR_EXT) {
edfe_exchange_t* ex = wmem_new(wmem_file_scope(), edfe_exchange_t);
- ex->initiator.proto = ex->target.proto = "Wi-SUN";
- ex->initiator.addr64 = packet->src64;
- ex->target.addr64 = packet->dst64;
+ ex->initiator.proto = "Wi-SUN";
+ ex->target.proto = "Wi-SUN";
ex->initiator.start_fnum = pinfo->num;
+ ex->target.start_fnum = pinfo->num;
ex->initiator.end_fnum = ~(guint)0;
+ ex->target.end_fnum = ~(guint)0;
+
+ ex->initiator.addr64 = packet->src64;
+ ex->target.addr64 = packet->dst64;
edfe_insert_exchange(&ex->initiator.addr64, ex);
edfe_insert_exchange(&ex->target.addr64, ex);
} else if (packet->src_addr_mode == IEEE802154_FCF_ADDR_NONE) {
@@ -389,6 +395,10 @@ dissect_wisun_fcie(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, guint of
*p_addr = pntoh64(&(hints->map_rec->addr64));
set_address(&pinfo->dl_src, AT_EUI64, 8, p_addr);
copy_address_shallow(&pinfo->src, &pinfo->dl_src);
+ proto_item* src = proto_tree_add_eui64(tree, hf_wisun_fcie_src, tvb, 0, 0, hints->map_rec->addr64);
+ PROTO_ITEM_SET_GENERATED(src);
+ proto_item* frm = proto_tree_add_uint(tree, hf_wisun_fcie_initial_frame, tvb, 0, 0, hints->map_rec->start_fnum);
+ PROTO_ITEM_SET_GENERATED(frm);
} else {
expert_add_info(pinfo, tree, &ei_wisun_edfe_start_not_found);
}
@@ -914,6 +924,16 @@ void proto_register_wisun(void)
NULL, HFILL }
},
+ { &hf_wisun_fcie_src,
+ { "Source Address", "wisun.fcie.src", FT_EUI64, BASE_NONE, NULL, 0x0,
+ NULL, HFILL }
+ },
+
+ { &hf_wisun_fcie_initial_frame,
+ { "Initial Frame", "wisun.fcie.initial_frame", FT_FRAMENUM, BASE_NONE, FRAMENUM_TYPE(FT_FRAMENUM_REQUEST), 0x0,
+ NULL, HFILL }
+ },
+
{ &hf_wisun_rslie,
{ "Received Signal Level IE", "wisun.rslie", FT_NONE, BASE_NONE, NULL, 0x0,
NULL, HFILL }
@@ -940,7 +960,7 @@ void proto_register_wisun(void)
},
{ &hf_wisun_eaie_eui,
- { "Vendor ID", "wisun.eaie.eui", FT_EUI64, BASE_NONE, NULL, 0x0,
+ { "Authenticator EUI-64", "wisun.eaie.eui", FT_EUI64, BASE_NONE, NULL, 0x0,
NULL, HFILL }
},