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>
This commit is contained in:
parent
e2e069e3fa
commit
f8100ba30a
|
@ -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 }},
|
||||
|
|
|
@ -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 }},
|
||||
|
|
Loading…
Reference in New Issue