aboutsummaryrefslogtreecommitdiffstats
path: root/epan
diff options
context:
space:
mode:
authorLorand Jakab <ljakab@ac.upc.edu>2018-11-16 13:03:55 +0100
committerPascal Quantin <pascal.quantin@gmail.com>2018-11-16 14:18:02 +0000
commitf8100ba30a581836e86c11e5fbf50d5f4d0cca83 (patch)
treec95c40332781cf571319d3eba731291d8515f395 /epan
parente2e069e3fa604ca6633199cfd29df4b9f23044e4 (diff)
LISP: Switch to proto_tree_add_subtree_format()
When the LISP dissector was initially written, it followed a different pattern for adding subtrees with a text label, which needs to be modified while dissecting: proto_tree_add_item() + proto_item_append_text() + proto_item_add_subtree(). This commit updates the code to use the more elegant proto_tree_add_subtree_format() call. Change-Id: Icb6424be3c9cdecbfe9bb5aa2d39f3ad3d1499e0 Signed-off-by: Lorand Jakab <ljakab@ac.upc.edu> Reviewed-on: https://code.wireshark.org/review/30655 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan')
-rw-r--r--epan/dissectors/packet-lisp-tcp.c9
-rw-r--r--epan/dissectors/packet-lisp.c35
2 files changed, 7 insertions, 37 deletions
diff --git a/epan/dissectors/packet-lisp-tcp.c b/epan/dissectors/packet-lisp-tcp.c
index c7f8d28049..4e6a1c265f 100644
--- a/epan/dissectors/packet-lisp-tcp.c
+++ b/epan/dissectors/packet-lisp-tcp.c
@@ -68,7 +68,6 @@ static int hf_lisp_tcp_message_eid_prefix_afi = -1;
static int hf_lisp_tcp_message_eid_ipv4 = -1;
static int hf_lisp_tcp_message_eid_ipv6 = -1;
static int hf_lisp_tcp_message_eid_mac = -1;
-static int hf_lisp_tcp_message_eid_lcaf = -1;
static int hf_lisp_tcp_message_rloc_afi = -1;
static int hf_lisp_tcp_message_rloc_ipv4 = -1;
static int hf_lisp_tcp_message_rloc_ipv6 = -1;
@@ -141,7 +140,6 @@ static guint
dissect_lisp_tcp_message_eid_prefix(tvbuff_t *tvb, packet_info *pinfo, proto_tree *message_tree,
guint offset, proto_item *tim)
{
- proto_item *ti_lcaf_prefix;
proto_tree *prefix_tree, *lcaf_tree;
guint8 prefix_length;
guint16 prefix_afi, addr_len = 0;
@@ -181,9 +179,7 @@ dissect_lisp_tcp_message_eid_prefix(tvbuff_t *tvb, packet_info *pinfo, proto_tre
offset += INET6_ADDRLEN;
break;
case AFNUM_LCAF:
- ti_lcaf_prefix = proto_tree_add_item(prefix_tree, hf_lisp_tcp_message_eid_lcaf, tvb, offset, addr_len, ENC_ASCII|ENC_NA);
- proto_item_append_text(ti_lcaf_prefix, "%s", prefix);
- lcaf_tree = proto_item_add_subtree(ti_lcaf_prefix, ett_lisp_tcp_lcaf);
+ lcaf_tree = proto_tree_add_subtree_format(prefix_tree, tvb, offset, addr_len, ett_lisp_tcp_lcaf, NULL, "Address: %s", prefix);
dissect_lcaf(tvb, pinfo, lcaf_tree, offset, NULL);
offset += addr_len;
break;
@@ -642,9 +638,6 @@ proto_register_lisp_tcp(void)
{ &hf_lisp_tcp_message_eid_mac,
{ "Address", "lisp-tcp.message.eid.mac",
FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_lisp_tcp_message_eid_lcaf,
- { "Address", "lisp-tcp.message.eid.lcaf",
- FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_lisp_tcp_message_rloc_afi,
{ "RLOC AFI", "lisp-tcp.message.rloc.afi",
FT_UINT16, BASE_DEC, VALS(afn_vals), 0x0, NULL, HFILL }},
diff --git a/epan/dissectors/packet-lisp.c b/epan/dissectors/packet-lisp.c
index ba2f2dfe08..baf68cc629 100644
--- a/epan/dissectors/packet-lisp.c
+++ b/epan/dissectors/packet-lisp.c
@@ -153,7 +153,6 @@ static int hf_lisp_mreq_srceid_string = -1;
static int hf_lisp_mreq_srceid_ipv4 = -1;
static int hf_lisp_mreq_srceid_ipv6 = -1;
static int hf_lisp_mreq_srceid_mac = -1;
-static int hf_lisp_mreq_srceid_lcaf = -1;
static int hf_lisp_mreq_itr_rloc = -1;
static int hf_lisp_mreq_itr_rloc_afi = -1;
static int hf_lisp_mreq_itr_rloc_ipv4 = -1;
@@ -165,7 +164,6 @@ static int hf_lisp_mreq_record_prefix_afi = -1;
static int hf_lisp_mreq_record_prefix_ipv4 = -1;
static int hf_lisp_mreq_record_prefix_ipv6 = -1;
static int hf_lisp_mreq_record_prefix_mac = -1;
-static int hf_lisp_mreq_record_prefix_lcaf = -1;
/* Map-Reply fields */
static int hf_lisp_mrep_record = -1;
@@ -197,7 +195,6 @@ static int hf_lisp_info_r = -1;
static int hf_lisp_info_res1 = -1;
static int hf_lisp_info_ttl = -1;
static int hf_lisp_info_res2 = -1;
-static int hf_lisp_info_prefix = -1;
static int hf_lisp_info_prefix_masklen = -1;
static int hf_lisp_info_prefix_afi = -1;
static int hf_lisp_info_prefix_ipv4 = -1;
@@ -218,7 +215,6 @@ static int hf_lisp_mapping_eid_afi = -1;
static int hf_lisp_mapping_eid_ipv4 = -1;
static int hf_lisp_mapping_eid_ipv6 = -1;
static int hf_lisp_mapping_eid_mac = -1;
-static int hf_lisp_mapping_eid_lcaf = -1;
/* Locator fields */
static int hf_lisp_loc = -1;
@@ -1929,7 +1925,7 @@ dissect_lisp_mapping(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tree,
guint16 act;
guint16 prefix_afi, eid_afi;
const gchar *prefix;
- proto_item *tir, *ti_lcaf_prefix;
+ proto_item *tir;
proto_tree *lisp_mapping_tree, *lcaf_prefix_tree;
prefix_mask = tvb_get_guint8(tvb, offset + 5);
@@ -2029,9 +2025,7 @@ dissect_lisp_mapping(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tree,
offset += INET6_ADDRLEN;
break;
case AFNUM_LCAF:
- ti_lcaf_prefix = proto_tree_add_item(lisp_mapping_tree, hf_lisp_mapping_eid_lcaf, tvb, offset, addr_len, ENC_ASCII|ENC_NA);
- proto_item_append_text(ti_lcaf_prefix, "%s", prefix);
- lcaf_prefix_tree = proto_item_add_subtree(ti_lcaf_prefix, ett_lisp_lcaf);
+ lcaf_prefix_tree = proto_tree_add_subtree_format(lisp_mapping_tree, tvb, offset, addr_len, ett_lisp_lcaf, NULL, "EID Prefix: %s", prefix);
dissect_lcaf(tvb, pinfo, lcaf_prefix_tree, offset, NULL);
offset += addr_len;
break;
@@ -2101,7 +2095,7 @@ dissect_lisp_map_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tre
guint8 rec_cnt = 0;
guint16 src_eid_afi;
const gchar *src_eid;
- proto_item *ti_flags, *ti_lcaf_src_eid, *ti_lcaf_prefix;
+ proto_item *ti_flags;
proto_tree *flags_tree, *lcaf_src_eid_tree, *lcaf_prefix_tree;
tvbuff_t *next_tvb;
@@ -2173,9 +2167,7 @@ dissect_lisp_map_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tre
break;
case AFNUM_LCAF:
src_eid = get_addr_str(tvb, offset, src_eid_afi, &addr_len);
- ti_lcaf_src_eid = proto_tree_add_item(lisp_tree, hf_lisp_mreq_srceid_lcaf, tvb, offset, addr_len, ENC_ASCII|ENC_NA);
- proto_item_append_text(ti_lcaf_src_eid, "%s", src_eid);
- lcaf_src_eid_tree = proto_item_add_subtree(ti_lcaf_src_eid, ett_lisp_lcaf);
+ lcaf_src_eid_tree = proto_tree_add_subtree_format(lisp_tree, tvb, offset, addr_len, ett_lisp_lcaf, NULL, "Source EID: %s", src_eid);
dissect_lcaf(tvb, pinfo, lcaf_src_eid_tree, offset, NULL);
offset += addr_len;
break;
@@ -2274,9 +2266,7 @@ dissect_lisp_map_request(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tre
offset += INET6_ADDRLEN;
break;
case AFNUM_LCAF:
- ti_lcaf_prefix = proto_tree_add_item(lisp_record_tree, hf_lisp_mreq_record_prefix_lcaf, tvb, offset, addr_len, ENC_ASCII|ENC_NA);
- proto_item_append_text(ti_lcaf_prefix, "%s", prefix);
- lcaf_prefix_tree = proto_item_add_subtree(ti_lcaf_prefix, ett_lisp_lcaf);
+ lcaf_prefix_tree = proto_tree_add_subtree_format(lisp_record_tree, tvb, offset, addr_len, ett_lisp_lcaf, NULL, "Prefix: %s", prefix);
dissect_lcaf(tvb, pinfo, lcaf_prefix_tree, offset, NULL);
offset += addr_len;
break;
@@ -2751,8 +2741,7 @@ dissect_lisp_info(tvbuff_t *tvb, packet_info *pinfo, proto_tree *lisp_tree)
proto_tree_add_item(lisp_tree, hf_lisp_info_res2, tvb, offset, 1, ENC_BIG_ENDIAN);
offset += 1;
- ti_prefix = proto_tree_add_item(lisp_tree, hf_lisp_info_prefix, tvb, offset, 3, ENC_ASCII|ENC_NA);
- prefix_tree = proto_item_add_subtree(ti_prefix, ett_lisp_info_prefix);
+ prefix_tree = proto_tree_add_subtree(lisp_tree, tvb, offset, 3, ett_lisp_info_prefix, &ti_prefix, "EID Prefix: ");
proto_tree_add_item(prefix_tree, hf_lisp_info_prefix_masklen, tvb, offset, 1, ENC_BIG_ENDIAN);
prefix_mask = tvb_get_guint8(tvb, offset); offset += 1;
@@ -2996,9 +2985,6 @@ proto_register_lisp(void)
{ &hf_lisp_mreq_srceid_mac,
{ "Source EID", "lisp.mreq.srceid.mac",
FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_lisp_mreq_srceid_lcaf,
- { "Source EID", "lisp.mreq.srceid.lcaf",
- FT_STRING, BASE_NONE, NULL, 0x0, "Source EID Address", HFILL }},
{ &hf_lisp_mreq_itr_rloc,
{ "ITR-RLOC", "lisp.mreq.itr_rloc",
FT_NONE, BASE_NONE, NULL, 0x0, "Originating ITR RLOC Address", HFILL }},
@@ -3029,9 +3015,6 @@ proto_register_lisp(void)
{ &hf_lisp_mreq_record_prefix_mac,
{ "Prefix", "lisp.mreq.record.prefix.mac",
FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_lisp_mreq_record_prefix_lcaf,
- { "Prefix", "lisp.mreq.record.prefix.lcaf",
- FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_lisp_mreq_record,
{ "Map-Request Record", "lisp.mreq.record",
FT_NONE, BASE_NONE, NULL, 0x0, NULL, HFILL }},
@@ -3116,9 +3099,6 @@ proto_register_lisp(void)
{ &hf_lisp_info_res2,
{ "Reserved bits", "lisp.info.res2",
FT_UINT8, BASE_HEX, NULL, 0xFF, "Must be zero", HFILL }},
- { &hf_lisp_info_prefix,
- { "EID Prefix", "lisp.info.prefix",
- FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_lisp_info_prefix_masklen,
{ "EID Prefix Mask Length", "lisp.info.prefix.masklen",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
@@ -3215,9 +3195,6 @@ proto_register_lisp(void)
{ &hf_lisp_mapping_eid_mac,
{ "EID Prefix", "lisp.mapping.eid.mac",
FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }},
- { &hf_lisp_mapping_eid_lcaf,
- { "EID Prefix", "lisp.mapping.eid.lcaf",
- FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
{ &hf_lisp_ecm_flags_sec,
{ "S bit (LISP-SEC capable)", "lisp.ecm.flags.sec",
FT_BOOLEAN, 32, TFS(&tfs_set_notset), ECM_FLAG_S, NULL, HFILL }},