diff options
author | Lorand Jakab <ljakab@ac.upc.edu> | 2018-11-16 13:03:55 +0100 |
---|---|---|
committer | Pascal Quantin <pascal.quantin@gmail.com> | 2018-11-16 14:18:02 +0000 |
commit | f8100ba30a581836e86c11e5fbf50d5f4d0cca83 (patch) | |
tree | c95c40332781cf571319d3eba731291d8515f395 /epan | |
parent | e2e069e3fa604ca6633199cfd29df4b9f23044e4 (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.c | 9 | ||||
-rw-r--r-- | epan/dissectors/packet-lisp.c | 35 |
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 }}, |