diff options
author | Robert Sauter <sauter@locoslab.com> | 2018-02-25 09:38:16 +0100 |
---|---|---|
committer | Stig Bjørlykke <stig@bjorlykke.org> | 2018-02-27 13:17:56 +0000 |
commit | b0328ae52e95fb0eae14e11c7b13d3591836db60 (patch) | |
tree | bc05ed88000a71ab94efca48272f908733b68564 | |
parent | 4314ac72c1ecfee5b39d5d9af12711dd39ee4ab3 (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.c | 28 |
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 } }, |