aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-rsvp.c
diff options
context:
space:
mode:
authorMichael Mann <mmann78@netscape.net>2013-12-24 23:41:24 +0000
committerMichael Mann <mmann78@netscape.net>2013-12-24 23:41:24 +0000
commit6535f89772cbb7360390b4722457fa071793e604 (patch)
treef03fa4300e62a8b19ecede761db8c001ff95cabd /epan/dissectors/packet-rsvp.c
parentb5baf01b869ecfa8b13ee735e3ed1634a74b222b (diff)
Make many fields filterable. Used convert_proto_tree_add_text.pl to do a "first pass" at converting proto_tree_add_text calls since this dissector is the worse (ab)user (by volume) of proto_tree_add_text and the "coding style" is very conducive to having convert_proto_tree_add_text.pl correctly guessing the field info.
Another pass or two of convert_proto_tree_add_text.pl (with more manual intervention) is needed to be a "proper" dissector, but it gets it off of the checkAPIs.pl "naughty list" in time for Christmas. svn path=/trunk/; revision=54449
Diffstat (limited to 'epan/dissectors/packet-rsvp.c')
-rw-r--r--epan/dissectors/packet-rsvp.c1423
1 files changed, 701 insertions, 722 deletions
diff --git a/epan/dissectors/packet-rsvp.c b/epan/dissectors/packet-rsvp.c
index 223d3802c8..89722b294d 100644
--- a/epan/dissectors/packet-rsvp.c
+++ b/epan/dissectors/packet-rsvp.c
@@ -299,6 +299,207 @@ static int hf_rsvp_juniper_unknown = -1;
static int hf_rsvp_juniper_pad = -1;
static int hf_rsvp_unknown_data = -1;
static int hf_rsvp_ctype = -1;
+/* Generated from convert_proto_tree_add_text.pl */
+static int hf_rsvp_message_id_data = -1;
+static int hf_rsvp_ero_rro_subobjects_length = -1;
+static int hf_rsvp_fast_reroute_hop_limit = -1;
+static int hf_rsvp_lsp_tunnel_if_id_router_id = -1;
+static int hf_rsvp_ero_rro_subobjects_path_key = -1;
+static int hf_rsvp_ifid_tlv_area = -1;
+static int hf_rsvp_session_attribute_include_any = -1;
+static int hf_rsvp_lsp_tunnel_if_id_sc_pc_scn_address = -1;
+static int hf_rsvp_ero_rro_subobjects_ipv6_hop = -1;
+static int hf_rsvp_lsp_tunnel_if_id_ipv6_interface_address = -1;
+static int hf_rsvp_lsp_tunnel_if_id_component_link_identifier_ipv4 = -1;
+static int hf_rsvp_ifid_tlvinterface_id = -1;
+static int hf_rsvp_eth_tspec_cir = -1;
+static int hf_rsvp_confirm_receiver_address_ipv6 = -1;
+static int hf_rsvp_error_error_node_ipv6 = -1;
+static int hf_rsvp_time_values_data = -1;
+static int hf_rsvp_flowspec_rate = -1;
+static int hf_rsvp_session_attribute_hold_priority = -1;
+static int hf_rsvp_notify_request_notify_node_address_ipv4 = -1;
+static int hf_rsvp_lsp_tunnel_if_id_action = -1;
+static int hf_rsvp_scope_data = -1;
+static int hf_rsvp_label_request_l3pid = -1;
+static int hf_rsvp_eth_tspec_index = -1;
+static int hf_rsvp_integrity_sequence_number = -1;
+static int hf_rsvp_adspec_message_format_version = -1;
+static int hf_rsvp_fast_reroute_setup_priority = -1;
+static int hf_rsvp_eth_tspec_reserved = -1;
+static int hf_rsvp_fast_reroute_include_all = -1;
+static int hf_rsvp_association_routing_area_id = -1;
+static int hf_rsvp_label_label = -1;
+static int hf_rsvp_session_attribute_include_all = -1;
+static int hf_rsvp_flowspec_token_bucket_rate = -1;
+static int hf_rsvp_call_id_address_type = -1;
+static int hf_rsvp_session_attribute_name_length = -1;
+static int hf_rsvp_detour_data = -1;
+static int hf_rsvp_association_node_id = -1;
+static int hf_rsvp_ifid_tlv_length = -1;
+static int hf_rsvp_flags = -1;
+static int hf_rsvp_tspec_message_format_version = -1;
+static int hf_rsvp_ifid_tlv_ipv4_address = -1;
+static int hf_rsvp_hop_data = -1;
+static int hf_rsvp_ifid_tlv_data = -1;
+static int hf_rsvp_length = -1;
+static int hf_rsvp_ero_rro_subobjects_pce_id_ipv6 = -1;
+static int hf_rsvp_association_data = -1;
+static int hf_rsvp_tspec_number_of_multiplexed_components = -1;
+static int hf_rsvp_session_attribute_setup_priority = -1;
+static int hf_rsvp_message_id_flags = -1;
+static int hf_rsvp_hop_logical_interface = -1;
+static int hf_rsvp_compression_factor = -1;
+static int hf_rsvp_ero_rro_subobjects_private_data = -1;
+static int hf_rsvp_lsp_attributes_tlv_data = -1;
+static int hf_rsvp_flowspec_token_bucket_size = -1;
+static int hf_rsvp_call_id_data = -1;
+static int hf_rsvp_template_filter_source_address_ipv6 = -1;
+static int hf_rsvp_message_id_ack_flags = -1;
+static int hf_rsvp_flowspec_multiplier = -1;
+static int hf_rsvp_tspec_token_bucket_size = -1;
+static int hf_rsvp_admin_status_data = -1;
+static int hf_rsvp_tspec_peak_data_rate = -1;
+static int hf_rsvp_flowspec_number_of_virtual_components = -1;
+static int hf_rsvp_hop_neighbor_address_ipv6 = -1;
+static int hf_rsvp_flowspec_signal_type_sonet = -1;
+static int hf_rsvp_ifid_tlv_autonomous_system = -1;
+static int hf_rsvp_scope_ipv6_address = -1;
+static int hf_rsvp_flowspec_service_header = -1;
+static int hf_rsvp_tspec_hint = -1;
+static int hf_rsvp_label_set_action = -1;
+static int hf_rsvp_error_data = -1;
+static int hf_rsvp_style_flags = -1;
+static int hf_rsvp_g_pid = -1;
+static int hf_rsvp_integrity_key_identifier = -1;
+static int hf_rsvp_adspec_service_header = -1;
+static int hf_rsvp_ifid_tlv_error_string = -1;
+static int hf_rsvp_session_destination_address = -1;
+static int hf_rsvp_ifid_tlv_node_id = -1;
+static int hf_rsvp_lsp_tunnel_if_id_component_link_identifier = -1;
+static int hf_rsvp_call_id_international_segment = -1;
+static int hf_rsvp_fast_reroute_include_any = -1;
+static int hf_rsvp_label_request_min_vci = -1;
+static int hf_rsvp_tspec_profile = -1;
+static int hf_rsvp_eth_tspec_length = -1;
+static int hf_rsvp_exclude_route_data = -1;
+static int hf_rsvp_record_route_data = -1;
+static int hf_rsvp_confirm_receiver_address_ipv4 = -1;
+static int hf_rsvp_message_id_list_message_id = -1;
+static int hf_rsvp_template_filter_data = -1;
+static int hf_rsvp_notify_request_notify_node_address_ipv6 = -1;
+static int hf_rsvp_message_id_ack_data = -1;
+static int hf_rsvp_eth_tspec_profile = -1;
+static int hf_rsvp_label_request_max_vpi = -1;
+static int hf_rsvp_ero_rro_subobjects_private_length = -1;
+static int hf_rsvp_fast_reroute_exclude_any = -1;
+static int hf_rsvp_lsp_tunnel_if_id_data = -1;
+static int hf_rsvp_hello_destination_instance = -1;
+static int hf_rsvp_tspec_signal_type_g709 = -1;
+static int hf_rsvp_call_id_reserved = -1;
+static int hf_rsvp_rsvp_version = -1;
+static int hf_rsvp_association_source_ipv6 = -1;
+static int hf_rsvp_ero_rro_subobjects_flags = -1;
+static int hf_rsvp_lsp_tunnel_if_id_lsp_encoding_type = -1;
+static int hf_rsvp_association_type = -1;
+static int hf_rsvp_tspec_data = -1;
+static int hf_rsvp_session_destination_port = -1;
+static int hf_rsvp_association_id = -1;
+static int hf_rsvp_integrity_hash = -1;
+static int hf_rsvp_flowspec_number_of_contiguous_components = -1;
+static int hf_rsvp_policy_data = -1;
+static int hf_rsvp_tspec_token_bucket_rate = -1;
+static int hf_rsvp_tspec_multiplier = -1;
+static int hf_rsvp_dclass_dscp = -1;
+static int hf_rsvp_tspec_number_of_contiguous_components = -1;
+static int hf_rsvp_session_data = -1;
+static int hf_rsvp_lsp_tunnel_if_id_target_igp_instance = -1;
+static int hf_rsvp_flowspec_profile = -1;
+static int hf_rsvp_message_id_ack_epoch = -1;
+static int hf_rsvp_hello_source_instance = -1;
+static int hf_rsvp_scope_ipv4_address = -1;
+static int hf_rsvp_label_request_lsp_encoding_type = -1;
+static int hf_rsvp_fast_reroute_hold_priority = -1;
+static int hf_rsvp_label_request_max_vci = -1;
+static int hf_rsvp_fast_reroute_flags = -1;
+static int hf_rsvp_flowspec_peak_data_rate = -1;
+static int hf_rsvp_ero_rro_subobjects_label = -1;
+static int hf_rsvp_notify_request_data = -1;
+static int hf_rsvp_lsp_tunnel_if_id_connection_id = -1;
+static int hf_rsvp_eth_tspec_ebs = -1;
+static int hf_rsvp_fast_reroute_data = -1;
+static int hf_rsvp_label_request_min_vpi = -1;
+static int hf_rsvp_session_attribute_data = -1;
+static int hf_rsvp_protection_info_data = -1;
+static int hf_rsvp_tspec_transparency = -1;
+static int hf_rsvp_ifid_tlv_label = -1;
+static int hf_rsvp_session_extended_ipv4_address = -1;
+static int hf_rsvp_diffserv_aware_te_data = -1;
+static int hf_rsvp_lsp_tunnel_if_id_signal_type = -1;
+static int hf_rsvp_ero_rro_subobjects_pce_id_ipv4 = -1;
+static int hf_rsvp_error_error_node_ipv4 = -1;
+static int hf_rsvp_session_protocol = -1;
+static int hf_rsvp_tspec_signal_type_sonet = -1;
+static int hf_rsvp_session_attribute_flags = -1;
+static int hf_rsvp_ero_rro_subobjects_router_id = -1;
+static int hf_rsvp_message_id_list_data = -1;
+static int hf_rsvp_style_style = -1;
+static int hf_rsvp_tspec_number_of_virtual_components = -1;
+static int hf_rsvp_tspec_mtu = -1;
+static int hf_rsvp_lsp_tunnel_if_id_length = -1;
+static int hf_rsvp_ifid_tlv_ipv6_address = -1;
+static int hf_rsvp_diffserv_data = -1;
+static int hf_rsvp_session_flags = -1;
+static int hf_rsvp_flowspec_transparency = -1;
+static int hf_rsvp_dclass_data = -1;
+static int hf_rsvp_lsp_tunnel_if_id_interface_id = -1;
+static int hf_rsvp_lsp_tunnel_if_id_sc_pc_id = -1;
+static int hf_rsvp_error_error_code = -1;
+static int hf_rsvp_admin_status = -1;
+static int hf_rsvp_lsp_tunnel_if_id_ipv4_interface_address = -1;
+static int hf_rsvp_session_attribute_exclude_any = -1;
+static int hf_rsvp_sending_ttl = -1;
+static int hf_rsvp_integrity_flags = -1;
+static int hf_rsvp_message_id_ack_message_id = -1;
+static int hf_rsvp_message_id_message_id = -1;
+static int hf_rsvp_ero_rro_subobjects_interface_id = -1;
+static int hf_rsvp_message_length = -1;
+static int hf_rsvp_message_id_epoch = -1;
+static int hf_rsvp_flowspec_signal_type_g709 = -1;
+static int hf_rsvp_label_request_data = -1;
+static int hf_rsvp_restart_cap_data = -1;
+static int hf_rsvp_lsp_attributes_tlv = -1;
+static int hf_rsvp_flowspec_mtu = -1;
+static int hf_rsvp_tspec_service_header = -1;
+static int hf_rsvp_eth_tspec_cbs = -1;
+static int hf_rsvp_call_id_national_segment = -1;
+static int hf_rsvp_template_filter_source_port = -1;
+static int hf_rsvp_eth_tspec_eir = -1;
+static int hf_rsvp_ero_rro_subobjects_ipv4_hop = -1;
+static int hf_rsvp_lsp_tunnel_if_id_switching_type = -1;
+static int hf_rsvp_flowspec_number_of_multiplexed_components = -1;
+static int hf_rsvp_label_request_switching_type = -1;
+static int hf_rsvp_ero_rro_subobjects_prefix_length = -1;
+static int hf_rsvp_explicit_route_data = -1;
+static int hf_rsvp_association_source_ipv4 = -1;
+static int hf_rsvp_call_id_local_identifier = -1;
+static int hf_rsvp_flowspec_message_format_version = -1;
+static int hf_rsvp_tspec_requested_concatenation = -1;
+static int hf_rsvp_association_padding = -1;
+static int hf_rsvp_hop_neighbor_address_ipv4 = -1;
+static int hf_rsvp_flowspec_requested_concatenation = -1;
+static int hf_rsvp_fast_reroute_bandwidth = -1;
+static int hf_rsvp_message_id_list_epoch = -1;
+static int hf_rsvp_style_data = -1;
+static int hf_rsvp_session_dscp = -1;
+static int hf_rsvp_confirm_data = -1;
+static int hf_rsvp_protection_info_link_flags = -1;
+static int hf_rsvp_message_id_list_flags = -1;
+static int hf_rsvp_label_data = -1;
+static int hf_rsvp_flowspec_slack_term = -1;
+static int hf_rsvp_label_generalized_label = -1;
+static int hf_rsvp_session_attribute_name = -1;
+static int hf_rsvp_ifid_tlv_padding = -1;
static int rsvp_tap = -1;
@@ -2007,9 +2208,7 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_item(rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_PROTO], tvb,
offset2+4, 1, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+5, 1,
- "Flags: %x",
- tvb_get_guint8(tvb, offset2+5));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_flags, tvb, offset2+5, 1, ENC_NA);
proto_tree_add_item(rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_PORT], tvb,
offset2+6, 2, ENC_BIG_ENDIAN);
@@ -2028,18 +2227,10 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
case RSVP_SESSION_TYPE_IPV6:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Destination address: %s",
- tvb_ip6_to_str(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+16, 1,
- "Protocol: %u",
- tvb_get_guint8(tvb, offset2+16));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+17, 1,
- "Flags: %x",
- tvb_get_guint8(tvb, offset2+17));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+18, 2,
- "Destination port: %u",
- tvb_get_ntohs(tvb, offset2+18));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_destination_address, tvb, offset2, 16, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_protocol, tvb, offset2+16, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_flags, tvb, offset2+17, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_destination_port, tvb, offset2+18, 2, ENC_BIG_ENDIAN);
/*
* Save this information to build the conversation request key
* later. IPv6 conversatiuon support is not implemented yet, so only
@@ -2086,11 +2277,7 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_IP],
tvb, offset2, 4, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+7, 1,
- "DSCP: %u (%s)",
- tvb_get_guint8(tvb, offset2+7),
- val_to_str_ext(tvb_get_guint8(tvb, offset2+7),
- &dscp_vals_ext, "Unknown (%d)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_dscp, tvb, offset2+7, 1, ENC_NA);
/*
* Save this information to build the conversation request key
* later.
@@ -2112,9 +2299,7 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_TUNNEL_ID],
tvb, offset2+6, 2, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4,
- "Extended IPv4 Address: %s",
- tvb_ip_to_str(tvb, offset2+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_extended_ipv4_address, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
hidden_item = proto_tree_add_item(rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID],
tvb, offset2+8, 4, ENC_BIG_ENDIAN);
@@ -2142,9 +2327,7 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_TUNNEL_ID],
tvb, offset2+6, 2, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4,
- "Extended IPv4 Address: %s",
- tvb_ip_to_str(tvb, offset2+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_extended_ipv4_address, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
hidden_item = proto_tree_add_item(rsvp_object_tree,
hf_rsvp_filter[RSVPF_SESSION_EXT_TUNNEL_ID],
tvb, offset2+8, 4, ENC_BIG_ENDIAN);
@@ -2164,8 +2347,7 @@ dissect_rsvp_session(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length-4,
- "Data (%d bytes)", obj_length-4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_data, tvb, offset2, obj_length-4, ENC_NA);
break;
}
}
@@ -2213,12 +2395,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sIPv4)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "IPv4 address: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_ipv4_address, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%sIPv4: %s. ", tlv_name,
tvb_ip_to_str(tvb, offset+tlv_off+4));
break;
@@ -2240,12 +2418,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sIPv6)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "IPv6 address: %s",
- tvb_ip6_to_str(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_ipv6_address, tvb, offset+tlv_off+4, 16, ENC_NA);
proto_item_append_text(ti, "%sIPv6: %s. ", tlv_name,
tvb_ip6_to_str(tvb, offset+tlv_off+4));
break;
@@ -2271,16 +2445,9 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (Interface Index%s)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "IPv4 address: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+4));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+8, 4,
- "Interface-ID: %d (0x%0x)",
- tvb_get_ntohl(tvb, offset+tlv_off+8),
- tvb_get_ntohl(tvb, offset+tlv_off+8));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_ipv4_address, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlvinterface_id, tvb, offset+tlv_off+8, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Data If-Index%s: %s, %d. ", tlv_name,
tvb_ip_to_str(tvb, offset+tlv_off+4),
tvb_get_ntohl(tvb, offset+tlv_off+8));
@@ -2305,12 +2472,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%s-Label)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "Label: %u",
- tvb_get_ntohl(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_label, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%s-Label: %u. ", tlv_name,
tvb_get_ntohl(tvb, offset+tlv_off+4));
break;
@@ -2329,12 +2492,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sNode-ID)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "Node ID: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_node_id, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%sNode-ID: %s. ", tlv_name,
tvb_ip_to_str(tvb, offset+tlv_off+4));
break;
@@ -2352,12 +2511,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sOSPF-Area)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "Area: %u",
- tvb_get_ntohl(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_area, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%sOSPF-Area: %u. ", tlv_name,
tvb_get_ntohl(tvb, offset+tlv_off+4));
break;
@@ -2383,9 +2538,7 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sISIS-Area)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
"IS-IS Area Identifier: %s",
print_nsap_net(tvb_get_ptr(tvb, offset+tlv_off+5, isis_len), isis_len));
@@ -2406,12 +2559,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%sAS)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+4, 4,
- "Autonomous System: %u",
- tvb_get_ntohl(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_autonomous_system, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%sAS: %u. ", tlv_name,
tvb_get_ntohl(tvb, offset+tlv_off+4));
break;
@@ -2428,9 +2577,7 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off, 2,
"Type: %d (%s-Exclusions)", tlv_type, tlv_name);
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset+tlv_off+2));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
dissect_rsvp_ifid_tlv(ti2, rsvp_ifid_subtree, tvb, offset+tlv_off+4,
tlv_len-4, TREE(TT_HOP_SUBOBJ));
break;
@@ -2446,15 +2593,8 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset + tlv_off, 2,
"Type: 516 (ERROR_STRING)");
- proto_tree_add_text(rsvp_ifid_subtree,
- tvb, offset + tlv_off + 2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset + tlv_off + 2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset + tlv_off + 4,
- tlv_len - 4,
- "Error String: %s",
- tvb_format_text(tvb, offset + tlv_off + 4,
- tlv_len - 4));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset + tlv_off + 2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_error_string, tvb, offset + tlv_off + 4, tlv_len - 4, ENC_NA|ENC_ASCII);
break;
default:
@@ -2466,21 +2606,14 @@ dissect_rsvp_ifid_tlv(proto_tree *ti, proto_tree *rsvp_object_tree,
rsvp_ifid_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ifid_subtree, tvb, offset + tlv_off, 2,
"Type: %u (Unknown)", tlv_type);
- proto_tree_add_text(rsvp_ifid_subtree,
- tvb, offset + tlv_off + 2, 2,
- "Length: %u",
- tvb_get_ntohs(tvb, offset + tlv_off + 2));
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset + tlv_off + 4,
- tlv_len - 4,
- "Data: %s",
- tvb_bytes_to_ep_str_punct(tvb, offset + tlv_off + 4, tlv_len - 4, ' '));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_length, tvb, offset + tlv_off + 2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_data, tvb, offset + tlv_off + 4, tlv_len - 4, ENC_NA);
break;
}
padding = (4 - (tlv_len % 4)) % 4;
if (padding != 0)
- proto_tree_add_text(rsvp_ifid_subtree, tvb, offset + tlv_off + tlv_len, padding, "Padding: %s",
- tvb_bytes_to_ep_str_punct(tvb, offset + tlv_off + tlv_len, padding, ' '));
+ proto_tree_add_item(rsvp_ifid_subtree, hf_rsvp_ifid_tlv_padding, tvb, offset + tlv_off + tlv_len, padding, ENC_NA);
tlv_off += tlv_len + padding;
}
}
@@ -2500,12 +2633,8 @@ dissect_rsvp_hop(proto_item *ti, proto_tree *rsvp_object_tree,
case 1:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Neighbor address: %s",
- tvb_ip_to_str(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 4,
- "Logical interface: %u",
- tvb_get_ntohl(tvb, offset2+4));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_neighbor_address_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_logical_interface, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "HOP: IPv4, %s",
tvb_ip_to_str(tvb, offset2));
break;
@@ -2513,23 +2642,15 @@ dissect_rsvp_hop(proto_item *ti, proto_tree *rsvp_object_tree,
case 2:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Neighbor address: %s",
- tvb_ip6_to_str(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+16, 4,
- "Logical interface: 0x%08x",
- tvb_get_ntohl(tvb, offset2+16));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_neighbor_address_ipv6, tvb, offset2, 16, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_logical_interface, tvb, offset2+16, 4, ENC_BIG_ENDIAN);
break;
case 3:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "3 - IPv4 IF-ID");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Neighbor address: %s",
- tvb_ip_to_str(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 4,
- "Logical interface: %u",
- tvb_get_ntohl(tvb, offset2+4));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_neighbor_address_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_logical_interface, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "HOP: IPv4 IF-ID. Control IPv4: %s. ",
tvb_ip_to_str(tvb, offset2));
@@ -2542,8 +2663,7 @@ dissect_rsvp_hop(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hop_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -2573,8 +2693,7 @@ dissect_rsvp_time_values(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_time_values_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -2684,9 +2803,7 @@ dissect_rsvp_error(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - IPv4");
if(obj_length>4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Error node: %s",
- tvb_ip_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_error_error_node_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
offset3 = offset2+4;
}
@@ -2697,9 +2814,7 @@ dissect_rsvp_error(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
if(obj_length>4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Error node: %s",
- tvb_ip6_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_error_error_node_ipv6, tvb, offset2, 16, ENC_NA);
offset3 = offset2+16;
}
@@ -2710,9 +2825,7 @@ dissect_rsvp_error(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "3 - IPv4 IF-ID");
if(obj_length>4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Error node: %s",
- tvb_ip_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_error_error_node_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
offset3 = offset2+4;
}
@@ -2723,8 +2836,7 @@ dissect_rsvp_error(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
if(obj_length>4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_error_data, tvb, offset2, obj_length - 4, ENC_NA);
}
return;
}
@@ -2745,9 +2857,7 @@ dissect_rsvp_error(proto_item *ti, proto_tree *rsvp_object_tree,
(error_flags & (1<<1)) ? "NotGuilty" : "",
(error_flags & (1<<0)) ? "InPlace" : "");
error_code = tvb_get_guint8(tvb, offset3+1);
- proto_tree_add_text(rsvp_object_tree, tvb, offset3+1, 1,
- "Error code: %u - %s", error_code,
- val_to_str_ext(error_code, &rsvp_error_codes_ext, "Unknown (%d)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_error_error_code, tvb, offset3+1, 1, ENC_NA);
error_val = dissect_rsvp_error_value(rsvp_object_tree, tvb, offset3+2, error_code);
@@ -2787,9 +2897,7 @@ dissect_rsvp_scope(proto_item *ti _U_, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - IPv4");
while (mylen > 0) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "IPv4 Address: %s",
- tvb_ip_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_scope_ipv4_address, tvb, offset2, 4, ENC_BIG_ENDIAN);
offset2 += 4;
mylen -= 4;
}
@@ -2800,9 +2908,7 @@ dissect_rsvp_scope(proto_item *ti _U_, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
while (mylen > 0) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "IPv6 Address: %s",
- tvb_ip6_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_scope_ipv6_address, tvb, offset2, 16, ENC_NA);
offset2 += 16;
mylen -= 16;
}
@@ -2812,8 +2918,7 @@ dissect_rsvp_scope(proto_item *ti _U_, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, mylen,
- "Data (%d bytes)", mylen);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_scope_data, tvb, offset2, mylen, ENC_NA);
break;
}
}
@@ -2834,13 +2939,9 @@ dissect_rsvp_style(proto_item *ti, proto_tree *rsvp_object_tree,
guint32 style;
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Flags: 0x%02x",
- tvb_get_guint8(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_style_flags, tvb, offset2, 1, ENC_NA);
style = tvb_get_ntoh24(tvb, offset2+1);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+1,
- 3, "Style: 0x%06X - %s", style,
- val_to_str_const(style, style_vals, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_style_style, tvb, offset2+1, 3, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "STYLE: %s (%d)",
val_to_str_const(style, style_vals, "Unknown"),
style);
@@ -2850,8 +2951,7 @@ dissect_rsvp_style(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_style_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -2871,9 +2971,7 @@ dissect_rsvp_confirm(proto_item *ti, proto_tree *rsvp_object_tree,
case 1: {
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Receiver address: %s",
- tvb_ip_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_confirm_receiver_address_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "CONFIRM: Receiver %s",
tvb_ip_to_str(tvb, offset2));
break;
@@ -2882,17 +2980,14 @@ dissect_rsvp_confirm(proto_item *ti, proto_tree *rsvp_object_tree,
case 2: {
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Receiver address: %s",
- tvb_ip6_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_confirm_receiver_address_ipv6, tvb, offset2, 16, ENC_NA);
break;
}
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_confirm_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -2931,12 +3026,8 @@ dissect_rsvp_template_filter(proto_item *ti, proto_tree *rsvp_object_tree,
case 2:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Source address: %s",
- tvb_ip6_to_str(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+18, 2,
- "Source port: %u",
- tvb_get_ntohs(tvb, offset2+18));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_template_filter_source_address_ipv6, tvb, offset2, 16, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_template_filter_source_port, tvb, offset2+18, 2, ENC_BIG_ENDIAN);
break;
case 7:
@@ -2972,8 +3063,7 @@ dissect_rsvp_template_filter(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_template_filter_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -3011,8 +3101,7 @@ dissect_rsvp_eth_tspec_tlv(proto_item *ti, proto_tree *rsvp_object_tree,
rsvp_ethspec_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off, 2,
"Type: %u (RESERVED)", tlv_type);
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u", tlv_len);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
break;
case 2:
@@ -3028,11 +3117,9 @@ dissect_rsvp_eth_tspec_tlv(proto_item *ti, proto_tree *rsvp_object_tree,
rsvp_ethspec_subtree = proto_item_add_subtree(ti2, subtree_type);
proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off, 2,
"Type: %u - Ethernet Bandwidth Profile", tlv_type);
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u", tlv_len);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
profile = tvb_get_guint8(tvb, offset+tlv_off+4);
- ti3 = proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+4, 1,
- "Profile: 0x%02x", profile);
+ ti3 = proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_profile, tvb, offset+tlv_off+4, 1, ENC_NA);
ethspec_profile_subtree = proto_item_add_subtree(ti3, TREE(TT_ETHSPEC_SUBTREE));
proto_tree_add_item(ethspec_profile_subtree, hf_rsvp_eth_tspec_tlv_color_mode,
tvb, offset+tlv_off+4, 1, ENC_BIG_ENDIAN);
@@ -3041,18 +3128,12 @@ dissect_rsvp_eth_tspec_tlv(proto_item *ti, proto_tree *rsvp_object_tree,
proto_item_append_text(ti3, " %s %s",
(profile & (1<<1)) ? "CM" : "",
(profile & (1<<0)) ? "CF" : "");
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+5, 1,
- "Index: %x", tvb_get_guint8(tvb, offset+tlv_off+5));
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+6, 2,
- "Reserved: %x", tvb_get_ntohs(tvb, offset+tlv_off+6));
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+8, 4, "CIR: %.10g",
- tvb_get_ntohieee_float(tvb, offset+tlv_off+8));
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+12, 4, "CBS: %.10g",
- tvb_get_ntohieee_float(tvb, offset+tlv_off+12));
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+16, 4, "EIR: %.10g",
- tvb_get_ntohieee_float(tvb, offset+tlv_off+16));
- proto_tree_add_text(rsvp_ethspec_subtree, tvb, offset+tlv_off+20, 4, "EBS: %.10g",
- tvb_get_ntohieee_float(tvb, offset+tlv_off+20));
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_index, tvb, offset+tlv_off+5, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_reserved, tvb, offset+tlv_off+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_cir, tvb, offset+tlv_off+8, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_cbs, tvb, offset+tlv_off+12, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_eir, tvb, offset+tlv_off+16, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ethspec_subtree, hf_rsvp_eth_tspec_ebs, tvb, offset+tlv_off+20, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "ETH profile: CIR=%.10g, CBS=%.10g, EIR=%.10g, "
"EBS=%.10g",
@@ -3092,9 +3173,7 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
case 2:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - Integrated Services");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Message format version: %u",
- tvb_get_guint8(tvb, offset2)>>4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_message_format_version, tvb, offset2, 1, ENC_NA);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
"Data length: %u words, not including header",
tvb_get_ntohs(tvb, offset2+2));
@@ -3112,10 +3191,7 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
guint length;
service_num = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Service header: %u - %s",
- service_num,
- val_to_str_const(service_num, qos_vals, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_service_header, tvb, offset2, 1, ENC_NA);
length = tvb_get_ntohs(tvb, offset2+2);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
"Length of service %u data: %u words, "
@@ -3153,15 +3229,9 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
"not including header",
param_id,
tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(tspec_tree, tvb, offset2+4, 4,
- "Token bucket rate: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+4));
- proto_tree_add_text(tspec_tree, tvb, offset2+8, 4,
- "Token bucket size: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+8));
- proto_tree_add_text(tspec_tree, tvb, offset2+12, 4,
- "Peak data rate: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+12));
+ proto_tree_add_item(tspec_tree, hf_rsvp_tspec_token_bucket_rate, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tspec_tree, hf_rsvp_tspec_token_bucket_size, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tspec_tree, hf_rsvp_tspec_peak_data_rate, tvb, offset2+12, 4, ENC_BIG_ENDIAN);
proto_tree_add_text(tspec_tree, tvb, offset2+16, 4,
"Minimum policed unit [m]: %u",
tvb_get_ntohl(tvb, offset2+16));
@@ -3227,12 +3297,8 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
"not including header",
param_id,
tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(tspec_tree, tvb, offset2+4, 4,
- "Hint: %u",
- tvb_get_ntohl(tvb, offset2+4));
- proto_tree_add_text(tspec_tree, tvb, offset2+4, 4,
- "Compression Factor: %u",
- tvb_get_ntohl(tvb, offset2+8));
+ proto_tree_add_item(tspec_tree, hf_rsvp_tspec_hint, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(tspec_tree, hf_rsvp_compression_factor, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Compression Hint. Hint=%u, Factor=%u",
tvb_get_ntohl(tvb, offset2+4),
tvb_get_ntohl(tvb, offset2+8));
@@ -3260,25 +3326,17 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "4 - SONET/SDH");
signal_type = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Signal Type: %d - %s", signal_type,
- val_to_str_ext_const(signal_type,
- &gmpls_sonet_signal_type_str_ext, "Unknown"));
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+1, 1,
- "Requested Concatenation (RCC): %d", tvb_get_guint8(tvb, offset2+1));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_signal_type_sonet, tvb, offset2, 1, ENC_NA);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_requested_concatenation, tvb, offset2+1, 1, ENC_NA);
tspec_tree = proto_item_add_subtree(ti2, TREE(TT_TSPEC_SUBTREE));
proto_tree_add_item(tspec_tree, hf_rsvp_sender_tspec_standard_contiguous_concatenation,
tvb, offset2+1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(tspec_tree, hf_rsvp_sender_tspec_arbitrary_contiguous_concatenation,
tvb, offset2+1, 1, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "Number of Contiguous Components (NCC): %d", tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 2,
- "Number of Virtual Components (NVC): %d", tvb_get_ntohs(tvb, offset2+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+6, 2,
- "Multiplier (MT): %d", tvb_get_ntohs(tvb, offset2+6));
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4,
- "Transparency (T): 0x%0x", tvb_get_ntohl(tvb, offset2+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_number_of_contiguous_components, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_number_of_virtual_components, tvb, offset2+4, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_multiplier, tvb, offset2+6, 2, ENC_BIG_ENDIAN);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_transparency, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
tspec_tree = proto_item_add_subtree(ti2, TREE(TT_TSPEC_SUBTREE));
proto_tree_add_item(tspec_tree, hf_rsvp_sender_tspec_regenerator_section,
@@ -3310,8 +3368,7 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_item(tspec_tree, hf_rsvp_sender_tspec_M1_transparency,
tvb, offset2+8, 4, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+12, 4,
- "Profile (P): %d", tvb_get_ntohl(tvb, offset2+12));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_profile, tvb, offset2+12, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Signal [%s], RCC %d, NCC %d, NVC %d, MT %d, Transparency %d, Profile %d",
val_to_str_ext_const(signal_type, &gmpls_sonet_signal_type_str_ext, "Unknown"),
@@ -3326,21 +3383,11 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset + 3, 1,
type, "5 - G.709");
signal_type = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Signal Type: %d - %s", signal_type,
- rval_to_str(signal_type,
- gmpls_g709_signal_type_rvals,
- "Unknown"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 2, 2,
- "Number of Multiplexed Components (NMC): %d",
- tvb_get_ntohs(tvb, offset2 + 2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 4, 2,
- "Number of Virtual Components (NVC): %d",
- tvb_get_ntohs(tvb, offset2 + 4));
-
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 6, 2,
- "Multiplier (MT): %d",
- tvb_get_ntohs(tvb, offset2 + 6));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_signal_type_g709, tvb, offset2, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_number_of_multiplexed_components, tvb, offset2 + 2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_number_of_virtual_components, tvb, offset2 + 4, 2, ENC_BIG_ENDIAN);
+
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_multiplier, tvb, offset2 + 6, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Signal [%s], NMC %d, NVC %d, MT %d",
rval_to_str(signal_type,
gmpls_g709_signal_type_rvals,
@@ -3368,8 +3415,7 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_text(rsvp_object_tree, tvb, offset2, 2,
"Switching granularity: %u - ???", switch_gran);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "MTU: %u", tvb_get_ntohs(tvb, offset2+2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_mtu, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
dissect_rsvp_eth_tspec_tlv(ti, rsvp_object_tree, tvb, offset+8, obj_length-8,
TREE(TT_TSPEC_SUBTREE));
@@ -3378,8 +3424,7 @@ dissect_rsvp_tspec(proto_item *ti, proto_tree *rsvp_object_tree,
default: /* Unknown TSpec */
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_tspec_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
@@ -3412,9 +3457,7 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
PROTO_ITEM_SET_GENERATED(item);
return;
}
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Message format version: %u",
- tvb_get_guint8(tvb, offset2)>>4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_message_format_version, tvb, offset2, 1, ENC_NA);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
"Data length: %u words, not including header",
tvb_get_ntohs(tvb, offset2+2));
@@ -3438,10 +3481,7 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
return;
}
service_num = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Service header: %u - %s",
- service_num,
- val_to_str_ext_const(service_num, &intsrv_services_str_ext, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_service_header, tvb, offset2, 1, ENC_NA);
length = tvb_get_ntohs(tvb, offset2+2);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
"Length of service %u data: %u words, "
@@ -3484,15 +3524,9 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
"not including header",
param_id,
tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(flowspec_tree, tvb, offset2+4, 4,
- "Token bucket rate: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+4));
- proto_tree_add_text(flowspec_tree, tvb, offset2+8, 4,
- "Token bucket size: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+8));
- proto_tree_add_text(flowspec_tree, tvb, offset2+12, 4,
- "Peak data rate: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+12));
+ proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_token_bucket_rate, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_token_bucket_size, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_peak_data_rate, tvb, offset2+12, 4, ENC_BIG_ENDIAN);
proto_tree_add_text(flowspec_tree, tvb, offset2+16, 4,
"Minimum policed unit [m]: %u",
tvb_get_ntohl(tvb, offset2+16));
@@ -3529,12 +3563,8 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
param_id,
tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(flowspec_tree, tvb, offset2+4, 4,
- "Rate: %.10g",
- tvb_get_ntohieee_float(tvb, offset2+4));
- proto_tree_add_text(flowspec_tree, tvb, offset2+8, 4,
- "Slack term: %u",
- tvb_get_ntohl(tvb, offset2+8));
+ proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_rate, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_slack_term, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "RSpec, %.10g bytes/sec. ",
tvb_get_ntohieee_float(tvb, offset2+4));
proto_item_append_text(ti2, "R=%.10g, s=%u",
@@ -3592,25 +3622,17 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "4 - SONET/SDH");
signal_type = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Signal Type: %d - %s", signal_type,
- val_to_str_ext_const(signal_type,
- &gmpls_sonet_signal_type_str_ext, "Unknown"));
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+1, 1,
- "Requested Concatenation (RCC): %d", tvb_get_guint8(tvb, offset2+1));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_signal_type_sonet, tvb, offset2, 1, ENC_NA);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_requested_concatenation, tvb, offset2+1, 1, ENC_NA);
flowspec_tree = proto_item_add_subtree(ti2, TREE(TT_FLOWSPEC_SUBTREE));
proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_standard_contiguous_concatenation,
tvb, offset2+1, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_arbitrary_contiguous_concatenation,
tvb, offset2+1, 1, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "Number of Contiguous Components (NCC): %d", tvb_get_ntohs(tvb, offset2+2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 2,
- "Number of Virtual Components (NVC): %d", tvb_get_ntohs(tvb, offset2+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+6, 2,
- "Multiplier (MT): %d", tvb_get_ntohs(tvb, offset2+6));
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4,
- "Transparency (T): 0x%0x", tvb_get_ntohl(tvb, offset2+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_number_of_contiguous_components, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_number_of_virtual_components, tvb, offset2+4, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_multiplier, tvb, offset2+6, 2, ENC_BIG_ENDIAN);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_transparency, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
flowspec_tree = proto_item_add_subtree(ti2, TREE(TT_FLOWSPEC_SUBTREE));
proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_regenerator_section,
@@ -3642,8 +3664,7 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_item(flowspec_tree, hf_rsvp_flowspec_M1_transparency,
tvb, offset2+8, 4, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+12, 4,
- "Profile (P): %d", tvb_get_ntohl(tvb, offset2+12));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_profile, tvb, offset2+12, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Signal [%s], RCC %d, NCC %d, NVC %d, MT %d, Transparency %d, Profile %d",
val_to_str_ext_const(signal_type, &gmpls_sonet_signal_type_str_ext, "Unknown"),
@@ -3658,21 +3679,11 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset + 3, 1,
type, "5 - G.709");
signal_type = tvb_get_guint8(tvb, offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Signal Type: %d - %s", signal_type,
- rval_to_str(signal_type,
- gmpls_g709_signal_type_rvals,
- "Unknown"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 2, 2,
- "Number of Multiplexed Components (NMC): %d",
- tvb_get_ntohs(tvb, offset2 + 2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 4, 2,
- "Number of Virtual Components (NVC): %d",
- tvb_get_ntohs(tvb, offset2 + 4));
-
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 6, 2,
- "Multiplier (MT): %d",
- tvb_get_ntohs(tvb, offset2 + 6));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_signal_type_g709, tvb, offset2, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_number_of_multiplexed_components, tvb, offset2 + 2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_number_of_virtual_components, tvb, offset2 + 4, 2, ENC_BIG_ENDIAN);
+
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_multiplier, tvb, offset2 + 6, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Signal [%s], NMC %d, NVC %d, MT %d",
rval_to_str(signal_type,
gmpls_g709_signal_type_rvals,
@@ -3700,8 +3711,7 @@ dissect_rsvp_flowspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_text(rsvp_object_tree, tvb, offset2, 2,
"Switching granularity: %u - ???", switch_gran);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "MTU: %u", tvb_get_ntohs(tvb, offset2+2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_flowspec_mtu, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
dissect_rsvp_eth_tspec_tlv(ti, rsvp_object_tree, tvb, offset+8, obj_length-8,
TREE(TT_FLOWSPEC_SUBTREE));
@@ -3728,9 +3738,7 @@ dissect_rsvp_adspec(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
mylen = obj_length - 4;
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Message format version: %u",
- tvb_get_guint8(tvb, offset2)>>4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_adspec_message_format_version, tvb, offset2, 1, ENC_NA);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
"Data length: %u words, not including header",
tvb_get_ntohs(tvb, offset2+2));
@@ -3751,9 +3759,7 @@ dissect_rsvp_adspec(proto_item *ti, proto_tree *rsvp_object_tree,
str);
adspec_tree = proto_item_add_subtree(ti,
TREE(TT_ADSPEC_SUBTREE));
- proto_tree_add_text(adspec_tree, tvb, offset2, 1,
- "Service header %u - %s",
- service_num, str);
+ proto_tree_add_item(adspec_tree, hf_rsvp_adspec_service_header, tvb, offset2, 1, ENC_NA);
proto_tree_add_text(adspec_tree, tvb, offset2+1, 1,
(break_bit&0x80)?
"Break bit set":"Break bit not set");
@@ -3829,21 +3835,15 @@ dissect_rsvp_integrity(proto_item *ti _U_, proto_tree *rsvp_object_tree,
{
int offset2 = offset + 4;
proto_tree *ti2, *rsvp_integ_flags_tree;
- int flags;
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- flags = tvb_get_guint8(tvb, offset2);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_integrity_flags, tvb, offset2, 1, ENC_NA);
rsvp_integ_flags_tree = proto_item_add_subtree(ti2, TREE(TT_INTEGRITY_FLAGS));
proto_tree_add_item(rsvp_integ_flags_tree, hf_rsvp_integrity_flags_handshake,
tvb, offset2, 1, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 6,
- "Key Identifier: %s", tvb_bytes_to_ep_str(tvb, offset2+2, 6));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 8,
- "Sequence Number: %" G_GINT64_MODIFIER "u", tvb_get_ntoh64(tvb, offset2+8));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+16, obj_length - 20,
- "Hash: %s", tvb_bytes_to_ep_str(tvb, offset2+16, obj_length - 20));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_integrity_key_identifier, tvb, offset2+2, 6, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_integrity_sequence_number, tvb, offset2+8, 8, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_integrity_hash, tvb, offset2+16, obj_length - 20, ENC_NA);
}
/*------------------------------------------------------------------------------
@@ -3858,8 +3858,7 @@ dissect_rsvp_policy(proto_item *ti _U_, proto_tree *rsvp_object_tree,
int offset2 = offset + 4;
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_policy_data, tvb, offset2, obj_length - 4, ENC_NA);
}
/*------------------------------------------------------------------------------
@@ -3888,10 +3887,7 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
switch(type) {
case 1: {
unsigned short l3pid = tvb_get_ntohs(tvb, offset2+2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "L3PID: %s (0x%04x)",
- val_to_str_const(l3pid, etype_vals, "Unknown"),
- l3pid);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_l3pid, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LABEL REQUEST: Basic: L3PID: %s (0x%04x)",
val_to_str_const(l3pid, etype_vals, "Unknown"),
l3pid);
@@ -3901,10 +3897,7 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
case 2: {
unsigned short l3pid = tvb_get_ntohs(tvb, offset2+2);
unsigned short min_vpi, min_vci, max_vpi, max_vci;
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "L3PID: %s (0x%04x)",
- val_to_str_const(l3pid, etype_vals, "Unknown"),
- l3pid);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_l3pid, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 1,
"M: %s Merge in Data Plane",
(tvb_get_guint8(tvb, offset2+4) & 0x80) ?
@@ -3913,14 +3906,10 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
min_vci = tvb_get_ntohs(tvb, offset2+6);
max_vpi = tvb_get_ntohs(tvb, offset2+8) & 0x7f;
max_vci = tvb_get_ntohs(tvb, offset2+10);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 2,
- "Min VPI: %d", min_vpi);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+6, 2,
- "Min VCI: %d", min_vci);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 2,
- "Max VPI: %d", max_vpi);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+10, 2,
- "Max VCI: %d", max_vci);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_min_vpi, tvb, offset2+4, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_min_vci, tvb, offset2+6, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_max_vpi, tvb, offset2+8, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_max_vci, tvb, offset2+10, 2, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LABEL REQUEST: ATM: L3PID: %s (0x%04x). VPI/VCI: Min: %d/%d, Max: %d/%d. %s Merge. ",
val_to_str_const(l3pid, etype_vals, "Unknown"), l3pid,
min_vpi, min_vci, max_vpi, max_vci,
@@ -3931,10 +3920,7 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
case 3: {
guint16 l3pid = tvb_get_ntohs(tvb, offset2+2);
guint32 min_dlci, max_dlci, dlci_len, dlci_len_code;
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "L3PID: %s (0x%04x)",
- val_to_str_const(l3pid, etype_vals, "Unknown"),
- l3pid);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_l3pid, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
dlci_len_code = (tvb_get_ntohs(tvb, offset2+4) & 0x0180) >> 7;
min_dlci = tvb_get_ntohl(tvb, offset2+4) & 0x7fffff;
max_dlci = tvb_get_ntohl(tvb, offset2+8) & 0x7fffff;
@@ -3974,19 +3960,9 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
case 5: {
unsigned short l3pid = tvb_get_ntohs(tvb, offset2+2);
unsigned char lsp_enc = tvb_get_guint8(tvb,offset2);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "LSP Encoding Type: %s",
- rval_to_str(lsp_enc, gmpls_lsp_enc_rvals, "Unknown (%d)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+1, 1,
- "Switching Type: %s",
- rval_to_str(tvb_get_guint8(tvb,offset2+1),
- gmpls_switching_type_rvals, "Unknown (%d)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 2,
- "G-PID: %s (0x%0x)",
- rval_to_str(l3pid, gmpls_gpid_rvals,
- val_to_str(l3pid, etype_vals,
- "Unknown G-PID(0x%04x)")),
- l3pid);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_lsp_encoding_type, tvb, offset2, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_switching_type, tvb, offset2+1, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_g_pid, tvb, offset2+2, 2, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LABEL REQUEST: Generalized: LSP Encoding=%s, "
"Switching Type=%s, G-PID=%s ",
rval_to_str(lsp_enc, gmpls_lsp_enc_rvals, "Unknown (%d)"),
@@ -3999,8 +3975,7 @@ dissect_rsvp_label_request(proto_item *ti, proto_tree *rsvp_object_tree,
}
default:
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_request_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
} /* switch(type) */
}
@@ -4205,9 +4180,7 @@ dissect_rsvp_label(proto_tree *ti, proto_tree *rsvp_object_tree,
case 1:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 (Packet Label)");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Label: %u",
- tvb_get_ntohl(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_label, tvb, offset2, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "%s: %u", name,
tvb_get_ntohl(tvb, offset2));
break;
@@ -4219,10 +4192,7 @@ dissect_rsvp_label(proto_tree *ti, proto_tree *rsvp_object_tree,
/* FF: no generalized label interpretation */
proto_item_set_text(ti, "%s: Generalized: ", name);
for (i = 0; i < mylen; i += 4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+i, 4,
- "Generalized Label: %u (0x%x)",
- tvb_get_ntohl(tvb, offset2+i),
- tvb_get_ntohl(tvb, offset2+i));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_generalized_label, tvb, offset2+i, 4, ENC_BIG_ENDIAN);
if (i < 16) {
proto_item_append_text(ti, "0x%x%s",
tvb_get_ntohl(tvb, offset2+i),
@@ -4244,21 +4214,27 @@ dissect_rsvp_label(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "4 (Generalized Channel_set)");
proto_item_append_text(ti, ": Generalized Channel_set");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, mylen,
- "Data (%d bytes)", mylen);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_data, tvb, offset2, mylen, ENC_NA);
break;
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, mylen,
- "Data (%d bytes)", mylen);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_data, tvb, offset2, mylen, ENC_NA);
break;
}
}
/*------------------------------------------------------------------------------
* LABEL_SET
*------------------------------------------------------------------------------*/
+static const value_string action_type_vals[] = {
+ { 0, "Inclusive list"},
+ { 1, "Exclusive list"},
+ { 2, "Inclusive range"},
+ { 3, "Exclusive range"},
+ { 0, NULL}
+};
+
static void
dissect_rsvp_label_set(proto_item *ti, proto_tree *rsvp_object_tree,
tvbuff_t *tvb,
@@ -4269,23 +4245,12 @@ dissect_rsvp_label_set(proto_item *ti, proto_tree *rsvp_object_tree,
guint8 label_type;
int len, i;
- static const value_string action_type_vals[] = {
- { 0, "Inclusive list"},
- { 1, "Exclusive list"},
- { 2, "Inclusive range"},
- { 3, "Exclusive range"},
- { 0, NULL}
- };
- static value_string_ext action_type_vals_ext = VALUE_STRING_EXT_INIT(action_type_vals);
-
len = obj_length - 8;
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1, "Action: %s",
- val_to_str_ext(tvb_get_guint8(tvb, offset+4),
- &action_type_vals_ext, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_label_set_action, tvb, offset+4, 1, ENC_NA);
proto_item_append_text(ti, ": %s",
- val_to_str_ext(tvb_get_guint8(tvb, offset+4),
- &action_type_vals_ext, "Unknown (%u)"));
+ val_to_str(tvb_get_guint8(tvb, offset+4),
+ action_type_vals, "Unknown (%u)"));
label_type = tvb_get_guint8 (tvb, offset+7);
proto_tree_add_text(rsvp_object_tree, tvb, offset+7, 1, "Label type: %s",
(label_type == 1) ? "Packet Label" : "Generalized Label");
@@ -4331,24 +4296,16 @@ dissect_rsvp_session_attribute(proto_item *ti, proto_tree *rsvp_object_tree,
type, (type == 1) ? "" : "No ");
if (type == 1) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Exclude-Any: 0x%0x", tvb_get_ntohl(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, 4,
- "Include-Any: 0x%0x", tvb_get_ntohl(tvb, offset2+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+8, 4,
- "Include-All: 0x%0x", tvb_get_ntohl(tvb, offset2+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_exclude_any, tvb, offset2, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_include_any, tvb, offset2+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_include_all, tvb, offset2+8, 4, ENC_BIG_ENDIAN);
offset2 = offset2+12;
}
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1,
- "Setup priority: %u",
- tvb_get_guint8(tvb, offset2));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+1, 1,
- "Hold priority: %u",
- tvb_get_guint8(tvb, offset2+1));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_setup_priority, tvb, offset2, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_hold_priority, tvb, offset2+1, 1, ENC_NA);
flags = tvb_get_guint8(tvb, offset2+2);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+2, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_flags, tvb, offset2+2, 1, ENC_NA);
rsvp_sa_flags_tree = proto_item_add_subtree(ti2,
TREE(TT_SESSION_ATTRIBUTE_FLAGS));
proto_tree_add_item(rsvp_sa_flags_tree, hf_rsvp_sa_flags_local,
@@ -4363,11 +4320,8 @@ dissect_rsvp_session_attribute(proto_item *ti, proto_tree *rsvp_object_tree,
tvb, offset2+2, 1, ENC_BIG_ENDIAN);
name_len = tvb_get_guint8(tvb, offset2+3);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+3, 1,
- "Name length: %u", name_len);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+4, name_len,
- "Name: %s",
- tvb_format_text(tvb, offset2+4, name_len));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_name_length, tvb, offset2+3, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_name, tvb, offset2+4, name_len, ENC_NA|ENC_ASCII);
proto_item_set_text(ti, "SESSION ATTRIBUTE: SetupPrio %d, HoldPrio %d, %s%s%s%s%s [%s]",
tvb_get_guint8(tvb, offset2),
@@ -4383,8 +4337,7 @@ dissect_rsvp_session_attribute(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_session_attribute_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -4432,15 +4385,9 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 1 (IPv4)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 4,
- "IPv4 hop: %s",
- tvb_ip_to_str(tvb, offset+l+2));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+6, 1,
- "Prefix length: %u",
- tvb_get_guint8(tvb, offset+l+6));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_ipv4_hop, tvb, offset+l+2, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_prefix_length, tvb, offset+l+6, 1, ENC_NA);
if (i < 4) {
proto_item_append_text(ti, "IPv4 %s%s",
tvb_ip_to_str(tvb, offset+l+2),
@@ -4456,8 +4403,7 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
if (flags&0x02) proto_item_append_text(ti2, ", Local Protection In Use");
if (flags&0x04) proto_item_append_text(ti2, ", Backup BW Avail");
if (flags&0x08) proto_item_append_text(ti2, ", Backup is Next-Next-Hop");
- ti2 = proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+7, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_flags, tvb, offset+l+7, 1, ENC_NA);
rsvp_rro_flags_subtree =
proto_item_add_subtree(ti2, TREE(TT_RECORD_ROUTE_SUBOBJ_FLAGS));
proto_tree_add_item(rsvp_rro_flags_subtree, hf_rsvp_rro_flags_local_avail,
@@ -4486,15 +4432,9 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 2 (IPv6)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 16,
- "IPv6 hop: %s",
- tvb_ip6_to_str(tvb, offset+l+2));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+18, 1,
- "Prefix length: %u",
- tvb_get_guint8(tvb, offset+l+18));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_ipv6_hop, tvb, offset+l+2, 16, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_prefix_length, tvb, offset+l+18, 1, ENC_NA);
if (i < 4) {
proto_item_append_text(ti, "IPv6 [...]%s", k ? " [L]":"");
}
@@ -4508,8 +4448,7 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
if (flags&0x02) proto_item_append_text(ti2, ", Local Protection In Use");
if (flags&0x04) proto_item_append_text(ti2, ", Backup BW Avail");
if (flags&0x08) proto_item_append_text(ti2, ", Backup is Next-Next-Hop");
- ti2 = proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+19, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_flags, tvb, offset+l+19, 1, ENC_NA);
rsvp_rro_flags_subtree =
proto_item_add_subtree(ti2, TREE(TT_RECORD_ROUTE_SUBOBJ_FLAGS));
@@ -4543,26 +4482,19 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 3 (Label)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
if (rsvp_class == RSVP_CLASS_RECORD_ROUTE) {
flags = tvb_get_guint8(tvb, offset+l+2);
if (flags&0x01) proto_item_append_text(ti2, "The label will be understood if received on any interface");
- ti2 = proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_flags, tvb, offset+l+2, 1, ENC_NA);
rsvp_rro_flags_subtree =
proto_item_add_subtree(ti2, TREE(TT_RECORD_ROUTE_SUBOBJ_FLAGS));
proto_tree_add_item(rsvp_rro_flags_subtree, hf_rsvp_rro_flags_global_label,
tvb, offset+l+2, 1, ENC_BIG_ENDIAN);
}
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+3, 1,
- "C-Type: %u",
- tvb_get_guint8(tvb, offset+l+3));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+4, 4,
- "Label: %d",
- tvb_get_ntohl(tvb, offset+l+4));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ctype, tvb, offset+l+3, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_label, tvb, offset+l+4, 4, ENC_BIG_ENDIAN);
if (i < 4) {
proto_item_append_text(ti, "Label %d%s",
tvb_get_ntohl(tvb, offset+l+4),
@@ -4586,15 +4518,12 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 4 (Unnumbered Interface-ID)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
if (rsvp_class == RSVP_CLASS_RECORD_ROUTE) {
flags = tvb_get_guint8(tvb, offset+l+2);
if (flags&0x01) proto_item_append_text(ti2, ", Local Protection Available");
if (flags&0x02) proto_item_append_text(ti2, ", Local Protection In Use");
- ti2 = proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_flags, tvb, offset+l+2, 1, ENC_NA);
rsvp_rro_flags_subtree =
proto_item_add_subtree(ti2, TREE(TT_RECORD_ROUTE_SUBOBJ_FLAGS));
proto_tree_add_item(rsvp_rro_flags_subtree, hf_rsvp_rro_flags_local_avail,
@@ -4602,12 +4531,8 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_item(rsvp_rro_flags_subtree, hf_rsvp_rro_flags_local_in_use,
tvb, offset+l+2, 1, ENC_BIG_ENDIAN);
}
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+4, 4,
- "Router-ID: %s",
- tvb_ip_to_str(tvb, offset+l+4));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+8, 4,
- "Interface-ID: %d",
- tvb_get_ntohl(tvb, offset+l+8));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_router_id, tvb, offset+l+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_interface_id, tvb, offset+l+8, 4, ENC_BIG_ENDIAN);
if (i < 4) {
proto_item_append_text(ti, "Unnum %s/%d%s",
tvb_ip_to_str(tvb, offset+l+4),
@@ -4627,9 +4552,7 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_item_add_subtree(ti2, tree_type);
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 32 (Autonomous System Number)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 2,
"Autonomous System %u", k);
if (i < 4) {
@@ -4650,14 +4573,9 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_item_add_subtree(ti2, tree_type);
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 64 (Path Key with IPv4 PCE-ID)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 2,
- "Path Key: %u", k);
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+4, 4,
- "PCE-ID: %s",
- tvb_ip_to_str(tvb, offset+l+4));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_path_key, tvb, offset+l+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_pce_id_ipv4, tvb, offset+l+4, 4, ENC_BIG_ENDIAN);
if (i < 4) {
proto_item_append_text(ti, "Path Key %d", k);
}
@@ -4675,14 +4593,9 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_item_add_subtree(ti2, tree_type);
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: 65 (Path Key with IPv6 PCE-ID)");
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+2, 2,
- "Path Key: %u", k);
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+4, 4,
- "PCE-ID: %s",
- tvb_ip6_to_str(tvb, offset+l+4));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_path_key, tvb, offset+l+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_pce_id_ipv6, tvb, offset+l+4, 16, ENC_NA);
if (i < 4) {
proto_item_append_text(ti, "Path Key %d", k);
}
@@ -4737,19 +4650,14 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: %u (Private)", j);
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- private_so_len);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_private_length, tvb, offset+l+1, 1, ENC_NA);
proto_tree_add_item(rsvp_ro_subtree,
hf_rsvp_filter[RSVPF_ENT_CODE],
tvb, offset+l+4, 4, ENC_BIG_ENDIAN);
if (private_so_len > 8) {
/* some private data */
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+8,
- private_so_len - 8,
- "Data (%d bytes)",
- private_so_len - 8);
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_private_data, tvb, offset+l+8, private_so_len - 8, ENC_NA);
}
}
break;
@@ -4767,9 +4675,7 @@ dissect_rsvp_ero_rro_subobjects(proto_tree *ti, proto_tree *rsvp_object_tree,
k ? "Loose Hop " : "Strict Hop");
proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l, 1,
"Type: %u (Unknown)", j);
- proto_tree_add_text(rsvp_ro_subtree, tvb, offset+l+1, 1,
- "Length: %u",
- tvb_get_guint8(tvb, offset+l+1));
+ proto_tree_add_item(rsvp_ro_subtree, hf_rsvp_ero_rro_subobjects_length, tvb, offset+l+1, 1, ENC_NA);
break;
}
@@ -4953,8 +4859,7 @@ dissect_rsvp_explicit_route(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_explicit_route_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -4980,8 +4885,7 @@ dissect_rsvp_record_route(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_record_route_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -5007,8 +4911,7 @@ dissect_rsvp_exclude_route(proto_item *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset + 3, 1,
ctype, "Unknown (%u)",
ctype);
- proto_tree_add_text(rsvp_object_tree, tvb, offset + 4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_exclude_route_data, tvb, offset + 4, obj_length - 4, ENC_NA);
break;
}
}
@@ -5027,12 +4930,9 @@ dissect_rsvp_message_id(proto_tree *ti, proto_tree *rsvp_object_tree,
switch(type) {
case 1:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1,
- "Flags: %d", tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+5, 3,
- "Epoch: %d", tvb_get_ntoh24(tvb, offset+5));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Message-ID: %d", tvb_get_ntohl(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_flags, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_epoch, tvb, offset+5, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_message_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "MESSAGE-ID: %d %s",
tvb_get_ntohl(tvb, offset+8),
tvb_get_guint8(tvb, offset+4) & 1 ? "(Ack Desired)" : "");
@@ -5041,8 +4941,7 @@ dissect_rsvp_message_id(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -5061,31 +4960,24 @@ dissect_rsvp_message_id_ack(proto_tree *ti, proto_tree *rsvp_object_tree,
switch(type) {
case 1:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1,
- "Flags: %d", tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+5, 3,
- "Epoch: %d", tvb_get_ntoh24(tvb, offset+5));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Message-ID: %d", tvb_get_ntohl(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_flags, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_epoch, tvb, offset+5, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_message_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "MESSAGE-ID ACK: %d", tvb_get_ntohl(tvb, offset+8));
break;
case 2:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1,
- "Flags: %d", tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+5, 3,
- "Epoch: %d", tvb_get_ntoh24(tvb, offset+5));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Message-ID: %d", tvb_get_ntohl(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_flags, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_epoch, tvb, offset+5, 3, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_message_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "MESSAGE-ID NACK: %d", tvb_get_ntohl(tvb, offset+8));
break;
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_ack_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -5105,13 +4997,10 @@ dissect_rsvp_message_id_list(proto_tree *ti, proto_tree *rsvp_object_tree,
switch(type) {
case 1:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1,
- "Flags: %d", tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+5, 3,
- "Epoch: %d", tvb_get_ntoh24(tvb, offset+5));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_list_flags, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_list_epoch, tvb, offset+5, 3, ENC_BIG_ENDIAN);
for (mylen = 8; mylen < obj_length; mylen += 4)
- proto_tree_add_text(rsvp_object_tree, tvb, offset+mylen, 4,
- "Message-ID: %d", tvb_get_ntohl(tvb, offset+mylen));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_list_message_id, tvb, offset+mylen, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "MESSAGE-ID LIST: %d IDs",
(obj_length - 8)/4);
break;
@@ -5119,8 +5008,7 @@ dissect_rsvp_message_id_list(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_message_id_list_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -5141,10 +5029,8 @@ dissect_rsvp_hello(proto_tree *ti, proto_tree *rsvp_object_tree,
"C-Type: %d - HELLO %s object",
tvb_get_guint8 (tvb, offset+3),
type==1 ? "REQUEST" : "ACK");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 4,
- "Source Instance: 0x%x",tvb_get_ntohl(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Destination Instance: 0x%x",tvb_get_ntohl(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hello_source_instance, tvb, offset+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_hello_destination_instance, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, ": %s. Src Instance: 0x%0x. Dest Instance: 0x%0x. ",
type==1 ? "REQUEST" : "ACK",
tvb_get_ntohl(tvb, offset+4),
@@ -5174,10 +5060,7 @@ dissect_rsvp_dclass(proto_tree *ti, proto_tree *rsvp_object_tree,
case 1:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
for (mylen = 4; mylen < obj_length; mylen += 4) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset+mylen+3, 1,
- "DSCP: %s",
- val_to_str_ext(tvb_get_guint8(tvb, offset+mylen+3),
- &dscp_vals_ext, "Unknown (%d)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_dclass_dscp, tvb, offset+mylen+3, 1, ENC_NA);
proto_item_append_text(ti, "%d%s",
tvb_get_guint8(tvb, offset+mylen+3)>>2,
mylen==obj_length-4 ? "":
@@ -5190,8 +5073,7 @@ dissect_rsvp_dclass(proto_tree *ti, proto_tree *rsvp_object_tree,
mylen = obj_length - 4;
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, mylen,
- "Data (%d bytes)", mylen);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_dclass_data, tvb, offset2, mylen, ENC_NA);
break;
}
}
@@ -5214,8 +5096,7 @@ dissect_rsvp_admin_status(proto_tree *ti, proto_tree *rsvp_object_tree,
case 1:
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
status = tvb_get_ntohl(tvb, offset2);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Admin Status: 0x%08x", status);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_admin_status, tvb, offset2, 4, ENC_BIG_ENDIAN);
rsvp_admin_subtree =
proto_item_add_subtree(ti2, TREE(TT_ADMIN_STATUS_FLAGS));
@@ -5257,8 +5138,7 @@ dissect_rsvp_admin_status(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_admin_status_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -5296,8 +5176,7 @@ dissect_rsvp_lsp_attributes(proto_tree *ti, proto_tree *rsvp_object_tree,
switch(tlv_type) {
case 1:
attributes = tvb_get_ntohl(tvb, offset+tlv_off+4);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset+tlv_off, tlv_len,
- "LSP attributes TLV: 0x%08x", attributes);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_attributes_tlv, tvb, offset+tlv_off, 4, ENC_BIG_ENDIAN);
rsvp_lsp_attr_subtree = proto_item_add_subtree(ti2, TREE(TT_LSP_ATTRIBUTES_FLAGS));
proto_tree_add_item(rsvp_lsp_attr_subtree, hf_rsvp_lsp_attr_e2e,
tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
@@ -5357,8 +5236,7 @@ dissect_rsvp_lsp_attributes(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_attributes_tlv_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -5366,6 +5244,15 @@ dissect_rsvp_lsp_attributes(proto_tree *ti, proto_tree *rsvp_object_tree,
/*------------------------------------------------------------------------------
* ASSOCIATION
*------------------------------------------------------------------------------*/
+static const value_string association_type_vals[] = {
+ { 0, "Reserved"},
+ { 1, "Recovery"},
+ { 2, "Resource Sharing"},
+ { 3, "Segment Recovery"},
+ { 4, "Inter-domain Recovery"},
+ { 0, NULL}
+};
+
static void
dissect_rsvp_association(proto_tree *ti, proto_tree *rsvp_object_tree,
tvbuff_t *tvb,
@@ -5375,16 +5262,6 @@ dissect_rsvp_association(proto_tree *ti, proto_tree *rsvp_object_tree,
guint16 association_type;
guint16 association_id;
- static const value_string association_type_vals[] = {
- { 0, "Reserved"},
- { 1, "Recovery"},
- { 2, "Resource Sharing"},
- { 3, "Segment Recovery"},
- { 4, "Inter-domain Recovery"},
- { 0, NULL}
- };
- static value_string_ext association_type_vals_ext = VALUE_STRING_EXT_INIT(association_type_vals);
-
proto_item_set_text(ti, "ASSOCIATION ");
association_type = tvb_get_ntohs (tvb, offset + 4);
association_id = tvb_get_ntohs (tvb, offset + 6);
@@ -5393,16 +5270,12 @@ dissect_rsvp_association(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 (IPv4)");
proto_item_append_text(ti, "(IPv4): ");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 2,
- "Association type: %s",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_type, tvb, offset+4, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%s. ",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+6, 2,
- "Association ID: %u", association_id);
+ val_to_str(association_type, association_type_vals, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_id, tvb, offset+6, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "ID: %u. ", association_id);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Association source: %s", tvb_ip_to_str(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_source_ipv4, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Src: %s", tvb_ip_to_str(tvb, offset+8));
break;
@@ -5410,16 +5283,12 @@ dissect_rsvp_association(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 (IPv6)");
proto_item_append_text(ti, "(IPv6): ");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 2,
- "Association type: %s",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_type, tvb, offset+4, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%s. ",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+6, 2,
- "Association ID: %u", association_id);
+ val_to_str(association_type, association_type_vals, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_id, tvb, offset+6, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "ID: %u. ", association_id);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 16,
- "Association source: %s", tvb_ip6_to_str(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_source_ipv6, tvb, offset+8, 16, ENC_NA);
proto_item_append_text(ti, "Src: %s", tvb_ip6_to_str(tvb, offset+8));
break;
@@ -5427,29 +5296,22 @@ dissect_rsvp_association(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "4 (Routing Area)");
proto_item_append_text(ti, "(Routing Area): ");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 2,
- "Association type: %s",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_type, tvb, offset+4, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "%s. ",
- val_to_str_ext(association_type, &association_type_vals_ext, "Unknown (%u)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+6, 2,
- "Association ID: %u", association_id);
+ val_to_str(association_type, association_type_vals, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_id, tvb, offset+6, 2, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Association ID: %u, ", association_id);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Routing Area ID: %u", tvb_get_ntohl (tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_routing_area_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Routing Area ID: %u, ", tvb_get_ntohl (tvb, offset+8));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+12, 4,
- "Node ID: %s", tvb_ip_to_str(tvb, offset+12));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_node_id, tvb, offset+12, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Node ID: %s", tvb_ip_to_str(tvb, offset+12));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 16,
- "Padding: %s", tvb_bytes_to_ep_str_punct(tvb, offset+16, 8, ' '));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_padding, tvb, offset+8, 16, ENC_NA);
break;
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_association_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -5485,11 +5347,8 @@ dissect_rsvp_lsp_tunnel_if_id_tlv(proto_tree *rsvp_object_tree,
rsvp_lsp_tunnel_if_id_subtree = proto_item_add_subtree(ti, subtree_type);
proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off, 2,
"Type: 1 (Unnumbered component link identifier)");
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u", tlv_len);
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+4, 4,
- "Component link identifier: %u",
- tvb_get_ntohl(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_component_link_identifier, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
break;
case 2:
@@ -5500,11 +5359,8 @@ dissect_rsvp_lsp_tunnel_if_id_tlv(proto_tree *rsvp_object_tree,
rsvp_lsp_tunnel_if_id_subtree = proto_item_add_subtree(ti, subtree_type);
proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off, 2,
"Type: 2 (IPv4 component link identifier)");
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u", tlv_len);
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+4, 4,
- "Component link identifier: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+4));
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_component_link_identifier_ipv4, tvb, offset+tlv_off+4, 4, ENC_BIG_ENDIAN);
break;
case 32769: /* oif-p0040.002.09 demo spec */
@@ -5514,30 +5370,13 @@ dissect_rsvp_lsp_tunnel_if_id_tlv(proto_tree *rsvp_object_tree,
rsvp_lsp_tunnel_if_id_subtree = proto_item_add_subtree(ti, subtree_type);
proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off, 2,
"Type: 32769 (Targeted client layer)");
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+2, 2,
- "Length: %u", tlv_len);
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+4, 1,
- "LSP Encoding Type: %s",
- rval_to_str(tvb_get_guint8(tvb,offset+tlv_off+4),
- gmpls_lsp_enc_rvals, "Unknown (%d)"));
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+5, 1,
- "Switching Type: %s",
- rval_to_str(tvb_get_guint8(tvb,offset+tlv_off+5),
- gmpls_switching_type_rvals, "Unknown (%d)"));
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+6, 1,
- "Signal Type: %s",
- val_to_str_ext(tvb_get_guint8(tvb,offset+tlv_off+6),
- &gmpls_sonet_signal_type_str_ext, "Unknown (%d)"));
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+8, 8,
- "Sub Interface/Connection ID: %" G_GINT64_MODIFIER "u (0x%s)",
- tvb_get_ntoh64(tvb, offset+tlv_off+8),
- tvb_bytes_to_ep_str(tvb, offset+tlv_off+8, 8));
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+16, 4,
- "SC PC ID: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+16));
- proto_tree_add_text(rsvp_lsp_tunnel_if_id_subtree, tvb, offset+tlv_off+20, 4,
- "SC PC SCN Address: %s",
- tvb_ip_to_str(tvb, offset+tlv_off+20));
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_length, tvb, offset+tlv_off+2, 2, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_lsp_encoding_type, tvb, offset+tlv_off+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_switching_type, tvb, offset+tlv_off+5, 1, ENC_NA);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_signal_type, tvb, offset+tlv_off+6, 1, ENC_NA);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_connection_id, tvb, offset+tlv_off+8, 8, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_sc_pc_id, tvb, offset+tlv_off+16, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_lsp_tunnel_if_id_subtree, hf_rsvp_lsp_tunnel_if_id_sc_pc_scn_address, tvb, offset+tlv_off+20, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "LSP Encoding=%s, Switching Type=%s, Signal Type=%s",
rval_to_str(tvb_get_guint8(tvb,offset+tlv_off+4),
gmpls_lsp_enc_rvals, "Unknown (%d)"),
@@ -5559,6 +5398,14 @@ dissect_rsvp_lsp_tunnel_if_id_tlv(proto_tree *rsvp_object_tree,
/*------------------------------------------------------------------------------
* LSP TUNNEL INTERFACE ID
*------------------------------------------------------------------------------*/
+static const value_string lsp_tunnel_if_id_action_str[] = {
+ { 0, "LSP is FA (MPLS-TE topology advertisement only)"},
+ { 1, "LSP is RA (IP network advertisement only)"},
+ { 2, "LSP is RA (both IP and MPLS-TE topology advertisement)"},
+ { 3, "LSP is to be used as a virtual local link"},
+ { 0, NULL}
+};
+
static void
dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
tvbuff_t *tvb,
@@ -5566,25 +5413,13 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
int rsvp_class _U_, int type)
{
guint8 action;
-
- static const value_string lsp_tunnel_if_id_action_str[] = {
- { 0, "LSP is FA (MPLS-TE topology advertisement only)"},
- { 1, "LSP is RA (IP network advertisement only)"},
- { 2, "LSP is RA (both IP and MPLS-TE topology advertisement)"},
- { 3, "LSP is to be used as a virtual local link"},
- { 0, NULL}
- };
-
proto_item_set_text(ti, "LSP INTERFACE-ID: ");
switch(type) {
case 1:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - Unnumbered interface");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 4,
- "Router ID: %s",
- tvb_ip_to_str(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Interface ID: %u", tvb_get_ntohl(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_router_id, tvb, offset+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_interface_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LSP INTERFACE-ID: Unnumbered, Router-ID %s, Interface-ID %d",
tvb_ip_to_str(tvb, offset+4),
tvb_get_ntohl(tvb, offset+8));
@@ -5593,21 +5428,15 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
case 2:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv4");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 4,
- "IPv4 interface address: %s",
- tvb_ip_to_str(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Target IGP instance: %s",
- tvb_ip_to_str(tvb, offset+8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_ipv4_interface_address, tvb, offset+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_target_igp_instance, tvb, offset+8, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LSP INTERFACE-ID: IPv4, interface address %s,"
"IGP instance %s",
tvb_ip_to_str(tvb, offset+4),
tvb_ip_to_str(tvb, offset+8));
action = tvb_get_guint8(tvb, offset+12);
action >>= 4;
- proto_tree_add_text(rsvp_object_tree, tvb, offset+12, 1, "Action: %d - %s",
- action,
- val_to_str_const(action, lsp_tunnel_if_id_action_str, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_action, tvb, offset+12, 1, ENC_NA);
dissect_rsvp_lsp_tunnel_if_id_tlv(rsvp_object_tree, tvb, offset+16, obj_length-16,
TREE(TT_LSP_TUNNEL_IF_ID_SUBTREE));
break;
@@ -5615,21 +5444,15 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
case 3:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "3 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 16,
- "IPv6 interface address: %s",
- tvb_ip6_to_str(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+20, 4,
- "Target IGP instance: %s",
- tvb_ip_to_str(tvb, offset+20));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_ipv6_interface_address, tvb, offset+4, 16, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_target_igp_instance, tvb, offset+20, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LSP INTERFACE-ID: IPv6, interface address %s,"
"IGP instance %s",
tvb_ip6_to_str(tvb, offset+4),
tvb_ip_to_str(tvb, offset+20));
action = tvb_get_guint8(tvb, offset+24);
action >>= 4;
- proto_tree_add_text(rsvp_object_tree, tvb, offset+24, 1, "Action: %d - %s",
- action,
- val_to_str_const(action, lsp_tunnel_if_id_action_str, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_action, tvb, offset+24, 1, ENC_NA);
dissect_rsvp_lsp_tunnel_if_id_tlv(rsvp_object_tree, tvb, offset+28, obj_length-28,
TREE(TT_LSP_TUNNEL_IF_ID_SUBTREE));
break;
@@ -5637,14 +5460,9 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
case 4:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "4 - Unnumbered interface with target");
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 4,
- "Router ID: %s",
- tvb_ip_to_str(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Interface ID: %u", tvb_get_ntohl(tvb, offset+8));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+12, 4,
- "Target IGP instance: %s",
- tvb_ip_to_str(tvb, offset+12));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_router_id, tvb, offset+4, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_interface_id, tvb, offset+8, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_target_igp_instance, tvb, offset+12, 4, ENC_BIG_ENDIAN);
proto_item_set_text(ti, "LSP INTERFACE-ID: Unnumbered with target, Router-ID %s,"
" Interface-ID %d, IGP instance %s",
tvb_ip_to_str(tvb, offset+4),
@@ -5652,9 +5470,7 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
tvb_ip_to_str(tvb, offset+12));
action = tvb_get_guint8(tvb, offset+16);
action >>= 4;
- proto_tree_add_text(rsvp_object_tree, tvb, offset+16, 1, "Action: %d - %s",
- action,
- val_to_str_const(action, lsp_tunnel_if_id_action_str, "Unknown"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_action, tvb, offset+16, 1, ENC_NA);
dissect_rsvp_lsp_tunnel_if_id_tlv(rsvp_object_tree, tvb, offset+20, obj_length-20,
TREE(TT_LSP_TUNNEL_IF_ID_SUBTREE));
break;
@@ -5662,8 +5478,7 @@ dissect_rsvp_lsp_tunnel_if_id(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length-4,
- "Data (%d bytes)", obj_length-4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_lsp_tunnel_if_id_data, tvb, offset+4, obj_length-4, ENC_NA);
break;
}
}
@@ -5683,9 +5498,7 @@ dissect_rsvp_notify_request(proto_item *ti, proto_tree *rsvp_object_tree,
case 1: {
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "1 - IPv4");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 4,
- "Notify node address: %s",
- tvb_ip_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_notify_request_notify_node_address_ipv4, tvb, offset2, 4, ENC_BIG_ENDIAN);
proto_item_append_text(ti, ": Notify node: %s",
tvb_ip_to_str(tvb, offset2));
break;
@@ -5694,9 +5507,7 @@ dissect_rsvp_notify_request(proto_item *ti, proto_tree *rsvp_object_tree,
case 2: {
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "2 - IPv6");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 16,
- "Notify node address: %s",
- tvb_ip6_to_str(tvb, offset2));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_notify_request_notify_node_address_ipv6, tvb, offset2, 16, ENC_NA);
proto_item_append_text(ti, ": Notify node: %s",
tvb_ip6_to_str(tvb, offset2));
break;
@@ -5705,8 +5516,7 @@ dissect_rsvp_notify_request(proto_item *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_notify_request_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -6020,6 +5830,15 @@ dissect_rsvp_gen_uni(proto_tree *ti, proto_tree *rsvp_object_tree,
/*------------------------------------------------------------------------------
* CALL_ID
*------------------------------------------------------------------------------*/
+static const value_string address_type_vals[] = {
+ { 1, "1 (IPv4)"},
+ { 2, "2 (IPv6)"},
+ { 3, "3 (NSAP)"},
+ { 4, "4 (MAC)"},
+ { 0x7f, "0x7f (Vendor-defined)"},
+ { 0, NULL}
+};
+
static void
dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
tvbuff_t *tvb,
@@ -6031,16 +5850,6 @@ dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
int offset2 = offset + 4;
int offset3, offset4, len;
- static const value_string address_type_vals[] = {
- { 1, "1 (IPv4)"},
- { 2, "2 (IPv6)"},
- { 3, "3 (NSAP)"},
- { 4, "4 (MAC)"},
- { 0x7f, "0x7f (Vendor-defined)"},
- { 0, NULL}
- };
- static value_string_ext address_type_vals_ext = VALUE_STRING_EXT_INIT(address_type_vals);
-
proto_item_set_text(ti, "CALL-ID: ");
switch(c_type) {
case 0:
@@ -6048,8 +5857,7 @@ dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
c_type, "Empty (%u)", c_type);
if (obj_length > 4)
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length-4,
- "Data (%d bytes)", obj_length-4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_data, tvb, offset2, obj_length-4, ENC_NA);
break;
case 1:
case 2:
@@ -6059,28 +5867,23 @@ dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
len = obj_length - 16;
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
c_type, "1 (operator specific)");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1, "Address type: %s",
- val_to_str_ext(type, &address_type_vals_ext, "Unknown (%u)"));
- proto_tree_add_text(rsvp_object_tree, tvb, offset2+1, 3, "Reserved: %u",
- tvb_get_ntoh24(tvb, offset2+1));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_address_type, tvb, offset2, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_reserved, tvb, offset2+1, 3, ENC_BIG_ENDIAN);
proto_item_append_text(ti, "Operator-Specific. Addr Type: %s. ",
- val_to_str_ext(type, &address_type_vals_ext, "Unknown (%u)"));
+ val_to_str(type, address_type_vals, "Unknown (%u)"));
}
else {
offset3 = offset2 + 16;
len = obj_length - 28;
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
c_type, "2 (globally unique)");
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, 1, "Address type: %s",
- val_to_str_ext(type, &address_type_vals_ext, "Unknown (%u)"));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_address_type, tvb, offset2, 1, ENC_NA);
str = tvb_get_string (wmem_packet_scope(), tvb, offset2 + 1, 3);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 1, 3,
- "International Segment: %s", str);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_international_segment, tvb, offset2 + 1, 3, ENC_NA|ENC_ASCII);
proto_item_append_text(ti, "Globally-Unique. Addr Type: %s. Intl Segment: %s. ",
- val_to_str_ext(type, &address_type_vals_ext, "Unknown (%u)"), str);
+ val_to_str(type, address_type_vals, "Unknown (%u)"), str);
str = tvb_get_string (wmem_packet_scope(), tvb, offset2 + 4, 12);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2 + 4, 12,
- "National Segment: %s", str);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_national_segment, tvb, offset2 + 4, 12, ENC_NA|ENC_ASCII);
proto_item_append_text(ti, "Natl Segment: %s. ", str);
}
@@ -6129,8 +5932,7 @@ dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
}
proto_item_append_text(ti, "Src: %s. ", str);
- proto_tree_add_text(rsvp_object_tree, tvb, offset4, 8, "Local Identifier: %s",
- tvb_bytes_to_ep_str(tvb, offset4, 8));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_local_identifier, tvb, offset4, 8, ENC_NA);
proto_item_append_text(ti, "Local ID: %s. ", tvb_bytes_to_ep_str(tvb, offset4, 8));
break;
@@ -6138,8 +5940,7 @@ dissect_rsvp_call_id(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_item_append_text(ti, " Unknown");
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
c_type, "Unknown (%u)", c_type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length-4,
- "Data (%d bytes)", obj_length-4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_call_id_data, tvb, offset2, obj_length-4, ENC_NA);
break;
}
}
@@ -6608,8 +6409,7 @@ dissect_rsvp_restart_cap(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_restart_cap_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -6636,8 +6436,7 @@ dissect_rsvp_protection_info(proto_tree *ti, proto_tree *rsvp_object_tree,
tvb, offset2, 1, ENC_BIG_ENDIAN);
link_flags = tvb_get_guint8(tvb, offset2+3);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset2+3, 1,
- "Link Flags: 0x%02x", link_flags);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_protection_info_link_flags, tvb, offset2+3, 1, ENC_NA);
rsvp_pi_link_flags_tree = proto_item_add_subtree(ti2, TREE(TT_PROTECTION_INFO_LINK));
proto_tree_add_item(rsvp_pi_link_flags_tree, hf_rsvp_pi_link_flags_extra_traffic,
tvb, offset2+3, 1, ENC_BIG_ENDIAN);
@@ -6765,8 +6564,7 @@ dissect_rsvp_protection_info(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_protection_info_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -6794,30 +6592,22 @@ dissect_rsvp_fast_reroute(proto_tree *ti, proto_tree *rsvp_object_tree,
break;
}
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1, type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, 1,
- "Setup Priority: %d", tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+5, 1,
- "Hold Priority: %d", tvb_get_guint8(tvb, offset+5));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+6, 1,
- "Hop Limit: %d", tvb_get_guint8(tvb, offset+6));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_setup_priority, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_hold_priority, tvb, offset+5, 1, ENC_NA);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_hop_limit, tvb, offset+6, 1, ENC_NA);
flags = tvb_get_guint8(tvb, offset+7);
- ti2 = proto_tree_add_text(rsvp_object_tree, tvb, offset+7, 1,
- "Flags: 0x%02x", flags);
+ ti2 = proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_flags, tvb, offset+7, 1, ENC_NA);
rsvp_frr_flags_tree = proto_item_add_subtree(ti2, TREE(TT_FAST_REROUTE_FLAGS));
proto_tree_add_item(rsvp_frr_flags_tree, hf_rsvp_frr_flags_one2one_backup,
tvb, offset+7, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(rsvp_frr_flags_tree, hf_rsvp_frr_flags_facility_backup,
tvb, offset+7, 1, ENC_BIG_ENDIAN);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+8, 4,
- "Bandwidth: %.10g", tvb_get_ntohieee_float(tvb, offset+8));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+12, 4,
- "Include-Any: 0x%0x", tvb_get_ntohl(tvb, offset+12));
- proto_tree_add_text(rsvp_object_tree, tvb, offset+16, 4,
- "Exclude-Any: 0x%0x", tvb_get_ntohl(tvb, offset+16));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_bandwidth, tvb, offset+8, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_include_any, tvb, offset+12, 4, ENC_BIG_ENDIAN);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_exclude_any, tvb, offset+16, 4, ENC_BIG_ENDIAN);
if (type == 1) {
- proto_tree_add_text(rsvp_object_tree, tvb, offset+20, 4,
- "Include-All: 0x%0x", tvb_get_ntohl(tvb, offset+20));
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_include_all, tvb, offset+20, 4, ENC_BIG_ENDIAN);
}
proto_item_append_text(ti, "%s%s",
@@ -6828,8 +6618,7 @@ dissect_rsvp_fast_reroute(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_fast_reroute_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -6874,8 +6663,7 @@ dissect_rsvp_detour(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset+4, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_detour_data, tvb, offset+4, obj_length - 4, ENC_NA);
break;
}
}
@@ -6933,8 +6721,7 @@ dissect_rsvp_diffserv(proto_tree *ti, proto_tree *rsvp_object_tree,
default:
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset + 1, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_diffserv_data, tvb, offset + 1, obj_length - 4, ENC_NA);
break;
}
}
@@ -6970,8 +6757,7 @@ dissect_rsvp_diffserv_aware_te(proto_tree *ti, proto_tree *rsvp_object_tree,
proto_item_set_text(ti, "CLASSTYPE: (Unknown C-type)");
proto_tree_add_uint_format_value(rsvp_object_tree, hf_rsvp_ctype, tvb, offset+3, 1,
type, "Unknown (%u)", type);
- proto_tree_add_text(rsvp_object_tree, tvb, offset2, obj_length - 4,
- "Data (%d bytes)", obj_length - 4);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_diffserv_aware_te_data, tvb, offset2, obj_length - 4, ENC_NA);
break;
}
}
@@ -7137,14 +6923,12 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
vec_t cksum_vec[1];
int offset = 0;
int len;
- guint8 ver_flags;
guint8 message_type;
int session_off, tempfilt_off;
int msg_length;
int obj_length;
offset = 0;
- ver_flags = tvb_get_guint8(tvb, 0);
msg_length = tvb_get_ntohs(tvb, 6);
message_type = tvb_get_guint8(tvb, 1);
@@ -7169,10 +6953,8 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
proto_item_append_text(ti, " (E2E-IGNORE)");
rsvp_header_tree = proto_item_add_subtree(ti, TREE(TT_HDR));
- proto_tree_add_text(rsvp_header_tree, tvb, offset, 1, "RSVP Version: %u",
- (ver_flags & 0xf0)>>4);
- proto_tree_add_text(rsvp_header_tree, tvb, offset, 1, "Flags: %02x",
- ver_flags & 0xf);
+ proto_tree_add_item(rsvp_header_tree, hf_rsvp_rsvp_version, tvb, offset, 1, ENC_NA);
+ proto_tree_add_item(rsvp_header_tree, hf_rsvp_flags, tvb, offset, 1, ENC_NA);
proto_tree_add_uint(rsvp_header_tree, hf_rsvp_filter[RSVPF_MSG], tvb,
offset+1, 1, message_type);
switch (RSVPF_MSG + message_type) {
@@ -7218,11 +7000,8 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
"Message Checksum: 0x%04x",
cksum);
}
- proto_tree_add_text(rsvp_header_tree, tvb, offset+4, 1,
- "Sending TTL: %u",
- tvb_get_guint8(tvb, offset+4));
- proto_tree_add_text(rsvp_header_tree, tvb, offset+6, 2,
- "Message length: %u", msg_length);
+ proto_tree_add_item(rsvp_header_tree, hf_rsvp_sending_ttl, tvb, offset+4, 1, ENC_NA);
+ proto_tree_add_item(rsvp_header_tree, hf_rsvp_message_length, tvb, offset+6, 2, ENC_BIG_ENDIAN);
offset = 8;
len = 8;
@@ -7261,8 +7040,7 @@ dissect_rsvp_msg_tree(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
"Length: %u (bogus, must be >= 4)", obj_length);
break;
}
- proto_tree_add_text(rsvp_object_tree, tvb, offset, 2,
- "Length: %u", obj_length);
+ proto_tree_add_item(rsvp_object_tree, hf_rsvp_length, tvb, offset, 2, ENC_BIG_ENDIAN);
proto_tree_add_uint(rsvp_object_tree, hf_rsvp_filter[RSVPF_OBJECT], tvb,
offset+2, 1, rsvp_class);
@@ -9199,7 +8977,208 @@ proto_register_rsvp(void)
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL
}
- }
+ },
+ /* Generated from convert_proto_tree_add_text.pl */
+ { &hf_rsvp_session_flags, { "Flags", "rsvp.session.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_destination_address, { "Destination address", "rsvp.session.destination_address", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_protocol, { "Protocol", "rsvp.session.protocol", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_destination_port, { "Destination port", "rsvp.session.destination_port", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_dscp, { "DSCP", "rsvp.session.dscp", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &dscp_vals_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_extended_ipv4_address, { "Extended IPv4 Address", "rsvp.session.extended_ipv4_address", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_data, { "Data", "rsvp.session.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_length, { "Length", "rsvp.ifid_tlv.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_ipv4_address, { "IPv4 address", "rsvp.ifid_tlv.ipv4_address", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_ipv6_address, { "IPv6 address", "rsvp.ifid_tlv.ipv6_address", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlvinterface_id, { "Interface-ID", "rsvp.ifid_tlv.interface_id", FT_UINT32, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_label, { "Label", "rsvp.ifid_tlv.label", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_node_id, { "Node ID", "rsvp.ifid_tlv.node_id", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_area, { "Area", "rsvp.ifid_tlv.area", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_autonomous_system, { "Autonomous System", "rsvp.ifid_tlv.autonomous_system", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_error_string, { "Error String", "rsvp.ifid_tlv.error_string", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_data, { "Data", "rsvp.ifid_tlv.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ifid_tlv_padding, { "Padding", "rsvp.ifid_tlv.padding", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hop_neighbor_address_ipv4, { "Neighbor address", "rsvp.hop.neighbor_address_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hop_logical_interface, { "Logical interface", "rsvp.hop.logical_interface", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hop_neighbor_address_ipv6, { "Neighbor address", "rsvp.neighbor_address_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hop_data, { "Data", "rsvp.hop.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_time_values_data, { "Data", "rsvp.time_values.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_error_error_node_ipv4, { "Error node", "rsvp.error.error_node_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_error_error_node_ipv6, { "Error node", "rsvp.error.error_node_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_error_data, { "Data", "rsvp.error.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_error_error_code, { "Error code", "rsvp.error.error_code", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &rsvp_error_codes_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_scope_ipv4_address, { "IPv4 Address", "rsvp.scope.ipv4_address", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_scope_ipv6_address, { "IPv6 Address", "rsvp.scope.ipv6_address", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_scope_data, { "Data", "rsvp.scope.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_style_flags, { "Flags", "rsvp.style.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_style_style, { "Style", "rsvp.style.style", FT_UINT24, BASE_HEX, VALS(style_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_style_data, { "Data", "rsvp.style.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_confirm_receiver_address_ipv4, { "Receiver address", "rsvp.confirm.receiver_address_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_confirm_receiver_address_ipv6, { "Receiver address", "rsvp.confirm.receiver_address_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_confirm_data, { "Data", "rsvp.confirm.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_template_filter_source_address_ipv6, { "Source address", "rsvp.template_filter.source_address_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_template_filter_source_port, { "Source port", "rsvp.template_filter.source_port", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_template_filter_data, { "Data", "rsvp.template_filter.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_length, { "Length", "rsvp.eth_tspec.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_profile, { "Profile", "rsvp.eth_tspec.profile", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_index, { "Index", "rsvp.eth_tspec.index", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_reserved, { "Reserved", "rsvp.eth_tspec.reserved", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_cir, { "CIR", "rsvp.eth_tspec.cir", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_cbs, { "CBS", "rsvp.eth_tspec.cbs", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_eir, { "EIR", "rsvp.eth_tspec.eir", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_eth_tspec_ebs, { "EBS", "rsvp.eth_tspec.ebs", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_message_format_version, { "Message format version", "rsvp.tspec.message_format_version", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
+ { &hf_rsvp_tspec_service_header, { "Service header", "rsvp.tspec.service_header", FT_UINT8, BASE_DEC, VALS(qos_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_token_bucket_rate, { "Token bucket rate", "rsvp.tspec.token_bucket_rate", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_token_bucket_size, { "Token bucket size", "rsvp.tspec.token_bucket_size", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_peak_data_rate, { "Peak data rate", "rsvp.tspec.peak_data_rate", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_hint, { "Hint", "rsvp.tspec.hint", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_compression_factor, { "Compression Factor", "rsvp.tspec.compression_factor", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_signal_type_sonet, { "Signal Type", "rsvp.tspec.signal_type", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &gmpls_sonet_signal_type_str_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_requested_concatenation, { "Requested Concatenation (RCC)", "rsvp.tspec.requested_concatenation", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_number_of_contiguous_components, { "Number of Contiguous Components (NCC)", "rsvp.tspec.number_of_contiguous_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_number_of_virtual_components, { "Number of Virtual Components (NVC)", "rsvp.tspec.number_of_virtual_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_multiplier, { "Multiplier (MT)", "rsvp.tspec.multiplier", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_transparency, { "Transparency (T)", "rsvp.tspec.transparency", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_profile, { "Profile (P)", "rsvp.tspec.profile", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_signal_type_g709, { "Signal Type", "rsvp.tspec.signal_type", FT_UINT8, BASE_DEC, VALS(gmpls_g709_signal_type_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_number_of_multiplexed_components, { "Number of Multiplexed Components (NMC)", "rsvp.number_of_multiplexed_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_mtu, { "MTU", "rsvp.tspec.mtu", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_tspec_data, { "Data", "rsvp.tspec.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_message_format_version, { "Message format version", "rsvp.flowspec.message_format_version", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_service_header, { "Service header", "rsvp.flowspec.service_header", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &intsrv_services_str_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_token_bucket_rate, { "Token bucket rate", "rsvp.flowspec.token_bucket_rate", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_token_bucket_size, { "Token bucket size", "rsvp.flowspec.token_bucket_size", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_peak_data_rate, { "Peak data rate", "rsvp.flowspec.peak_data_rate", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_rate, { "Rate", "rsvp.flowspec.rate", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_slack_term, { "Slack term", "rsvp.flowspec.slack_term", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_signal_type_sonet, { "Signal Type", "rsvp.flowspec.signal_type", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &gmpls_sonet_signal_type_str_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_requested_concatenation, { "Requested Concatenation (RCC)", "rsvp.flowspec.requested_concatenation", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_number_of_contiguous_components, { "Number of Contiguous Components (NCC)", "rsvp.flowspec.number_of_contiguous_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_number_of_virtual_components, { "Number of Virtual Components (NVC)", "rsvp.flowspec.number_of_virtual_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_multiplier, { "Multiplier (MT)", "rsvp.flowspec.multiplier", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_transparency, { "Transparency (T)", "rsvp.flowspec.transparency", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_profile, { "Profile (P)", "rsvp.flowspec.profile", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_signal_type_g709, { "Signal Type", "rsvp.flowspec.signal_type", FT_UINT8, BASE_DEC, VALS(gmpls_g709_signal_type_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_number_of_multiplexed_components, { "Number of Multiplexed Components (NMC)", "rsvp.flowspec.number_of_multiplexed_components", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_flowspec_mtu, { "MTU", "rsvp.flowspec.mtu", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_adspec_message_format_version, { "Message format version", "rsvp.adspec.message_format_version", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
+ { &hf_rsvp_adspec_service_header, { "Service header", "rsvp.adspec.service_header", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &intsrv_services_str_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_integrity_flags, { "Flags", "rsvp.integrity.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_integrity_key_identifier, { "Key Identifier", "rsvp.integrity.key_identifier", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_integrity_sequence_number, { "Sequence Number", "rsvp.integrity.sequence_number", FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_integrity_hash, { "Hash", "rsvp.integrity.hash", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_policy_data, { "Data", "rsvp.policy.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_l3pid, { "L3PID", "rsvp.label_request.l3pid", FT_UINT16, BASE_HEX, VALS(etype_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_min_vpi, { "Min VPI", "rsvp.label_request.min_vpi", FT_UINT16, BASE_DEC, NULL, 0x7f, NULL, HFILL }},
+ { &hf_rsvp_label_request_min_vci, { "Min VCI", "rsvp.label_request.min_vci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_max_vpi, { "Max VPI", "rsvp.label_request.max_vpi", FT_UINT16, BASE_DEC, NULL, 0x7f, NULL, HFILL }},
+ { &hf_rsvp_label_request_max_vci, { "Max VCI", "rsvp.label_request.max_vci", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_lsp_encoding_type, { "LSP Encoding Type", "rsvp.label_request.lsp_encoding_type", FT_UINT8, BASE_DEC, VALS(gmpls_lsp_enc_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_switching_type, { "Switching Type", "rsvp.label_request.switching_type", FT_UINT8, BASE_DEC, VALS(gmpls_switching_type_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_g_pid, { "G-PID", "rsvp.label_request.g_pid", FT_UINT16, BASE_HEX, VALS(gmpls_gpid_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_request_data, { "Data", "rsvp.label_request.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_label, { "Label", "rsvp.label.label", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_generalized_label, { "Generalized Label", "rsvp.label.generalized_label", FT_UINT32, BASE_DEC_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_data, { "Data", "rsvp.label.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_label_set_action, { "Action", "rsvp.label_set.action", FT_UINT8, BASE_DEC, VALS(action_type_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_exclude_any, { "Exclude-Any", "rsvp.session_attribute.exclude_any", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_include_any, { "Include-Any", "rsvp.session_attribute.include_any", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_include_all, { "Include-All", "rsvp.session_attribute.include_all", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_setup_priority, { "Setup priority", "rsvp.session_attribute.setup_priority", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_hold_priority, { "Hold priority", "rsvp.session_attribute.hold_priority", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_flags, { "Flags", "rsvp.session_attribute.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_name_length, { "Name length", "rsvp.session_attribute.name_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_name, { "Name", "rsvp.session_attribute.name", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_session_attribute_data, { "Data", "rsvp.session_attribute.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_length, { "Length", "rsvp.ero_rro_subobjects.length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_ipv4_hop, { "IPv4 hop", "rsvp.ero_rro_subobjects.ipv4_hop", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_prefix_length, { "Prefix length", "rsvp.ero_rro_subobjects.prefix_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_flags, { "Flags", "rsvp.ero_rro_subobjects.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_ipv6_hop, { "IPv6 hop", "rsvp.ero_rro_subobjects.ipv6_hop", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_label, { "Label", "rsvp.ero_rro_subobjects.label", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_router_id, { "Router-ID", "rsvp.ero_rro_subobjects.router_id", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_interface_id, { "Interface-ID", "rsvp.ero_rro_subobjects.interface_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_path_key, { "Path Key", "rsvp.ero_rro_subobjects.path_key", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_pce_id_ipv4, { "PCE-ID", "rsvp.ero_rro_subobjects.pce_id_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_pce_id_ipv6, { "PCE-ID", "rsvp.ero_rro_subobjects.pce_id_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_private_length, { "Length", "rsvp.ero_rro_subobjects.private_length", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_ero_rro_subobjects_private_data, { "Data", "rsvp.ero_rro_subobjects.private_data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_explicit_route_data, { "Data", "rsvp.explicit_route.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_record_route_data, { "Data", "rsvp.record_route.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_exclude_route_data, { "Data", "rsvp.exclude_route.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_flags, { "Flags", "rsvp.message_id.flags", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_epoch, { "Epoch", "rsvp.message_id.epoch", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_message_id, { "Message-ID", "rsvp.message_id.message_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_data, { "Data", "rsvp.message_id.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_ack_flags, { "Flags", "rsvp.message_id_ack.flags", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_ack_epoch, { "Epoch", "rsvp.message_id_ack.epoch", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_ack_message_id, { "Message-ID", "rsvp.message_id_ack.message_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_ack_data, { "Data", "rsvp.message_id_ack.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_list_flags, { "Flags", "rsvp.message_id_list.flags", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_list_epoch, { "Epoch", "rsvp.message_id_list.epoch", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_list_message_id, { "Message-ID", "rsvp.message_id_list.message_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_id_list_data, { "Data", "rsvp.message_id_list.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hello_source_instance, { "Source Instance", "rsvp.hello.source_instance", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_hello_destination_instance, { "Destination Instance", "rsvp.hello.destination_instance", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_dclass_dscp, { "DSCP", "rsvp.dclass.dscp", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &dscp_vals_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_dclass_data, { "Data", "rsvp.dclass.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_admin_status, { "Admin Status", "rsvp.admin_status", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_admin_status_data, { "Data", "rsvp.admin_status.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_attributes_tlv, { "LSP attributes TLV", "rsvp.lsp_attributes_tlv", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_attributes_tlv_data, { "Data", "rsvp.lsp_attributes_tlv.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_type, { "Association type", "rsvp.association.type", FT_UINT16, BASE_DEC, VALS(association_type_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_id, { "Association ID", "rsvp.association.id", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_source_ipv4, { "Association source", "rsvp.association.source_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_source_ipv6, { "Association source", "rsvp.association.source_ipv6", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_routing_area_id, { "Routing Area ID", "rsvp.association.routing_area_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_node_id, { "Node ID", "rsvp.association.node_id", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_padding, { "Padding", "rsvp.association.padding", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_association_data, { "Data", "rsvp.association.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_length, { "Length", "rsvp.lsp_tunnel_if_id.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_component_link_identifier, { "Component link identifier", "rsvp.lsp_tunnel_if_id.component_link_identifier", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_component_link_identifier_ipv4, { "Component link identifier", "rsvp.lsp_tunnel_if_id.component_link_identifier_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_lsp_encoding_type, { "LSP Encoding Type", "rsvp.lsp_tunnel_if_id.lsp_encoding_type", FT_UINT8, BASE_DEC, VALS(gmpls_lsp_enc_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_switching_type, { "Switching Type", "rsvp.lsp_tunnel_if_id.switching_type", FT_UINT8, BASE_DEC, VALS(gmpls_switching_type_rvals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_signal_type, { "Signal Type", "rsvp.lsp_tunnel_if_id.signal_type", FT_UINT8, BASE_DEC|BASE_EXT_STRING, &gmpls_sonet_signal_type_str_ext, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_connection_id, { "Sub Interface/Connection ID", "rsvp.lsp_tunnel_if_id.connection_id", FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_sc_pc_id, { "SC PC ID", "rsvp.lsp_tunnel_if_id.sc_pc_id", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_sc_pc_scn_address, { "SC PC SCN Address", "rsvp.lsp_tunnel_if_id.sc_pc_scn_address", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_router_id, { "Router ID", "rsvp.lsp_tunnel_if_id.router_id", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_interface_id, { "Interface ID", "rsvp.lsp_tunnel_if_id.interface_id", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_ipv4_interface_address, { "IPv4 interface address", "rsvp.lsp_tunnel_if_id.ipv4_interface_address", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_target_igp_instance, { "Target IGP instance", "rsvp.lsp_tunnel_if_id.target_igp_instance", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_action, { "Action", "rsvp.lsp_tunnel_if_id.action", FT_UINT8, BASE_DEC, VALS(lsp_tunnel_if_id_action_str), 0xF0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_ipv6_interface_address, { "IPv6 interface address", "rsvp.lsp_tunnel_if_id.ipv6_interface_address", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_lsp_tunnel_if_id_data, { "Data", "rsvp.lsp_tunnel_if_id.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_notify_request_notify_node_address_ipv4, { "Notify node address", "rsvp.notify_request.notify_node_address_ipv4", FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_notify_request_notify_node_address_ipv6, { "Notify node address", "rsvp.notify_request.notify_node_address_ipv4", FT_IPv6, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_notify_request_data, { "Data", "rsvp.notify_request.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_data, { "Data", "rsvp.call_id.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_address_type, { "Address type", "rsvp.call_id.address_type", FT_UINT8, BASE_DEC, VALS(address_type_vals), 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_reserved, { "Reserved", "rsvp.call_id.reserved", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_international_segment, { "International Segment", "rsvp.call_id.international_segment", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_national_segment, { "National Segment", "rsvp.call_id.national_segment", FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_call_id_local_identifier, { "Local Identifier", "rsvp.call_id.local_identifier", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_restart_cap_data, { "Data", "rsvp.restart_cap.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_protection_info_link_flags, { "Link Flags", "rsvp.protection_info.link_flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_protection_info_data, { "Data", "rsvp.protection_info.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_setup_priority, { "Setup Priority", "rsvp.fast_reroute.setup_priority", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_hold_priority, { "Hold Priority", "rsvp.fast_reroute.hold_priority", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_hop_limit, { "Hop Limit", "rsvp.fast_reroute.hop_limit", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_flags, { "Flags", "rsvp.fast_reroute.flags", FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_bandwidth, { "Bandwidth", "rsvp.fast_reroute.bandwidth", FT_FLOAT, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_include_any, { "Include-Any", "rsvp.fast_reroute.include_any", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_exclude_any, { "Exclude-Any", "rsvp.fast_reroute.exclude_any", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_include_all, { "Include-All", "rsvp.fast_reroute.include_all", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_fast_reroute_data, { "Data", "rsvp.fast_reroute.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_detour_data, { "Data", "rsvp.detour.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_diffserv_data, { "Data", "rsvp.diffserv.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_diffserv_aware_te_data, { "Data", "rsvp.diffserv_aware_te.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_rsvp_version, { "RSVP Version", "rsvp.rsvp_version", FT_UINT8, BASE_DEC, NULL, 0xF0, NULL, HFILL }},
+ { &hf_rsvp_flags, { "Flags", "rsvp.flags", FT_UINT8, BASE_HEX, NULL, 0x0F, NULL, HFILL }},
+ { &hf_rsvp_sending_ttl, { "Sending TTL", "rsvp.sending_ttl", FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_message_length, { "Message length", "rsvp.message_length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
+ { &hf_rsvp_length, { "Length", "rsvp.length", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }},
};
gint *ett_tree[TT_MAX];