diff options
author | Kenneth Soerensen <knnthsrnsn@gmail.com> | 2019-07-17 20:55:22 +0200 |
---|---|---|
committer | Peter Wu <peter@lekensteyn.nl> | 2019-07-18 01:58:42 +0000 |
commit | 85e32bdbe71e786d6caad542180e8eff8f053212 (patch) | |
tree | 51640388d9c24311d30837cb7010bb89bf6cea97 | |
parent | 3f45a2383d59b44152aca20fd2a7a0555d2d3413 (diff) |
ZigBee: Add Address fields
Change-Id: I8b2f2b682f46b85230649e852f3fa70af6d237ef
Reviewed-on: https://code.wireshark.org/review/33992
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
-rw-r--r-- | epan/dissectors/packet-zbee-nwk.c | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/epan/dissectors/packet-zbee-nwk.c b/epan/dissectors/packet-zbee-nwk.c index 5fd294dc5d..4a7166b1b1 100644 --- a/epan/dissectors/packet-zbee-nwk.c +++ b/epan/dissectors/packet-zbee-nwk.c @@ -82,6 +82,7 @@ static int hf_zbee_nwk_ext_src = -1; static int hf_zbee_nwk_end_device_initiator = -1; static int hf_zbee_nwk_dst = -1; static int hf_zbee_nwk_src = -1; +static int hf_zbee_nwk_addr = -1; static int hf_zbee_nwk_radius = -1; static int hf_zbee_nwk_seqno = -1; static int hf_zbee_nwk_mcast = -1; @@ -90,6 +91,7 @@ static int hf_zbee_nwk_mcast_radius = -1; static int hf_zbee_nwk_mcast_max_radius = -1; static int hf_zbee_nwk_dst64 = -1; static int hf_zbee_nwk_src64 = -1; +static int hf_zbee_nwk_addr64 = -1; static int hf_zbee_nwk_src64_origin = -1; static int hf_zbee_nwk_relay_count = -1; static int hf_zbee_nwk_relay_index = -1; @@ -522,7 +524,9 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void /* Get the destination address. */ packet.dst = tvb_get_letohs(tvb, offset); proto_tree_add_uint(nwk_tree, hf_zbee_nwk_dst, tvb, offset, 2, packet.dst); - + ti = proto_tree_add_uint(nwk_tree, hf_zbee_nwk_addr, tvb, offset, 2, packet.dst); + proto_item_set_generated(ti); + proto_item_set_hidden(ti); offset += 2; /* Display the destination address. */ @@ -547,6 +551,9 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void if (nwk_hints) nwk_hints->src = packet.src; proto_tree_add_uint(nwk_tree, hf_zbee_nwk_src, tvb, offset, 2, packet.src); + ti = proto_tree_add_uint(nwk_tree, hf_zbee_nwk_addr, tvb, offset, 2, packet.src); + proto_item_set_generated(ti); + proto_item_set_hidden(ti); offset += 2; /* Display the source address. */ @@ -582,6 +589,9 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void if ((packet.version >= ZBEE_VERSION_2007) && packet.ext_dst) { packet.dst64 = tvb_get_letoh64(tvb, offset); proto_tree_add_item(nwk_tree, hf_zbee_nwk_dst64, tvb, offset, 8, ENC_LITTLE_ENDIAN); + ti = proto_tree_add_eui64(nwk_tree, hf_zbee_nwk_addr64, tvb, offset, 8, packet.dst64); + proto_item_set_generated(ti); + proto_item_set_hidden(ti); offset += 8; } @@ -592,6 +602,9 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void if (packet.ext_src) { packet.src64 = tvb_get_letoh64(tvb, offset); proto_tree_add_item(nwk_tree, hf_zbee_nwk_src64, tvb, offset, 8, ENC_LITTLE_ENDIAN); + ti = proto_tree_add_eui64(nwk_tree, hf_zbee_nwk_addr64, tvb, offset, 8, packet.src64); + proto_item_set_generated(ti); + proto_item_set_hidden(ti); offset += 8; if (!pinfo->fd->visited && nwk_hints) { @@ -628,6 +641,9 @@ dissect_zbee_nwk_full(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void ti = proto_tree_add_eui64(nwk_tree, hf_zbee_nwk_src64, tvb, offset, 0, nwk_hints->map_rec->addr64); proto_item_set_generated(ti); + ti = proto_tree_add_eui64(nwk_tree, hf_zbee_nwk_addr64, tvb, offset, 0, nwk_hints->map_rec->addr64); + proto_item_set_generated(ti); + proto_item_set_hidden(ti); if ( nwk_hints->map_rec->start_fnum ) { ti = proto_tree_add_uint(nwk_tree, hf_zbee_nwk_src64_origin, tvb, 0, 0, @@ -1815,6 +1831,10 @@ void proto_register_zbee_nwk(void) { "Source", "zbee_nwk.src", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }}, + { &hf_zbee_nwk_addr, + { "Address", "zbee_nwk.addr", FT_UINT16, BASE_HEX, NULL, 0x0, + NULL, HFILL }}, + { &hf_zbee_nwk_radius, { "Radius", "zbee_nwk.radius", FT_UINT8, BASE_DEC, NULL, 0x0, "Number of hops remaining for a range-limited broadcast packet.", HFILL }}, @@ -1848,6 +1868,10 @@ void proto_register_zbee_nwk(void) { "Extended Source", "zbee_nwk.src64", FT_EUI64, BASE_NONE, NULL, 0x0, NULL, HFILL }}, + { &hf_zbee_nwk_addr64, + { "Extended Address", "zbee_nwk.addr64", FT_EUI64, BASE_NONE, NULL, 0x0, + NULL, HFILL }}, + { &hf_zbee_nwk_src64_origin, { "Origin", "zbee_nwk.src64.origin", FT_FRAMENUM, BASE_NONE, NULL, 0x0, NULL, HFILL }}, |