aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-auto_rp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2014-06-22 16:01:36 -0400
committerMichael Mann <mmann78@netscape.net>2014-06-22 21:07:16 +0000
commit188aa9a80eea47842988f1b860931d25e1ca08bd (patch)
tree9b6faf83e26edb43fe6befe6d2ff01c4b6daaa89 /epan/dissectors/packet-auto_rp.c
parent3fc441e7a5008640c68ec985e669d5092414a519 (diff)
convert to proto_tree_add_subtree[_format]
Change-Id: Ib60ca75b7da8cfa21cfe2999c9b9448a02c332df Reviewed-on: https://code.wireshark.org/review/2560 Tested-by: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
Diffstat (limited to 'epan/dissectors/packet-auto_rp.c')
-rw-r--r--epan/dissectors/packet-auto_rp.c30
1 files changed, 12 insertions, 18 deletions
diff --git a/epan/dissectors/packet-auto_rp.c b/epan/dissectors/packet-auto_rp.c
index 2b1ddffac0..b2a7f158ba 100644
--- a/epan/dissectors/packet-auto_rp.c
+++ b/epan/dissectors/packet-auto_rp.c
@@ -124,7 +124,7 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
rp_count, plurality(rp_count, "", "s"));
if (tree) {
- proto_item *ti, *tv;
+ proto_item *ti;
proto_tree *auto_rp_tree, *ver_type_tree;
int i, offset;
guint16 holdtime;
@@ -133,10 +133,10 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
ti = proto_tree_add_item(tree, proto_auto_rp, tvb, offset, -1, ENC_NA);
auto_rp_tree = proto_item_add_subtree(ti, ett_auto_rp);
- tv = proto_tree_add_text(auto_rp_tree, tvb, offset, 1, "Version: %s, Packet type: %s",
+ ver_type_tree = proto_tree_add_subtree_format(auto_rp_tree, tvb, offset, 1,
+ ett_auto_rp_ver_type, NULL, "Version: %s, Packet type: %s",
val_to_str_const(hi_nibble(ver_type), auto_rp_ver_vals, "Unknown"),
val_to_str_const(lo_nibble(ver_type), auto_rp_type_vals, "Unknown"));
- ver_type_tree = proto_item_add_subtree(tv, ett_auto_rp_ver_type);
proto_tree_add_uint(ver_type_tree, hf_auto_rp_version, tvb, offset, 1, ver_type);
proto_tree_add_uint(ver_type_tree, hf_auto_rp_type, tvb, offset, 1, ver_type);
offset++;
@@ -167,47 +167,41 @@ static void dissect_auto_rp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
*/
static int do_auto_rp_map(tvbuff_t *tvb, int offset, proto_tree *auto_rp_tree)
{
- proto_item *ti;
proto_tree *map_tree;
guint8 group_count;
- guint32 rp_addr; /* In network byte order */
int i;
- rp_addr = tvb_get_ipv4(tvb, offset);
group_count = tvb_get_guint8(tvb, offset + 5);
/* sizeof map header + n * sizeof encoded group addresses */
- ti = proto_tree_add_text(auto_rp_tree, tvb, offset, 6 + group_count * 6,
- "RP %s: %u group%s", ip_to_str((guint8 *)&rp_addr),
+ map_tree = proto_tree_add_subtree_format(auto_rp_tree, tvb, offset, 6 + group_count * 6,
+ ett_auto_rp_map, NULL,
+ "RP %s: %u group%s", tvb_ip_to_str(tvb, offset),
group_count, plurality(group_count, "", "s"));
- map_tree = proto_item_add_subtree(ti, ett_auto_rp_map);
- proto_tree_add_ipv4(map_tree, hf_auto_rp_rp_addr, tvb, offset, 4, rp_addr);
+ proto_tree_add_item(map_tree, hf_auto_rp_rp_addr, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
- proto_tree_add_uint(map_tree, hf_auto_rp_pim_ver, tvb, offset, 1, tvb_get_guint8(tvb, offset));
+ proto_tree_add_item(map_tree, hf_auto_rp_pim_ver, tvb, offset, 1, ENC_NA);
offset++;
proto_tree_add_text(map_tree, tvb, offset, 1, "Number of groups this RP maps to: %u", group_count);
offset++;
for (i = 0; i < group_count; i++) {
- proto_item *gi;
proto_tree *grp_tree;
guint8 sign, mask_len;
- guint32 group_addr; /* In network byte order */
sign = tvb_get_guint8(tvb, offset);
mask_len = tvb_get_guint8(tvb, offset + 1);
- group_addr = tvb_get_ipv4(tvb, offset + 2);
- gi = proto_tree_add_text(map_tree, tvb, offset, 6, "Group %s/%u (%s)",
- ip_to_str((guint8 *)&group_addr), mask_len,
+ grp_tree = proto_tree_add_subtree_format(map_tree, tvb, offset, 6,
+ ett_auto_rp_group, NULL, "Group %s/%u (%s)",
+ tvb_ip_to_str(tvb, offset + 2), mask_len,
val_to_str_const(sign&AUTO_RP_SIGN_MASK, auto_rp_mask_sign_vals, ""));
- grp_tree = proto_item_add_subtree(gi, ett_auto_rp_group);
proto_tree_add_uint(grp_tree, hf_auto_rp_prefix_sgn, tvb, offset, 1, sign);
offset++;
proto_tree_add_uint(grp_tree, hf_auto_rp_mask_len, tvb, offset, 1, mask_len);
offset++;
- proto_tree_add_ipv4(grp_tree, hf_auto_rp_group_prefix, tvb, offset, 4, group_addr);
+ proto_tree_add_item(grp_tree, hf_auto_rp_group_prefix, tvb, offset, 4, ENC_BIG_ENDIAN);
offset += 4;
}