diff options
author | Michael Mann <mmann78@netscape.net> | 2012-09-25 01:00:41 +0000 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2012-09-25 01:00:41 +0000 |
commit | 4f9707469dc6edb8792ec811fecebb0f377fc58b (patch) | |
tree | 8c5ce1e47aa2730694cc46963a616fb1ae998ca7 /epan/dissectors/packet-pcep.c | |
parent | af176b4c36333cce470a0628ab82f3d22dca516a (diff) | |
download | wireshark-4f9707469dc6edb8792ec811fecebb0f377fc58b.tar.gz |
replaced decode_boolean_bitfield calls with itemized filters
added tfs_no_yes to tfs.[ch]
svn path=/trunk/; revision=45115
Diffstat (limited to 'epan/dissectors/packet-pcep.c')
-rw-r--r-- | epan/dissectors/packet-pcep.c | 29 |
1 files changed, 19 insertions, 10 deletions
diff --git a/epan/dissectors/packet-pcep.c b/epan/dissectors/packet-pcep.c index cc66129645..83df428c09 100644 --- a/epan/dissectors/packet-pcep.c +++ b/epan/dissectors/packet-pcep.c @@ -287,6 +287,9 @@ static gint pcep_subobj_flags_lpa= -1; static gint pcep_subobj_flags_lpu= -1; static gint pcep_subobj_label_flags_gl= -1; static gint ett_pcep_obj_unknown = -1; +static gint hf_pcep_no_path_tlvs_pce = -1; +static gint hf_pcep_no_path_tlvs_unk_dest = -1; +static gint hf_pcep_no_path_tlvs_unk_src = -1; /* PCEP message types.*/ typedef enum { @@ -699,27 +702,24 @@ dissect_pcep_tlvs(proto_tree *pcep_obj, tvbuff_t *tvb, int offset, gint length, proto_tree_add_text(tlv, tvb, offset + 2 + j, 2, "Length: %u", tlv_length); switch (tlv_type) { - case 1: /* NO-PATH TLV */ - proto_tree_add_text(tlv, tvb, offset+4+j, tlv_length, "%s", - decode_boolean_bitfield(tvb_get_ntohl(tvb, offset+4+j), 0x0001, 32, "PCE currently unavailable", "")); - proto_tree_add_text(tlv, tvb, offset+4+j, tlv_length, "%s", - decode_boolean_bitfield(tvb_get_ntohl(tvb, offset+4+j), 0x0002, 32, "Unknown destination", "")); - proto_tree_add_text(tlv, tvb, offset+4+j, tlv_length, "%s", - decode_boolean_bitfield(tvb_get_ntohl(tvb, offset+4+j), 0x0004, 32, "Unknown source", "")); + case 1: /* NO-PATH TLV */ + proto_tree_add_item(tlv, hf_pcep_no_path_tlvs_pce, tvb, offset+4+j, tlv_length, ENC_BIG_ENDIAN); + proto_tree_add_item(tlv, hf_pcep_no_path_tlvs_unk_dest, tvb, offset+4+j, tlv_length, ENC_BIG_ENDIAN); + proto_tree_add_item(tlv, hf_pcep_no_path_tlvs_unk_src, tvb, offset+4+j, tlv_length, ENC_BIG_ENDIAN); break; - case 3: /* REQ-MISSING TLV */ + case 3: /* REQ-MISSING TLV */ proto_tree_add_text(tlv, tvb, offset+4+j, tlv_length, "Request-ID: %u", tvb_get_ntohl(tvb, offset+4+j)); break; - case 4: /* OF TLV */ + case 4: /* OF TLV */ for (i=0; i<tlv_length/2; i++) proto_tree_add_text(tlv, tvb, offset+4+j+i*2, 2, "OF-Code #%d: %s (%u)", i+1, val_to_str_const(tvb_get_ntohs(tvb, offset+4+j+i*2), pcep_of_vals, "Unknown"), tvb_get_ntohs(tvb, offset+4+j+i*2)); break; - default: + default: proto_tree_add_text(tlv, tvb, offset+4+j, tlv_length, "Data: %s", tvb_bytes_to_str_punct(tvb, (offset) + 4 + j, tlv_length, ' ')); } @@ -2981,6 +2981,15 @@ proto_register_pcep(void){ {&pcep_subobj_label_flags_gl, { "Global Label", "pcep.subobj.label.flags.gl", FT_BOOLEAN, 8, TFS(&tfs_set_notset), PCEP_SUB_LABEL_GL, NULL, HFILL }}, + {&hf_pcep_no_path_tlvs_pce, + { "PCE currently unavailable", "pcep.no_path_tlvs.pce", FT_BOOLEAN, 32, TFS(&tfs_true_false), 0x0001, + NULL, HFILL }}, + {&hf_pcep_no_path_tlvs_unk_dest, + { "Unknown destination", "pcep.no_path_tlvs.unk_dest", FT_BOOLEAN, 32, TFS(&tfs_true_false), 0x0002, + NULL, HFILL }}, + {&hf_pcep_no_path_tlvs_unk_src, + { "Unknown source", "pcep.no_path_tlvs.unk_src", FT_BOOLEAN, 32, TFS(&tfs_true_false), 0x0004, + NULL, HFILL }}, }; /*Register the protocol name and description*/ |