diff options
author | Bill Meier <wmeier@newsguy.com> | 2012-04-30 19:08:15 +0000 |
---|---|---|
committer | Bill Meier <wmeier@newsguy.com> | 2012-04-30 19:08:15 +0000 |
commit | 0f3c6a288e7d2577168a230a9c77ea2d81cb2701 (patch) | |
tree | af835274d545db7165bf7cd7d7a50efa9124c656 /epan/dissectors/packet-bootp.c | |
parent | 19fe681849ccc6933042fa0772b11f156945b4e4 (diff) |
Whitespace cleanup; reformat hf[] entries.
svn path=/trunk/; revision=42354
Diffstat (limited to 'epan/dissectors/packet-bootp.c')
-rw-r--r-- | epan/dissectors/packet-bootp.c | 3017 |
1 files changed, 2041 insertions, 976 deletions
diff --git a/epan/dissectors/packet-bootp.c b/epan/dissectors/packet-bootp.c index e1fb6b960f..3134d8c5af 100644 --- a/epan/dissectors/packet-bootp.c +++ b/epan/dissectors/packet-bootp.c @@ -9,7 +9,7 @@ * $Id$ * * The information used comes from: - * RFC 951: Bootstrap Protocol + * RFC 951: Bootstrap Protocol * RFC 1497: BOOTP extensions * RFC 1542: Clarifications and Extensions for the Bootstrap Protocol * RFC 2131: Dynamic Host Configuration Protocol @@ -68,7 +68,7 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License @@ -157,180 +157,180 @@ static int hf_bootp_option_value_ip_address = -1; static int hf_bootp_option_value_boolean = -1; static int hf_bootp_suboption_length = -1; -static int hf_bootp_option_padding = -1; /* 0 */ -static int hf_bootp_option_subnet_mask = -1; /* 1 */ -static int hf_bootp_option_time_offset = -1; /* 2 */ -static int hf_bootp_option_router = -1; /* 3 */ -static int hf_bootp_option_time_server = -1; /* 4 */ -static int hf_bootp_option_name_server = -1; /* 5 */ -static int hf_bootp_option_domain_name_server = -1; /* 6 */ -static int hf_bootp_option_log_server = -1; /* 7 */ -static int hf_bootp_option_quotes_server = -1; /* 8 */ -static int hf_bootp_option_lpr_server = -1; /* 9 */ -static int hf_bootp_option_impress_server = -1; /* 10 */ -static int hf_bootp_option_resource_location_server = -1; /* 11 */ -static int hf_bootp_option_hostname = -1; /* 12 */ -static int hf_bootp_option_boot_file_size = -1; /* 13 */ -static int hf_bootp_option_merit_dump_file = -1; /* 14 */ -static int hf_bootp_option_domain_name = -1; /* 15 */ -static int hf_bootp_option_swap_server = -1; /* 16 */ -static int hf_bootp_option_root_path = -1; /* 17 */ -static int hf_bootp_option_extension_path = -1; /* 18 */ -static int hf_bootp_option_ip_forwarding = -1; /* 19 */ -static int hf_bootp_option_non_local_source_routing = -1; /* 20 */ -static int hf_bootp_option_policy_filter_ip = -1; /* 21 - IP address */ -static int hf_bootp_option_policy_filter_subnet_mask = -1; /* 21 - Subnet mask */ -static int hf_bootp_option_max_datagram_reassembly_size = -1; /* 22 */ -static int hf_bootp_option_default_ip_ttl = -1; /* 23 */ -static int hf_bootp_option_path_mtu_aging_timeout = -1; /* 24 */ -static int hf_bootp_option_path_mtu_plateau_table_item = -1; /* 25 */ -static int hf_bootp_option_interface_mtu = -1; /* 26 */ -static int hf_bootp_option_all_subnets_are_local = -1; /* 27 */ -static int hf_bootp_option_broadcast_address = -1; /* 28 */ -static int hf_bootp_option_perform_mask_discovery = -1; /* 29 */ -static int hf_bootp_option_mask_supplier = -1; /* 30 */ -static int hf_bootp_option_perform_router_discover = -1; /* 31 */ -static int hf_bootp_option_router_solicitation_address = -1; /* 32 */ -static int hf_bootp_option_static_route_ip = -1; /* 33 - Destination IP */ -static int hf_bootp_option_static_route_router = -1; /* 33 - Router */ -static int hf_bootp_option_trailer_encapsulation = -1; /* 34 */ -static int hf_bootp_option_arp_cache_timeout = -1; /* 35 */ -static int hf_bootp_option_ethernet_encapsulation = -1; /* 36 */ -static int hf_bootp_option_tcp_default_ttl = -1; /* 37 */ -static int hf_bootp_option_tcp_keepalive_interval = -1; /* 38 */ -static int hf_bootp_option_tcp_keepalive_garbage = -1; /* 39 */ -static int hf_bootp_option_nis_domain = -1; /* 40 */ -static int hf_bootp_option_nis_server = -1; /* 41 */ -static int hf_bootp_option_ntp_server = -1; /* 42 */ - -static int hf_bootp_option43_value = -1; /* 43 suboption value */ -static int hf_bootp_option43_value_8 = -1; /* 43 suboption value */ -static int hf_bootp_option43_value_32 = -1; /* 43 suboption value */ -static int hf_bootp_option43_value_stringz = -1; /* 43 suboption value */ -static int hf_bootp_option43_value_ip_address = -1; /* 43 suboption value */ - -static int hf_bootp_option43_pxeclient_suboption = -1; /* 43 suboption */ -static int hf_bootp_option43_pxeclient_padding = -1; /* 43:0 PXE */ -static int hf_bootp_option43_pxeclient_mtftp_ip = -1; /* 43:1 PXE */ -static int hf_bootp_option43_pxeclient_mtftp_client_port = -1; /* 43:2 PXE */ -static int hf_bootp_option43_pxeclient_mtftp_server_port = -1; /* 43:3 PXE */ -static int hf_bootp_option43_pxeclient_mtftp_timeout = -1; /* 43:4 PXE */ -static int hf_bootp_option43_pxeclient_mtftp_delay = -1; /* 43:5 PXE */ -static int hf_bootp_option43_pxeclient_discovery_control = -1; /* 43:6 PXE */ -static int hf_bootp_option43_pxeclient_multicast_address = -1; /* 43:7 PXE */ -static int hf_bootp_option43_pxeclient_boot_servers = -1; /* 43:8 PXE */ -static int hf_bootp_option43_pxeclient_boot_menu = -1; /* 43:9 PXE */ -static int hf_bootp_option43_pxeclient_menu_prompt = -1; /* 43:10 PXE */ -static int hf_bootp_option43_pxeclient_multicast_address_alloc = -1; /* 43:11 PXE */ -static int hf_bootp_option43_pxeclient_credential_types = -1; /* 43:12 PXE */ -static int hf_bootp_option43_pxeclient_boot_item = -1; /* 43:71 PXE */ -static int hf_bootp_option43_pxeclient_end = -1; /* 43:255 PXE */ - -static int hf_bootp_option43_cl_suboption = -1; /* 43 suboption */ -static int hf_bootp_option43_cl_padding = -1; /* 43:0 CL */ -static int hf_bootp_option43_cl_suboption_request_list = -1; /* 43:1 CL */ -static int hf_bootp_option43_cl_device_type = -1; /* 43:2 CL */ -static int hf_bootp_option43_cl_esafe_type = -1; /* 43:3 CL */ -static int hf_bootp_option43_cl_serial_number = -1; /* 43:4 CL */ -static int hf_bootp_option43_cl_hardware_version = -1; /* 43:5 CL */ -static int hf_bootp_option43_cl_software_version = -1; /* 43:6 CL */ -static int hf_bootp_option43_cl_boot_rom_version = -1; /* 43:7 CL */ -static int hf_bootp_option43_cl_oui_bytes = -1; /* 43:8 CL */ -static int hf_bootp_option43_cl_oui_string = -1; /* 43:8 CL */ -static int hf_bootp_option43_cl_model_number = -1; /* 43:9 CL */ -static int hf_bootp_option43_cl_vendor_name10 = -1; /* 43:10 CL */ -static int hf_bootp_option43_cl_address_realm = -1; /* 43:11 CL */ -static int hf_bootp_option43_cl_cm_ps_system_desc = -1; /* 43:12 CL */ -static int hf_bootp_option43_cl_cm_ps_firmware_revision = -1; /* 43:13 CL */ -static int hf_bootp_option43_cl_firewall_policy_file_version = -1; /* 43:14 CL */ -static int hf_bootp_option43_cl_esafe_config_file_devices = -1; /* 43:15 CL */ -static int hf_bootp_option43_cl_video_security_tape = -1; /* 43:18 CL */ -static int hf_bootp_option43_cl_mta_mac_address = -1; /* 43:31 CL */ -static int hf_bootp_option43_cl_correlation_ID = -1; /* 43:32 CL */ -static int hf_bootp_option43_cl_vendor_name51 = -1; /* 43:51 CL */ -static int hf_bootp_option43_cl_cablecard_capability = -1; /* 43:52 CL */ -static int hf_bootp_option43_cl_device_id_ca = -1; /* 43:53 CL */ -static int hf_bootp_option43_cl_device_id_x509 = -1; /* 43:54 CL */ -static int hf_bootp_option43_cl_end = -1; /* 43:255 CL */ - -static int hf_bootp_option43_alcatel_suboption = -1; /* 43 suboption */ -static int hf_bootp_option43_alcatel_padding = -1; /* 43:0 Alcatel */ -static int hf_bootp_option43_alcatel_vlan_id = -1; /* 43:58 Alcatel */ -static int hf_bootp_option43_alcatel_tftp1 = -1; /* 43:64 Alcatel */ -static int hf_bootp_option43_alcatel_tftp2 = -1; /* 43:65 Alcatel */ -static int hf_bootp_option43_alcatel_app_type = -1; /* 43:66 Alcatel */ -static int hf_bootp_option43_alcatel_sip_url = -1; /* 43:67 Alcatel */ -static int hf_bootp_option43_alcatel_end = -1; /* 43:255 Alcatel */ - - -static int hf_bootp_option_netbios_over_tcpip_name_server = -1; /* 44 */ -static int hf_bootp_option_netbios_over_tcpip_dd_name_server = -1; /* 45 */ -static int hf_bootp_option_netbios_over_tcpip_node_type = -1; /* 46 */ -static int hf_bootp_option_netbios_over_tcpip_scope = -1; /* 47 */ -static int hf_bootp_option_xwindows_system_font_server = -1; /* 48 */ -static int hf_bootp_option_xwindows_system_display_manager = -1; /* 49 */ -static int hf_bootp_option_requested_ip_address = -1; /* 50 */ -static int hf_bootp_option_ip_address_lease_time = -1; /* 51 */ -static int hf_bootp_option_option_overload = -1; /* 52 */ -static int hf_bootp_option_dhcp = -1; /* 53 */ -static int hf_bootp_option_dhcp_server_id = -1; /* 54 */ -static int hf_bootp_option_parameter_request_list_item = -1; /* 55 */ -static int hf_bootp_option_message = -1; /* 56 */ -static int hf_bootp_option_dhcp_max_message_size = -1; /* 57 */ -static int hf_bootp_option_renewal_time_value = -1; /* 58 */ -static int hf_bootp_option_rebinding_time_value = -1; /* 59 */ -static int hf_bootp_option_vendor_class_id = -1; /* 60 */ - -static int hf_bootp_option_novell_netware_ip_domain = -1; /* 62 */ - -static int hf_bootp_option63_suboption = -1; /* 63 suboption */ -static int hf_bootp_option63_value = -1; /* 63 suboption value */ -static int hf_bootp_option63_value_8 = -1; /* 63 suboption value */ -static int hf_bootp_option63_value_ip_address = -1; /* 63 suboption value */ -static int hf_bootp_option63_value_boolean = -1; /* 63 suboption value */ -static int hf_bootp_option63_broadcast = -1; /* 63:5 */ -static int hf_bootp_option63_preferred_dss_server = -1; /* 63:6 */ -static int hf_bootp_option63_nearest_nwip_server = -1; /* 63:7 */ -static int hf_bootp_option63_autoretries = -1; /* 63:8 */ -static int hf_bootp_option63_autoretry_delay = -1; /* 63:9 */ -static int hf_bootp_option63_support_netware_v1_1 = -1; /* 63:10 */ -static int hf_bootp_option63_primary_dss = -1; /* 63:11 */ - -static int hf_bootp_option_nis_plus_domain = -1; /* 64 */ -static int hf_bootp_option_nis_plus_server = -1; /* 65 */ -static int hf_bootp_option_tftp_server_name = -1; /* 66 */ -static int hf_bootp_option_bootfile_name = -1; /* 67 */ -static int hf_bootp_option_mobile_ip_home_agent = -1; /* 68 */ -static int hf_bootp_option_smtp_server = -1; /* 69 */ -static int hf_bootp_option_pop3_server = -1; /* 70 */ -static int hf_bootp_option_nntp_server = -1; /* 71 */ -static int hf_bootp_option_default_www_server = -1; /* 72 */ -static int hf_bootp_option_default_finger_server = -1; /* 73 */ -static int hf_bootp_option_default_irc_server = -1; /* 74 */ -static int hf_bootp_option_streettalk_server = -1; /* 75 */ -static int hf_bootp_option_streettalk_da_server = -1; /* 76 */ -static int hf_bootp_option_slp_directory_agent_value = -1; /* 78 */ -static int hf_bootp_option_slp_directory_agent_slpda_address = -1; /* 78 */ -static int hf_bootp_option_slp_service_scope_value = -1; /* 79 */ -static int hf_bootp_option_slp_service_scope_string = -1; /* 79 */ - -static int hf_bootp_option82_suboption = -1; /* 82 suboption */ -static int hf_bootp_option82_value = -1; /* 82 suboption value */ -static int hf_bootp_option82_value_8 = -1; /* 82 suboption value */ -static int hf_bootp_option82_value_32 = -1; /* 82 suboption value */ -static int hf_bootp_option82_value_ip_address = -1; /* 82 suboption value */ -static int hf_bootp_option82_value_stringz = -1; /* 82 suboption value */ -static int hf_bootp_option82_padding = -1; /* 82:0 */ -static int hf_bootp_option82_agent_circuit_id = -1; /* 82:1 */ -static int hf_bootp_option82_agent_remote_id = -1; /* 82:2 */ -static int hf_bootp_option82_reserved = -1; /* 82:3 */ -static int hf_bootp_option82_docsis_device_class = -1; /* 82:4 */ -static int hf_bootp_option82_link_selection = -1; /* 82:5 */ -static int hf_bootp_option82_subscriber_id = -1; /* 82:6 */ -static int hf_bootp_option82_radius_attributes = -1; /* 82:7 */ -static int hf_bootp_option82_authentication = -1; /* 82:8 */ -static int hf_bootp_option82_vi = -1; /* 82:9 */ - /* 82:9 suboptions */ +static int hf_bootp_option_padding = -1; /* 0 */ +static int hf_bootp_option_subnet_mask = -1; /* 1 */ +static int hf_bootp_option_time_offset = -1; /* 2 */ +static int hf_bootp_option_router = -1; /* 3 */ +static int hf_bootp_option_time_server = -1; /* 4 */ +static int hf_bootp_option_name_server = -1; /* 5 */ +static int hf_bootp_option_domain_name_server = -1; /* 6 */ +static int hf_bootp_option_log_server = -1; /* 7 */ +static int hf_bootp_option_quotes_server = -1; /* 8 */ +static int hf_bootp_option_lpr_server = -1; /* 9 */ +static int hf_bootp_option_impress_server = -1; /* 10 */ +static int hf_bootp_option_resource_location_server = -1; /* 11 */ +static int hf_bootp_option_hostname = -1; /* 12 */ +static int hf_bootp_option_boot_file_size = -1; /* 13 */ +static int hf_bootp_option_merit_dump_file = -1; /* 14 */ +static int hf_bootp_option_domain_name = -1; /* 15 */ +static int hf_bootp_option_swap_server = -1; /* 16 */ +static int hf_bootp_option_root_path = -1; /* 17 */ +static int hf_bootp_option_extension_path = -1; /* 18 */ +static int hf_bootp_option_ip_forwarding = -1; /* 19 */ +static int hf_bootp_option_non_local_source_routing = -1; /* 20 */ +static int hf_bootp_option_policy_filter_ip = -1; /* 21 - IP address */ +static int hf_bootp_option_policy_filter_subnet_mask = -1; /* 21 - Subnet mask */ +static int hf_bootp_option_max_datagram_reassembly_size = -1; /* 22 */ +static int hf_bootp_option_default_ip_ttl = -1; /* 23 */ +static int hf_bootp_option_path_mtu_aging_timeout = -1; /* 24 */ +static int hf_bootp_option_path_mtu_plateau_table_item = -1; /* 25 */ +static int hf_bootp_option_interface_mtu = -1; /* 26 */ +static int hf_bootp_option_all_subnets_are_local = -1; /* 27 */ +static int hf_bootp_option_broadcast_address = -1; /* 28 */ +static int hf_bootp_option_perform_mask_discovery = -1; /* 29 */ +static int hf_bootp_option_mask_supplier = -1; /* 30 */ +static int hf_bootp_option_perform_router_discover = -1; /* 31 */ +static int hf_bootp_option_router_solicitation_address = -1; /* 32 */ +static int hf_bootp_option_static_route_ip = -1; /* 33 - Destination IP */ +static int hf_bootp_option_static_route_router = -1; /* 33 - Router */ +static int hf_bootp_option_trailer_encapsulation = -1; /* 34 */ +static int hf_bootp_option_arp_cache_timeout = -1; /* 35 */ +static int hf_bootp_option_ethernet_encapsulation = -1; /* 36 */ +static int hf_bootp_option_tcp_default_ttl = -1; /* 37 */ +static int hf_bootp_option_tcp_keepalive_interval = -1; /* 38 */ +static int hf_bootp_option_tcp_keepalive_garbage = -1; /* 39 */ +static int hf_bootp_option_nis_domain = -1; /* 40 */ +static int hf_bootp_option_nis_server = -1; /* 41 */ +static int hf_bootp_option_ntp_server = -1; /* 42 */ + +static int hf_bootp_option43_value = -1; /* 43 suboption value */ +static int hf_bootp_option43_value_8 = -1; /* 43 suboption value */ +static int hf_bootp_option43_value_32 = -1; /* 43 suboption value */ +static int hf_bootp_option43_value_stringz = -1; /* 43 suboption value */ +static int hf_bootp_option43_value_ip_address = -1; /* 43 suboption value */ + +static int hf_bootp_option43_pxeclient_suboption = -1; /* 43 suboption */ +static int hf_bootp_option43_pxeclient_padding = -1; /* 43:0 PXE */ +static int hf_bootp_option43_pxeclient_mtftp_ip = -1; /* 43:1 PXE */ +static int hf_bootp_option43_pxeclient_mtftp_client_port = -1; /* 43:2 PXE */ +static int hf_bootp_option43_pxeclient_mtftp_server_port = -1; /* 43:3 PXE */ +static int hf_bootp_option43_pxeclient_mtftp_timeout = -1; /* 43:4 PXE */ +static int hf_bootp_option43_pxeclient_mtftp_delay = -1; /* 43:5 PXE */ +static int hf_bootp_option43_pxeclient_discovery_control = -1; /* 43:6 PXE */ +static int hf_bootp_option43_pxeclient_multicast_address = -1; /* 43:7 PXE */ +static int hf_bootp_option43_pxeclient_boot_servers = -1; /* 43:8 PXE */ +static int hf_bootp_option43_pxeclient_boot_menu = -1; /* 43:9 PXE */ +static int hf_bootp_option43_pxeclient_menu_prompt = -1; /* 43:10 PXE */ +static int hf_bootp_option43_pxeclient_multicast_address_alloc = -1; /* 43:11 PXE */ +static int hf_bootp_option43_pxeclient_credential_types = -1; /* 43:12 PXE */ +static int hf_bootp_option43_pxeclient_boot_item = -1; /* 43:71 PXE */ +static int hf_bootp_option43_pxeclient_end = -1; /* 43:255 PXE */ + +static int hf_bootp_option43_cl_suboption = -1; /* 43 suboption */ +static int hf_bootp_option43_cl_padding = -1; /* 43:0 CL */ +static int hf_bootp_option43_cl_suboption_request_list = -1; /* 43:1 CL */ +static int hf_bootp_option43_cl_device_type = -1; /* 43:2 CL */ +static int hf_bootp_option43_cl_esafe_type = -1; /* 43:3 CL */ +static int hf_bootp_option43_cl_serial_number = -1; /* 43:4 CL */ +static int hf_bootp_option43_cl_hardware_version = -1; /* 43:5 CL */ +static int hf_bootp_option43_cl_software_version = -1; /* 43:6 CL */ +static int hf_bootp_option43_cl_boot_rom_version = -1; /* 43:7 CL */ +static int hf_bootp_option43_cl_oui_bytes = -1; /* 43:8 CL */ +static int hf_bootp_option43_cl_oui_string = -1; /* 43:8 CL */ +static int hf_bootp_option43_cl_model_number = -1; /* 43:9 CL */ +static int hf_bootp_option43_cl_vendor_name10 = -1; /* 43:10 CL */ +static int hf_bootp_option43_cl_address_realm = -1; /* 43:11 CL */ +static int hf_bootp_option43_cl_cm_ps_system_desc = -1; /* 43:12 CL */ +static int hf_bootp_option43_cl_cm_ps_firmware_revision = -1; /* 43:13 CL */ +static int hf_bootp_option43_cl_firewall_policy_file_version = -1; /* 43:14 CL */ +static int hf_bootp_option43_cl_esafe_config_file_devices = -1; /* 43:15 CL */ +static int hf_bootp_option43_cl_video_security_tape = -1; /* 43:18 CL */ +static int hf_bootp_option43_cl_mta_mac_address = -1; /* 43:31 CL */ +static int hf_bootp_option43_cl_correlation_ID = -1; /* 43:32 CL */ +static int hf_bootp_option43_cl_vendor_name51 = -1; /* 43:51 CL */ +static int hf_bootp_option43_cl_cablecard_capability = -1; /* 43:52 CL */ +static int hf_bootp_option43_cl_device_id_ca = -1; /* 43:53 CL */ +static int hf_bootp_option43_cl_device_id_x509 = -1; /* 43:54 CL */ +static int hf_bootp_option43_cl_end = -1; /* 43:255 CL */ + +static int hf_bootp_option43_alcatel_suboption = -1; /* 43 suboption */ +static int hf_bootp_option43_alcatel_padding = -1; /* 43:0 Alcatel */ +static int hf_bootp_option43_alcatel_vlan_id = -1; /* 43:58 Alcatel */ +static int hf_bootp_option43_alcatel_tftp1 = -1; /* 43:64 Alcatel */ +static int hf_bootp_option43_alcatel_tftp2 = -1; /* 43:65 Alcatel */ +static int hf_bootp_option43_alcatel_app_type = -1; /* 43:66 Alcatel */ +static int hf_bootp_option43_alcatel_sip_url = -1; /* 43:67 Alcatel */ +static int hf_bootp_option43_alcatel_end = -1; /* 43:255 Alcatel */ + + +static int hf_bootp_option_netbios_over_tcpip_name_server = -1; /* 44 */ +static int hf_bootp_option_netbios_over_tcpip_dd_name_server = -1; /* 45 */ +static int hf_bootp_option_netbios_over_tcpip_node_type = -1; /* 46 */ +static int hf_bootp_option_netbios_over_tcpip_scope = -1; /* 47 */ +static int hf_bootp_option_xwindows_system_font_server = -1; /* 48 */ +static int hf_bootp_option_xwindows_system_display_manager = -1; /* 49 */ +static int hf_bootp_option_requested_ip_address = -1; /* 50 */ +static int hf_bootp_option_ip_address_lease_time = -1; /* 51 */ +static int hf_bootp_option_option_overload = -1; /* 52 */ +static int hf_bootp_option_dhcp = -1; /* 53 */ +static int hf_bootp_option_dhcp_server_id = -1; /* 54 */ +static int hf_bootp_option_parameter_request_list_item = -1; /* 55 */ +static int hf_bootp_option_message = -1; /* 56 */ +static int hf_bootp_option_dhcp_max_message_size = -1; /* 57 */ +static int hf_bootp_option_renewal_time_value = -1; /* 58 */ +static int hf_bootp_option_rebinding_time_value = -1; /* 59 */ +static int hf_bootp_option_vendor_class_id = -1; /* 60 */ + +static int hf_bootp_option_novell_netware_ip_domain = -1; /* 62 */ + +static int hf_bootp_option63_suboption = -1; /* 63 suboption */ +static int hf_bootp_option63_value = -1; /* 63 suboption value */ +static int hf_bootp_option63_value_8 = -1; /* 63 suboption value */ +static int hf_bootp_option63_value_ip_address = -1; /* 63 suboption value */ +static int hf_bootp_option63_value_boolean = -1; /* 63 suboption value */ +static int hf_bootp_option63_broadcast = -1; /* 63:5 */ +static int hf_bootp_option63_preferred_dss_server = -1; /* 63:6 */ +static int hf_bootp_option63_nearest_nwip_server = -1; /* 63:7 */ +static int hf_bootp_option63_autoretries = -1; /* 63:8 */ +static int hf_bootp_option63_autoretry_delay = -1; /* 63:9 */ +static int hf_bootp_option63_support_netware_v1_1 = -1; /* 63:10 */ +static int hf_bootp_option63_primary_dss = -1; /* 63:11 */ + +static int hf_bootp_option_nis_plus_domain = -1; /* 64 */ +static int hf_bootp_option_nis_plus_server = -1; /* 65 */ +static int hf_bootp_option_tftp_server_name = -1; /* 66 */ +static int hf_bootp_option_bootfile_name = -1; /* 67 */ +static int hf_bootp_option_mobile_ip_home_agent = -1; /* 68 */ +static int hf_bootp_option_smtp_server = -1; /* 69 */ +static int hf_bootp_option_pop3_server = -1; /* 70 */ +static int hf_bootp_option_nntp_server = -1; /* 71 */ +static int hf_bootp_option_default_www_server = -1; /* 72 */ +static int hf_bootp_option_default_finger_server = -1; /* 73 */ +static int hf_bootp_option_default_irc_server = -1; /* 74 */ +static int hf_bootp_option_streettalk_server = -1; /* 75 */ +static int hf_bootp_option_streettalk_da_server = -1; /* 76 */ +static int hf_bootp_option_slp_directory_agent_value = -1; /* 78 */ +static int hf_bootp_option_slp_directory_agent_slpda_address = -1; /* 78 */ +static int hf_bootp_option_slp_service_scope_value = -1; /* 79 */ +static int hf_bootp_option_slp_service_scope_string = -1; /* 79 */ + +static int hf_bootp_option82_suboption = -1; /* 82 suboption */ +static int hf_bootp_option82_value = -1; /* 82 suboption value */ +static int hf_bootp_option82_value_8 = -1; /* 82 suboption value */ +static int hf_bootp_option82_value_32 = -1; /* 82 suboption value */ +static int hf_bootp_option82_value_ip_address = -1; /* 82 suboption value */ +static int hf_bootp_option82_value_stringz = -1; /* 82 suboption value */ +static int hf_bootp_option82_padding = -1; /* 82:0 */ +static int hf_bootp_option82_agent_circuit_id = -1; /* 82:1 */ +static int hf_bootp_option82_agent_remote_id = -1; /* 82:2 */ +static int hf_bootp_option82_reserved = -1; /* 82:3 */ +static int hf_bootp_option82_docsis_device_class = -1; /* 82:4 */ +static int hf_bootp_option82_link_selection = -1; /* 82:5 */ +static int hf_bootp_option82_subscriber_id = -1; /* 82:6 */ +static int hf_bootp_option82_radius_attributes = -1; /* 82:7 */ +static int hf_bootp_option82_authentication = -1; /* 82:8 */ +static int hf_bootp_option82_vi = -1; /* 82:9 */ + /* 82:9 suboptions */ static int hf_bootp_option82_vi_enterprise = -1; static int hf_bootp_option82_vi_data_length = -1; static int hf_bootp_option82_vi_cl_option = -1; @@ -338,9 +338,9 @@ static int hf_bootp_option82_vi_cl_length = -1; static int hf_bootp_option82_vi_cl_tag = -1; static int hf_bootp_option82_vi_cl_tag_length = -1; static int hf_bootp_option82_vi_cl_docsis_version = -1; - /* 82:9 suboptions end */ -static int hf_bootp_option82_flags = -1; /* 82:10 */ -static int hf_bootp_option82_server_id_override = -1; /* 82:11 */ + /* 82:9 suboptions end */ +static int hf_bootp_option82_flags = -1; /* 82:10 */ +static int hf_bootp_option82_server_id_override = -1; /* 82:11 */ static int hf_bootp_option82_link_selection_cisco = -1; /* 82:150 */ static int hf_bootp_option82_vrf_name_vpn_id = -1; /* 82:151 */ /* 82:151 suboptions */ @@ -349,71 +349,71 @@ static int hf_bootp_option82_vrf_name_vpn_id_index = -1; /* 82:151 suboptions end */ static int hf_bootp_option82_server_id_override_cisco = -1; /* 82:152 */ -static int hf_bootp_option_novell_dss_string = -1; /* 85 */ -static int hf_bootp_option_novell_dss_ip = -1; /* 85 */ -static int hf_bootp_option_novell_ds_tree_name = -1; /* 86 */ -static int hf_bootp_option_novell_ds_context = -1; /* 87 */ -static int hf_bootp_option_dhcp_authentication_protocol = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_alg_delay = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_algorithm = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_rdm = -1; /* 90 */ +static int hf_bootp_option_novell_dss_string = -1; /* 85 */ +static int hf_bootp_option_novell_dss_ip = -1; /* 85 */ +static int hf_bootp_option_novell_ds_tree_name = -1; /* 86 */ +static int hf_bootp_option_novell_ds_context = -1; /* 87 */ +static int hf_bootp_option_dhcp_authentication_protocol = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_alg_delay = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_algorithm = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_rdm = -1; /* 90 */ static int hf_bootp_option_dhcp_authentication_rdm_replay_detection = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_rdm_rdv = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_secret_id = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_hmac_md5_hash = -1; /* 90 */ -static int hf_bootp_option_dhcp_authentication_information = -1; /* 90 */ -static int hf_bootp_option_client_last_transaction_time = -1; /* 91 */ -static int hf_bootp_option_associated_ip_option = -1; /* 92 */ -static int hf_bootp_option_client_system_architecture = -1; /* 93 */ -static int hf_bootp_option_client_network_id_major_ver = -1; /* 94 */ -static int hf_bootp_option_client_network_id_minor_ver = -1; /* 94 */ -static int hf_bootp_option_civic_location_what = -1; /* 99 */ -static int hf_bootp_option_civic_location_country = -1; /* 99 */ -static int hf_bootp_option_civic_location_ca_type = -1; /* 99 */ -static int hf_bootp_option_civic_location_ca_length = -1; /* 99 */ -static int hf_bootp_option_civic_location_ca_value = -1; /* 99 */ -static int hf_bootp_option_netinfo_parent_server_address = -1; /* 112 */ -static int hf_bootp_option_netinfo_parent_server_tag = -1; /* 113 */ -static int hf_bootp_option_dhcp_auto_configuration = -1; /* 116 */ -static int hf_bootp_option_cl_dss_id_option = -1; /* 123 CL */ -static int hf_bootp_option_cl_dss_id_len = -1; /* 123 CL */ -static int hf_bootp_option_cl_dss_id = -1; /* 123 CL */ -static int hf_bootp_option_vi_class_cl_address_mode = -1; /* 124 */ -static int hf_bootp_option_vi_class_enterprise = -1; /* 124 */ -static int hf_bootp_option_vi_class_data_length = -1; /* 124 */ -static int hf_bootp_option_vi_class_data = -1; /* 124 */ +static int hf_bootp_option_dhcp_authentication_rdm_rdv = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_secret_id = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_hmac_md5_hash = -1; /* 90 */ +static int hf_bootp_option_dhcp_authentication_information = -1; /* 90 */ +static int hf_bootp_option_client_last_transaction_time = -1; /* 91 */ +static int hf_bootp_option_associated_ip_option = -1; /* 92 */ +static int hf_bootp_option_client_system_architecture = -1; /* 93 */ +static int hf_bootp_option_client_network_id_major_ver = -1; /* 94 */ +static int hf_bootp_option_client_network_id_minor_ver = -1; /* 94 */ +static int hf_bootp_option_civic_location_what = -1; /* 99 */ +static int hf_bootp_option_civic_location_country = -1; /* 99 */ +static int hf_bootp_option_civic_location_ca_type = -1; /* 99 */ +static int hf_bootp_option_civic_location_ca_length = -1; /* 99 */ +static int hf_bootp_option_civic_location_ca_value = -1; /* 99 */ +static int hf_bootp_option_netinfo_parent_server_address = -1; /* 112 */ +static int hf_bootp_option_netinfo_parent_server_tag = -1; /* 113 */ +static int hf_bootp_option_dhcp_auto_configuration = -1; /* 116 */ +static int hf_bootp_option_cl_dss_id_option = -1; /* 123 CL */ +static int hf_bootp_option_cl_dss_id_len = -1; /* 123 CL */ +static int hf_bootp_option_cl_dss_id = -1; /* 123 CL */ +static int hf_bootp_option_vi_class_cl_address_mode = -1; /* 124 */ +static int hf_bootp_option_vi_class_enterprise = -1; /* 124 */ +static int hf_bootp_option_vi_class_data_length = -1; /* 124 */ +static int hf_bootp_option_vi_class_data = -1; /* 124 */ static int hf_bootp_option125_enterprise = -1; -static int hf_bootp_option125_value = -1; /* 125 suboption value */ -static int hf_bootp_option125_value_8 = -1; /* 125 suboption value */ -static int hf_bootp_option125_value_16 = -1; /* 125 suboption value */ -static int hf_bootp_option125_value_ip_address = -1; /* 125 suboption value */ -static int hf_bootp_option125_value_stringz = -1; /* 125 suboption value */ -static int hf_bootp_option125_tr111_suboption = -1; /* 125 suboption */ -static int hf_bootp_option125_tr111_device_manufacturer_oui = -1; /* 125:TR-111 1 */ -static int hf_bootp_option125_tr111_device_serial_number = -1; /* 125:TR-111 2 */ -static int hf_bootp_option125_tr111_device_product_class = -1; /* 125:TR-111 3 */ -static int hf_bootp_option125_tr111_gateway_manufacturer_oui = -1; /* 125:TR-111 4 */ -static int hf_bootp_option125_tr111_gateway_serial_number = -1; /* 125:TR-111 5 */ -static int hf_bootp_option125_tr111_gateway_product_class = -1; /* 125:TR-111 6 */ -static int hf_bootp_option125_cl_suboption = -1; /* 125 suboption */ -static int hf_bootp_option125_cl_option_request = -1; /* 125:CL 1 */ -static int hf_bootp_option125_cl_tftp_server_addresses = -1; /* 125:CL 2 */ -static int hf_bootp_option125_cl_erouter_container_option = -1; /* 125:CL 3 */ +static int hf_bootp_option125_value = -1; /* 125 suboption value */ +static int hf_bootp_option125_value_8 = -1; /* 125 suboption value */ +static int hf_bootp_option125_value_16 = -1; /* 125 suboption value */ +static int hf_bootp_option125_value_ip_address = -1; /* 125 suboption value */ +static int hf_bootp_option125_value_stringz = -1; /* 125 suboption value */ +static int hf_bootp_option125_tr111_suboption = -1; /* 125 suboption */ +static int hf_bootp_option125_tr111_device_manufacturer_oui = -1; /* 125:TR-111 1 */ +static int hf_bootp_option125_tr111_device_serial_number = -1; /* 125:TR-111 2 */ +static int hf_bootp_option125_tr111_device_product_class = -1; /* 125:TR-111 3 */ +static int hf_bootp_option125_tr111_gateway_manufacturer_oui = -1; /* 125:TR-111 4 */ +static int hf_bootp_option125_tr111_gateway_serial_number = -1; /* 125:TR-111 5 */ +static int hf_bootp_option125_tr111_gateway_product_class = -1; /* 125:TR-111 6 */ +static int hf_bootp_option125_cl_suboption = -1; /* 125 suboption */ +static int hf_bootp_option125_cl_option_request = -1; /* 125:CL 1 */ +static int hf_bootp_option125_cl_tftp_server_addresses = -1; /* 125:CL 2 */ +static int hf_bootp_option125_cl_erouter_container_option = -1; /* 125:CL 3 */ static int hf_bootp_option125_cl_mib_environment_indicator_option = -1; /* 125:CL 4 */ -static int hf_bootp_option125_cl_modem_capabilities = -1; /* 125:CL 5 */ +static int hf_bootp_option125_cl_modem_capabilities = -1; /* 125:CL 5 */ -static int hf_bootp_option_subnet_selection_option = -1; /* 118 */ -static int hf_bootp_option_lost_server_domain_name = -1; /* 137 */ -static int hf_bootp_option_capwap_access_controller = -1; /* 138 */ -static int hf_bootp_option_tftp_server_address = -1; /* 150 */ -static int hf_bootp_option_6RD_ipv4_mask_len = -1; /* 212 */ -static int hf_bootp_option_6RD_prefix_len = -1; /* 212 */ -static int hf_bootp_option_6RD_prefix = -1; /* 212 */ -static int hf_bootp_option_6RD_border_relay_ip = -1; /* 212 */ -static int hf_bootp_option_private_proxy_autodiscovery = -1; /* 252 */ -static int hf_bootp_option_end = -1; /* 255 */ -static int hf_bootp_option_end_overload = -1; /* 255 (with overload)*/ +static int hf_bootp_option_subnet_selection_option = -1; /* 118 */ +static int hf_bootp_option_lost_server_domain_name = -1; /* 137 */ +static int hf_bootp_option_capwap_access_controller = -1; /* 138 */ +static int hf_bootp_option_tftp_server_address = -1; /* 150 */ +static int hf_bootp_option_6RD_ipv4_mask_len = -1; /* 212 */ +static int hf_bootp_option_6RD_prefix_len = -1; /* 212 */ +static int hf_bootp_option_6RD_prefix = -1; /* 212 */ +static int hf_bootp_option_6RD_border_relay_ip = -1; /* 212 */ +static int hf_bootp_option_private_proxy_autodiscovery = -1; /* 252 */ +static int hf_bootp_option_end = -1; /* 255 */ +static int hf_bootp_option_end_overload = -1; /* 255 (with overload)*/ @@ -429,15 +429,15 @@ static gint ett_bootp_option125_suboption = -1; static gint ett_bootp_fqdn = -1; /* RFC3825decoder error codes of the conversion function */ -#define RFC3825_NOERROR 0 -#define RFC3825_LATITUDE_OUTOFRANGE 1 -#define RFC3825_LATITUDE_UNCERTAINTY_OUTOFRANGE 2 -#define RFC3825_LONGITUDE_OUTOFRANGE 3 +#define RFC3825_NOERROR 0 +#define RFC3825_LATITUDE_OUTOFRANGE 1 +#define RFC3825_LATITUDE_UNCERTAINTY_OUTOFRANGE 2 +#define RFC3825_LONGITUDE_OUTOFRANGE 3 #define RFC3825_LONGITUDE_UNCERTAINTY_OUTOFRANGE 4 -#define RFC3825_ALTITUDE_OUTOFRANGE 5 -#define RFC3825_ALTITUDE_UNCERTAINTY_OUTOFRANGE 6 -#define RFC3825_ALTITUDE_TYPE_OUTOFRANGE 7 -#define RFC3825_DATUM_TYPE_OUTOFRANGE 8 +#define RFC3825_ALTITUDE_OUTOFRANGE 5 +#define RFC3825_ALTITUDE_UNCERTAINTY_OUTOFRANGE 6 +#define RFC3825_ALTITUDE_TYPE_OUTOFRANGE 7 +#define RFC3825_DATUM_TYPE_OUTOFRANGE 8 #define DUID_LLT 1 #define DUID_EN 2 @@ -445,27 +445,27 @@ static gint ett_bootp_fqdn = -1; struct rfc3825_location_fixpoint_t { - gint64 latitude; /* latitude in degrees, allowed range from -90deg to 90deg. + gint64 latitude; /* latitude in degrees, allowed range from -90deg to 90deg. Fixpoint A(8,25) with 34 bits */ - guint8 latitude_res; /* the resolution of the latitude in bits, allowed range is from 0 to 34. + guint8 latitude_res; /* the resolution of the latitude in bits, allowed range is from 0 to 34. 6 bits. */ - gint64 longitude; /* longitude in degrees, range from -180deg to 180deg. + gint64 longitude; /* longitude in degrees, range from -180deg to 180deg. Fixpoint A(8,25) with 34 bits */ - guint8 longitude_res; /* the resolution of the longitude in bits, allowed range is from 0 to 34. + guint8 longitude_res; /* the resolution of the longitude in bits, allowed range is from 0 to 34. 6 bits. */ - gint32 altitude; /* the altitude, 30 bits. + gint32 altitude; /* the altitude, 30 bits. Depending on alt_type this are meters or floors, no range limit. altitude_type==1: A(13,8) with 22 bits altitude_type==2: A(13,8) with 22 bits */ - guint8 altitude_res; /* the resolution of the altitude in bits, allowed range is from 0 to 30. + guint8 altitude_res; /* the resolution of the altitude in bits, allowed range is from 0 to 30. 6 bits. altitude_type==1: any value between 0 and 30 altitude_type==2: either 0 (floor unknown) or 30 */ - guint8 altitude_type; /* the type of the altitude, 4 bits. allowed values are: + guint8 altitude_type; /* the type of the altitude, 4 bits. allowed values are: 0: unknown 1: altitude in meters 2: altitude in floors */ - guint8 datum_type; /* the map datum used for the coordinates. 8 bits. + guint8 datum_type; /* the map datum used for the coordinates. 8 bits. All values are allowed although currently only the following ones are defined: 1: WGS84 @@ -478,23 +478,23 @@ struct rfc3825_location_fixpoint_t { */ struct rfc3825_location_decimal_t { - double latitude; /* latitude in degrees, allowed range from -90deg to 90deg */ - double latitude_res; /* the uncertainty of the latitude in grad, "0.01" means +-0.01deg + double latitude; /* latitude in degrees, allowed range from -90deg to 90deg */ + double latitude_res; /* the uncertainty of the latitude in grad, "0.01" means +-0.01deg from the altitude. During conversion this will be rounded to next smaller value which can be represented in fixpoint arithmetic */ - double longitude; /* longitude in degrees, range from -180deg to 180deg */ - double longitude_res; /* the uncertainty of the longitude in grad, "0.01" means +-0.01deg + double longitude; /* longitude in degrees, range from -180deg to 180deg */ + double longitude_res; /* the uncertainty of the longitude in grad, "0.01" means +-0.01deg from the longitude. During conversion this will be rounded to next smaller value which can be represented in fixpoint arithmetic */ - double altitude; /* the altitude, depending on alt_type this are meters or floors, no range limit */ - double altitude_res; /* the uncertainty of the altitude in either: + double altitude; /* the altitude, depending on alt_type this are meters or floors, no range limit */ + double altitude_res; /* the uncertainty of the altitude in either: - altitude-type=meters: "10" means 10 meters which means +-10 meters from the altitude - altitude-type=floors: either 0 (unknown) or 30 (exact) */ - int altitude_type; /* the type of the altitude, allowed values are + int altitude_type; /* the type of the altitude, allowed values are 0: unknown 1: altitude in meters 2: altitude in floors */ - int datum_type; /* the map datum used for the coordinates. + int datum_type; /* the map datum used for the coordinates. All values are allowed although currently only the following ones are defined: 1: WGS84 @@ -528,22 +528,22 @@ static const value_string altitude_type_values[] = { /* AutoConfigure (RFC 2563) */ static const value_string dhcp_autoconfig[] = { - {0, "DoNotAutoConfigure"}, - {1, "AutoConfigure"}, - {0, NULL } + { 0, "DoNotAutoConfigure"}, + { 1, "AutoConfigure"}, + { 0, NULL } }; /* Error Types for RFC 3825 coordinate location decoding */ static const value_string rfc3825_error_types[] = { - {1, "Latitude is out of range [-90,90]"}, - {2, "Latitude Uncertainty is out of range [0,90]"}, - {3, "Longitude is out of range [-180,180]"}, - {4, "Longitude Uncertainty is out of range [0,180]"}, - {5, "Altitude is out of range [-(2^21),(2^21)-1]"}, - {6, "Altitude Uncertainty is out of range [0,2^20]"}, - {7, "Altitude Type is out of range [0,2]"}, - {8, "Datum is out of range [1,3]"}, - {0, NULL } + { 1, "Latitude is out of range [-90,90]"}, + { 2, "Latitude Uncertainty is out of range [0,90]"}, + { 3, "Longitude is out of range [-180,180]"}, + { 4, "Longitude Uncertainty is out of range [0,180]"}, + { 5, "Altitude is out of range [-(2^21),(2^21)-1]"}, + { 6, "Altitude Uncertainty is out of range [0,2^20]"}, + { 7, "Altitude Type is out of range [0,2]"}, + { 8, "Datum is out of range [1,3]"}, + { 0, NULL } }; @@ -558,37 +558,37 @@ static const value_string civic_address_what_values[] = { /* Civic Address Type field (RFC 4119, RFC 4776, RFC 5139) */ static const value_string civic_address_type_values[] = { - { 0, "Language" }, - { 1, "A1" }, - { 2, "A2" }, - { 3, "A3" }, - { 4, "A4" }, - { 5, "A5" }, - { 6, "A6" }, - { 16, "PRD (Leading street direction)" }, - { 17, "POD (Trailing street suffix)" }, - { 18, "STS (Street suffix)" }, - { 19, "HNO (House number)" }, - { 20, "HNS (House number suffix)" }, - { 21, "LMK (Landmark or vanity address)" }, - { 22, "LOC (Additional location information)" }, - { 23, "NAM" }, - { 24, "PC (Postal/ZIP code)" }, - { 25, "BLD (Building)" }, - { 26, "UNIT" }, - { 27, "FLR (Floor)" }, - { 28, "ROOM" }, - { 29, "PLC (Place-type)" }, - { 30, "PCN (Postal community name)" }, - { 31, "POBOX" }, - { 32, "ADDCODE (Additional Code)" }, - { 33, "SEAT" }, - { 34, "RD (Primary road or street)" }, - { 35, "RDSEC (Road section)" }, - { 36, "RDBR (Road branch)" }, - { 37, "RDSUBBR (Road sub-branch)" }, - { 38, "PRM (Road pre-modifier)" }, - { 39, "POM (Road post-modifier" }, + { 0, "Language" }, + { 1, "A1" }, + { 2, "A2" }, + { 3, "A3" }, + { 4, "A4" }, + { 5, "A5" }, + { 6, "A6" }, + { 16, "PRD (Leading street direction)" }, + { 17, "POD (Trailing street suffix)" }, + { 18, "STS (Street suffix)" }, + { 19, "HNO (House number)" }, + { 20, "HNS (House number suffix)" }, + { 21, "LMK (Landmark or vanity address)" }, + { 22, "LOC (Additional location information)" }, + { 23, "NAM" }, + { 24, "PC (Postal/ZIP code)" }, + { 25, "BLD (Building)" }, + { 26, "UNIT" }, + { 27, "FLR (Floor)" }, + { 28, "ROOM" }, + { 29, "PLC (Place-type)" }, + { 30, "PCN (Postal community name)" }, + { 31, "POBOX" }, + { 32, "ADDCODE (Additional Code)" }, + { 33, "SEAT" }, + { 34, "RD (Primary road or street)" }, + { 35, "RDSEC (Road section)" }, + { 36, "RDBR (Road branch)" }, + { 37, "RDSUBBR (Road sub-branch)" }, + { 38, "PRM (Road pre-modifier)" }, + { 39, "POM (Road post-modifier" }, { 128, "Script" }, { 0, NULL } }; @@ -609,8 +609,8 @@ static const value_string duidtype_vals[] = static gboolean novell_string = FALSE; -#define UDP_PORT_BOOTPS 67 -#define UDP_PORT_BOOTPC 68 +#define UDP_PORT_BOOTPS 67 +#define UDP_PORT_BOOTPC 68 #define BOOTP_BC 0x8000 #define BOOTP_MBZ 0x7FFF @@ -683,14 +683,14 @@ static const true_false_string flag_set_broadcast = { #define PACKETCABLE_CM_CAP20 "docsis2.0:" #define PACKETCABLE_CM_CAP30 "docsis3.0:" -#define PACKETCABLE_CCC_I05 1 -#define PACKETCABLE_CCC_DRAFT5 2 +#define PACKETCABLE_CCC_I05 1 +#define PACKETCABLE_CCC_DRAFT5 2 #define PACKETCABLE_CCC_RFC_3495 3 static enum_val_t pkt_ccc_protocol_versions[] = { - { "ccc_i05", "PKT-SP-PROV-I05-021127", PACKETCABLE_CCC_I05 }, - { "ccc_draft_5", "IETF Draft 5", PACKETCABLE_CCC_DRAFT5 }, - { "rfc_3495", "RFC 3495", PACKETCABLE_CCC_RFC_3495 }, + { "ccc_i05", "PKT-SP-PROV-I05-021127", PACKETCABLE_CCC_I05 }, + { "ccc_draft_5", "IETF Draft 5", PACKETCABLE_CCC_DRAFT5 }, + { "rfc_3495", "RFC 3495", PACKETCABLE_CCC_RFC_3495 }, { NULL, NULL, 0 } }; @@ -699,40 +699,40 @@ static guint pkt_ccc_option = 122; static int dissect_vendor_pxeclient_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int dissect_vendor_cablelabs_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int dissect_vendor_alcatel_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int dissect_netware_ip_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int dissect_vendor_tr111_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int bootp_dhcp_decode_agent_info(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static void dissect_packetcable_mta_cap(proto_tree *v_tree, tvbuff_t *tvb, - int voff, int len); + int voff, int len); static void dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, - int voff, int len, gboolean opt125); + int voff, int len, gboolean opt125); static int dissect_packetcable_i05_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); static int dissect_packetcable_ietf_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend, int revision); + tvbuff_t *tvb, int optoff, int optend, int revision); static int dissect_vendor_cl_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend); + tvbuff_t *tvb, int optoff, int optend); #define OPT53_DISCOVER "Discover" /* http://www.iana.org/assignments/bootp-dhcp-parameters */ static const value_string opt53_text[] = { - { 1, OPT53_DISCOVER }, - { 2, "Offer" }, - { 3, "Request" }, - { 4, "Decline" }, - { 5, "ACK" }, - { 6, "NAK" }, - { 7, "Release" }, - { 8, "Inform" }, - { 9, "Force Renew" }, + { 1, OPT53_DISCOVER }, + { 2, "Offer" }, + { 3, "Request" }, + { 4, "Decline" }, + { 5, "ACK" }, + { 6, "NAK" }, + { 7, "Release" }, + { 8, "Inform" }, + { 9, "Force Renew" }, { 10, "Lease query" }, /* RFC4388 */ { 11, "Lease Unassigned" }, /* RFC4388 */ { 12, "Lease Unknown" }, /* RFC4388 */ @@ -764,17 +764,17 @@ static const value_string opt53_text[] = { /* Server name and boot file offsets and lengths */ #define SERVER_NAME_OFFSET 44 -#define SERVER_NAME_LEN 64 +#define SERVER_NAME_LEN 64 #define FILE_NAME_OFFSET 108 #define FILE_NAME_LEN 128 #define VENDOR_INFO_OFFSET 236 static const value_string bootp_nbnt_vals[] = { - {0x1, "B-node" }, - {0x2, "P-node" }, - {0x4, "M-node" }, - {0x8, "H-node" }, - {0, NULL } + {0x1, "B-node" }, + {0x2, "P-node" }, + {0x4, "M-node" }, + {0x8, "H-node" }, + {0, NULL } }; static const value_string bootp_client_arch[] = { @@ -788,38 +788,38 @@ static const value_string bootp_client_arch[] = { { 0x0007, "EFI BC" }, { 0x0008, "EFI Xscale" }, { 0x0009, "EFI x86-64" }, - { 0, NULL } + { 0, NULL } }; static const value_string opt_overload_vals[] = { - { OPT_OVERLOAD_FILE, "Boot file name holds options", }, - { OPT_OVERLOAD_SNAME, "Server host name holds options", }, + { OPT_OVERLOAD_FILE, "Boot file name holds options", }, + { OPT_OVERLOAD_SNAME, "Server host name holds options", }, { OPT_OVERLOAD_BOTH, "Boot file and server host names hold options" }, - { 0, NULL } }; + { 0, NULL } }; static const value_string slpda_vals[] = { - {0x00, "Dynamic Discovery" }, - {0x01, "Static Discovery" }, - {0x80, "Backwards compatibility" }, - {0, NULL } }; + {0x00, "Dynamic Discovery" }, + {0x01, "Static Discovery" }, + {0x80, "Backwards compatibility" }, + {0, NULL } }; static const value_string slp_scope_vals[] = { - {0x00, "Preferred Scope" }, - {0x01, "Mandatory Scope" }, - {0, NULL } }; + {0x00, "Preferred Scope" }, + {0x01, "Mandatory Scope" }, + {0, NULL } }; static const value_string authen_protocol_vals[] = { {AUTHEN_PROTO_CONFIG_TOKEN, "configuration token" }, {AUTHEN_PROTO_DELAYED_AUTHEN, "delayed authentication" }, - {0, NULL } }; + {0, NULL } }; static const value_string authen_da_algo_vals[] = { {AUTHEN_DELAYED_ALGO_HMAC_MD5, "HMAC_MD5" }, - {0, NULL } }; + {0, NULL } }; static const value_string authen_rdm_vals[] = { {AUTHEN_RDM_MONOTONIC_COUNTER, "Monotonically-increasing counter" }, - {0, NULL } }; + {0, NULL } }; static const value_string cl_dss_id_type_vals[] = { {1, "Primary DSS_ID" }, @@ -828,9 +828,9 @@ static const value_string cl_dss_id_type_vals[] = { }; /* bootp options administration */ -#define BOOTP_OPT_NUM 256 +#define BOOTP_OPT_NUM 256 -/* Re-define structure. Values to be updated by bootp_init_protocol */ +/* Re-define structure. Values to be updated by bootp_init_protocol */ static struct opt_info bootp_opt[BOOTP_OPT_NUM]; static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { @@ -871,7 +871,7 @@ static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { /* 34 */ { "Trailer Encapsulation", val_boolean, &hf_bootp_option_trailer_encapsulation }, /* 35 */ { "ARP Cache Timeout", time_in_u_secs, &hf_bootp_option_arp_cache_timeout }, /* 36 */ { "Ethernet Encapsulation", val_boolean, &hf_bootp_option_ethernet_encapsulation }, -/* 37 */ { "TCP Default TTL", val_u_byte, &hf_bootp_option_tcp_default_ttl }, +/* 37 */ { "TCP Default TTL", val_u_byte, &hf_bootp_option_tcp_default_ttl }, /* 38 */ { "TCP Keepalive Interval", time_in_u_secs, &hf_bootp_option_tcp_keepalive_interval }, /* 39 */ { "TCP Keepalive Garbage", val_boolean, &hf_bootp_option_tcp_keepalive_garbage }, /* 40 */ { "Network Information Service Domain", string, &hf_bootp_option_nis_domain }, @@ -916,7 +916,7 @@ static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { /* 79 */ { "Service Location Agent Scope", special, NULL }, /* 80 */ { "Rapid commit", opaque, NULL }, /* 81 */ { "Client Fully Qualified Domain Name", special, NULL}, -/* 82 */ { "Agent Information Option", special, NULL}, +/* 82 */ { "Agent Information Option", special, NULL}, /* 83 */ { "iSNS [TODO:RFC4174]", opaque, NULL }, /* 84 */ { "Removed/Unassigned", opaque, NULL }, /* 85 */ { "Novell Directory Services Servers", special, NULL}, @@ -952,7 +952,7 @@ static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { /* 115 */ { "Removed/Unassigned", opaque, NULL }, /* 116 */ { "DHCP Auto-Configuration", val_u_byte, &hf_bootp_option_dhcp_auto_configuration }, /* 117 */ { "Name Service Search [TODO:RFC2937]", opaque, NULL }, -/* 118 */ { "Subnet Selection Option", ipv4_list, &hf_bootp_option_subnet_selection_option }, +/* 118 */ { "Subnet Selection Option", ipv4_list, &hf_bootp_option_subnet_selection_option }, /* 119 */ { "Domain Search [TODO:RFC3397]", opaque, NULL }, /* 120 */ { "SIP Servers [TODO:RFC3361]", opaque, NULL }, /* 121 */ { "Classless Static Route", special, NULL}, @@ -1098,40 +1098,40 @@ static struct opt_info default_bootp_opt[BOOTP_OPT_NUM] = { */ /* UAT entry structure. */ typedef struct { - guint opt; - gchar *text; + guint opt; + gchar *text; enum field_type ftype; } uat_bootp_record_t; static uat_bootp_record_t *uat_bootp_records = NULL; -static uat_t * bootp_uat = NULL; +static uat_t *bootp_uat = NULL; static guint num_bootp_records_uat = 0; static void* uat_bootp_record_copy_cb(void* n, const void* o, size_t siz _U_) { - uat_bootp_record_t* new_record = (uat_bootp_record_t *)n; - const uat_bootp_record_t* old_record = (const uat_bootp_record_t *)o; + uat_bootp_record_t* new_record = (uat_bootp_record_t *)n; + const uat_bootp_record_t* old_record = (const uat_bootp_record_t *)o; - if (old_record->text) { - new_record->text = g_strdup(old_record->text); - } else { - new_record->text = NULL; - } + if (old_record->text) { + new_record->text = g_strdup(old_record->text); + } else { + new_record->text = NULL; + } - return new_record; + return new_record; } static void uat_bootp_record_update_cb(void* r, const char** err) { - uat_bootp_record_t* rec = (uat_bootp_record_t *)r; + uat_bootp_record_t* rec = (uat_bootp_record_t *)r; - if ((rec->opt == 0) || (rec->opt >=BOOTP_OPT_NUM-1)) - *err = ep_strdup_printf("Option must be between 1 and %d", BOOTP_OPT_NUM-2); + if ((rec->opt == 0) || (rec->opt >=BOOTP_OPT_NUM-1)) + *err = ep_strdup_printf("Option must be between 1 and %d", BOOTP_OPT_NUM-2); } static void uat_bootp_record_free_cb(void*r) { - uat_bootp_record_t* rec = (uat_bootp_record_t *)r; + uat_bootp_record_t* rec = (uat_bootp_record_t *)r; - if (rec->text) g_free(rec->text); + if (rec->text) g_free(rec->text); } UAT_DEC_CB_DEF(uat_bootp_records, opt, uat_bootp_record_t) @@ -1142,9 +1142,9 @@ UAT_VS_DEF(uat_bootp_records, ftype, uat_bootp_record_t, 0, "string") static struct opt_info* bootp_get_opt(unsigned int idx) { if(idx>=BOOTP_OPT_NUM) - return NULL; + return NULL; - return &bootp_opt[idx]; + return &bootp_opt[idx]; } static const char * @@ -1172,13 +1172,13 @@ struct basic_types_hfs { /* Handle "basic" datatypes adding to a tree */ static int bootp_handle_basic_types(packet_info *pinfo, proto_tree *tree, proto_item *item, tvbuff_t *tvb, - enum field_type ftype, int offset, int total_len, - gint *hf, struct basic_types_hfs* hf_default) + enum field_type ftype, int offset, int total_len, + gint *hf, struct basic_types_hfs* hf_default) { - int i, left; - gint32 time_s_secs; + int i, left; + gint32 time_s_secs; guint32 time_u_secs; - int consumed = 0; + int consumed = 0; switch (ftype) { case bytes: @@ -1341,7 +1341,7 @@ bootp_handle_basic_types(packet_info *pinfo, proto_tree *tree, proto_item *item, consumed = 4; break; default: - /* Ignore other field_types */ + /* Ignore other field_types */ break; } @@ -1351,32 +1351,42 @@ bootp_handle_basic_types(packet_info *pinfo, proto_tree *tree, proto_item *item, /* Returns the number of bytes consumed by this option. */ static int bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, - int eoff, gboolean first_pass, gboolean *at_end, const char **dhcp_type_p, - const guint8 **vendor_class_id_p, guint8 *overload_p) + int eoff, gboolean first_pass, gboolean *at_end, const char **dhcp_type_p, + const guint8 **vendor_class_id_p, guint8 *overload_p) { - struct opt_info* opt; - enum field_type ftype; - guchar code = tvb_get_guint8(tvb, voff); - int optlen; - guchar byte; - int i, consumed, basictype_consumed; - int optoff, optleft, optend; - proto_tree *v_tree; - proto_item *vti; - guint8 protocol; - guint8 algorithm; - guint8 rdm; - guint8 fqdn_flags; - int o52voff, o52eoff; - gboolean o52at_end; - guint8 s_option; - guint8 s_len; - const guchar *dns_name; - gboolean option_handled = TRUE; - struct basic_types_hfs default_hfs = {&hf_bootp_option_value, &hf_bootp_option_value_ip_address, &hf_bootp_option_value_ip_address, - &hf_bootp_option_value_stringz, &hf_bootp_option_value_boolean, &hf_bootp_option_value_8, - &hf_bootp_option_value_16, &hf_bootp_option_value_16, - &hf_bootp_option_value_u32, &hf_bootp_option_value_i32, &hf_bootp_option_value_u32 }; + struct opt_info *opt; + enum field_type ftype; + guchar code = tvb_get_guint8(tvb, voff); + int optlen; + guchar byte; + int i, consumed, basictype_consumed; + int optoff, optleft, optend; + proto_tree *v_tree; + proto_item *vti; + guint8 protocol; + guint8 algorithm; + guint8 rdm; + guint8 fqdn_flags; + int o52voff, o52eoff; + gboolean o52at_end; + guint8 s_option; + guint8 s_len; + const guchar *dns_name; + gboolean option_handled = TRUE; + + struct basic_types_hfs default_hfs = { + &hf_bootp_option_value, + &hf_bootp_option_value_ip_address, + &hf_bootp_option_value_ip_address, + &hf_bootp_option_value_stringz, + &hf_bootp_option_value_boolean, + &hf_bootp_option_value_8, + &hf_bootp_option_value_16, + &hf_bootp_option_value_16, + &hf_bootp_option_value_u32, + &hf_bootp_option_value_i32, + &hf_bootp_option_value_u32 + }; /* Options whose length isn't "optlen + 2". */ switch (code) { @@ -1785,7 +1795,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, } break; - case 97: /* Client Identifier (UUID) */ + case 97: /* Client Identifier (UUID) */ if (optlen > 0) byte = tvb_get_guint8(tvb, optoff); else @@ -1892,13 +1902,13 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, } break; - case 82: /* Relay Agent Information Option */ + case 82: /* Relay Agent Information Option */ optend = optoff + optlen; while (optoff < optend) optoff = bootp_dhcp_decode_agent_info(pinfo, vti, v_tree, tvb, optoff, optend); break; - case 85: /* Novell Servers (RFC 2241) */ + case 85: /* Novell Servers (RFC 2241) */ /* Option 85 can be sent as a string */ /* Added by Greg Morris (gmorris[AT]novell.com) */ if (novell_string) { @@ -2147,7 +2157,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, } break; - case 124: { /* V-I Vendor Class */ + case 124: { /* V-I Vendor Class */ int data_len; if (optlen == 1) { @@ -2181,7 +2191,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, break; } - case 125: { /* V-I Vendor-specific Information */ + case 125: { /* V-I Vendor-specific Information */ int enterprise = 0; int s_end = 0; int s_option_len = 0; @@ -2275,7 +2285,7 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, } default: /* not special */ - /* The PacketCable CCC option number can vary. If this is a CCC option, + /* The PacketCable CCC option number can vary. If this is a CCC option, handle it as a special. */ if (code == pkt_ccc_option) { @@ -2317,16 +2327,16 @@ bootp_option(tvbuff_t *tvb, packet_info *pinfo, proto_tree *bp_tree, int voff, } static const value_string option82_suboption_vals[] = { - { 0, "Padding" }, - { 1, "Agent Circuit ID" }, - { 2, "Agent Remote ID" }, - { 3, "Reserved" }, - { 4, "DOCSIS Device Class" }, - { 5, "Link selection" }, - { 6, "Subscriber ID" }, - { 7, "RADIUS Attributes" }, - { 8, "Authentication" }, - { 9, "Vendor-Specific Information" }, + { 0, "Padding" }, + { 1, "Agent Circuit ID" }, + { 2, "Agent Remote ID" }, + { 3, "Reserved" }, + { 4, "DOCSIS Device Class" }, + { 5, "Link selection" }, + { 6, "Subscriber ID" }, + { 7, "RADIUS Attributes" }, + { 8, "Authentication" }, + { 9, "Vendor-Specific Information" }, { 10, "Flags" }, { 11, "Server ID Override" }, { 150, "Link selection (Cisco proprietary)" }, @@ -2337,18 +2347,30 @@ static const value_string option82_suboption_vals[] = { static int bootp_dhcp_decode_agent_info(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, tvbuff_t *tvb, int optoff, - int optend) + int optend) { - int suboptoff = optoff; - guint8 subopt, idx, vs_opt, vs_len; - int subopt_len, subopt_end, datalen; - guint32 enterprise; + int suboptoff = optoff; + guint8 subopt, idx, vs_opt, vs_len; + int subopt_len, subopt_end, datalen; + guint32 enterprise; proto_item *vti; proto_tree *o82_v_tree, *o82_sub_tree; - guint8 tag, tag_len; - struct basic_types_hfs default_hfs = {&hf_bootp_option82_value, &hf_bootp_option82_value_ip_address, &hf_bootp_option82_value_ip_address, - &hf_bootp_option82_value_stringz, NULL, &hf_bootp_option82_value_8, - NULL, NULL, &hf_bootp_option82_value_32, NULL, NULL}; + guint8 tag, tag_len; + + struct basic_types_hfs default_hfs = { + &hf_bootp_option82_value, + &hf_bootp_option82_value_ip_address, + &hf_bootp_option82_value_ip_address, + &hf_bootp_option82_value_stringz, + NULL, + &hf_bootp_option82_value_8, + NULL, + NULL, + &hf_bootp_option82_value_32, + NULL, + NULL + }; + struct opt82_info { int id; struct opt_info info; @@ -2492,16 +2514,16 @@ bootp_dhcp_decode_agent_info(packet_info *pinfo, proto_item *v_ti, proto_tree *v } static const value_string option43_pxeclient_suboption_vals[] = { - { 0, "Padding" }, - { 1, "PXE mtftp IP" }, - { 2, "PXE mtftp client port" }, - { 3, "PXE mtftp server port" }, - { 4, "PXE mtftp timeout" }, - { 5, "PXE mtftp delay" }, - { 6, "PXE discovery control" }, - { 7, "PXE multicast address" }, - { 8, "PXE boot servers" }, - { 9, "PXE boot menu" }, + { 0, "Padding" }, + { 1, "PXE mtftp IP" }, + { 2, "PXE mtftp client port" }, + { 3, "PXE mtftp server port" }, + { 4, "PXE mtftp timeout" }, + { 5, "PXE mtftp delay" }, + { 6, "PXE discovery control" }, + { 7, "PXE multicast address" }, + { 8, "PXE boot servers" }, + { 9, "PXE boot menu" }, { 10, "PXE menu prompt" }, { 11, "PXE multicast address alloc", }, { 12, "PXE credential types" }, @@ -2512,16 +2534,27 @@ static const value_string option43_pxeclient_suboption_vals[] = { static int dissect_vendor_pxeclient_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt; - guint8 subopt_len; + int suboptoff = optoff; + guint8 subopt; + guint8 subopt_len; proto_tree *o43pxeclient_v_tree; proto_item *vti; - struct basic_types_hfs default_hfs = {NULL, &hf_bootp_option43_value_ip_address, &hf_bootp_option43_value_ip_address, - NULL, NULL, &hf_bootp_option43_value_8, - NULL, NULL, NULL, NULL, NULL}; + + struct basic_types_hfs default_hfs = { + NULL, + &hf_bootp_option43_value_ip_address, + &hf_bootp_option43_value_ip_address, + NULL, + NULL, + &hf_bootp_option43_value_8, + NULL, + NULL, + NULL, + NULL, + NULL + }; static struct opt_info o43pxeclient_opt[]= { /* 0 */ {"nop", special, &hf_bootp_option43_pxeclient_padding}, /* dummy */ @@ -2562,7 +2595,7 @@ dissect_vendor_pxeclient_suboption(packet_info *pinfo, proto_item *v_ti, proto_t if (suboptoff >= optend) { expert_add_info_format(pinfo, v_ti, PI_PROTOCOL, PI_ERROR, "Suboption %d: no room left in option for suboption length", subopt); - return (optend); + return (optend); } subopt_len = tvb_get_guint8(tvb, suboptoff); @@ -2606,40 +2639,40 @@ rfc3825_lci_to_fixpoint(const unsigned char lci[16], struct rfc3825_location_fix if (lci[0] & 2) { /* LSB<<1 contains the sign of the latitude */ /* Latitude is negative, expand two's complement */ fixpoint->latitude = (((gint64)lci[0] & 3)<<32) | ((gint64)lci[1]<<24) | - ((gint64)lci[2]<<16) | ((gint64)lci[3]<<8) | - (gint64)lci[4] | ((gint64)0x3FFFFFFF<<34); + ((gint64)lci[2]<<16) | ((gint64)lci[3]<<8) | + (gint64)lci[4] | ((gint64)0x3FFFFFFF<<34); } else { /* Latitude is positive */ fixpoint->latitude = (((gint64)lci[0] & 3)<<32) | ((gint64)lci[1]<<24) | - ((gint64)lci[2]<<16) | ((gint64)lci[3]<<8) | - (gint64)lci[4]; + ((gint64)lci[2]<<16) | ((gint64)lci[3]<<8) | + (gint64)lci[4]; } fixpoint->longitude_res = (lci[5]>>2) & 0x3F; /* make sure that right-shift does not copy sign bit */ if (lci[5] & 2) { /* LSB<<1 contains the sign of the latitude */ /* Longitude is negative, expand two's complement */ fixpoint->longitude = (((gint64)lci[5] & 3)<<32) | ((gint64)lci[6]<<24) | - ((gint64)lci[7]<<16) | ((gint64)lci[8]<<8) | - (gint64)lci[9] | ((gint64)0x3FFFFFFF<<34); + ((gint64)lci[7]<<16) | ((gint64)lci[8]<<8) | + (gint64)lci[9] | ((gint64)0x3FFFFFFF<<34); } else { /* Longitude is positive */ fixpoint->longitude = (((gint64)lci[5] & 3)<<32) | ((gint64)lci[6]<<24) | - ((gint64)lci[7]<<16) | ((gint64)lci[8]<<8) | - (gint64)lci[9]; + ((gint64)lci[7]<<16) | ((gint64)lci[8]<<8) | + (gint64)lci[9]; } - fixpoint->altitude_type = (lci[10]>>4) & 0x0F; /* make sure that right-shift does not copy sign bit */ - fixpoint->altitude_res = ((lci[10] & 0x0F) << 2) | ((lci[11]>>6) & 0x03); + fixpoint->altitude_type = (lci[10]>>4) & 0x0F; /* make sure that right-shift does not copy sign bit */ + fixpoint->altitude_res = ((lci[10] & 0x0F) << 2) | ((lci[11]>>6) & 0x03); if (lci[11] & 0x20) { /* LSB<<1 contains the sign of the latitude */ /* Altitude is negative, expand two's complement */ fixpoint->altitude = (((gint32)lci[11] & 0x3F)<<24) | ((gint32)lci[12]<<16) | - ((gint32)lci[13]<<8) | ((gint32)lci[14]) | - ((gint32)0x03<<30); + ((gint32)lci[13]<<8) | ((gint32)lci[14]) | + ((gint32)0x03<<30); } else { /* Altitude is positive */ fixpoint->altitude = (((gint32)lci[11] & 0x3F)<<24) | ((gint32)lci[12]<<16) | - ((gint32)lci[13]<<8) | ((gint32)lci[14]); + ((gint32)lci[13]<<8) | ((gint32)lci[14]); } fixpoint->datum_type = lci[15]; @@ -2724,16 +2757,16 @@ rfc3825_fixpoint_to_decimal(struct rfc3825_location_fixpoint_t *fixpoint, struct } static const value_string option43_cl_suboption_vals[] = { - { 0, "Padding" }, - { 1, "Suboption Request List" }, - { 2, "Device Type" }, - { 3, "eSAFE Types" }, - { 4, "Serial Number" }, - { 5, "Hardware Version" }, - { 6, "Software Version" }, - { 7, "Boot ROM version" }, - { 8, "Organizationally Unique Identifier" }, - { 9, "Model Number" }, + { 0, "Padding" }, + { 1, "Suboption Request List" }, + { 2, "Device Type" }, + { 3, "eSAFE Types" }, + { 4, "Serial Number" }, + { 5, "Hardware Version" }, + { 6, "Software Version" }, + { 7, "Boot ROM version" }, + { 8, "Organizationally Unique Identifier" }, + { 9, "Model Number" }, { 10, "Vendor Name" }, { 11, "Address Realm" }, { 12, "CM/PS System Description" }, @@ -2759,16 +2792,27 @@ static const value_string cablehome_subopt11_vals[] = { static int dissect_vendor_cablelabs_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt; - guint8 subopt_len; + int suboptoff = optoff; + guint8 subopt; + guint8 subopt_len; proto_tree *o43cl_v_tree; proto_item *vti; - struct basic_types_hfs default_hfs = {&hf_bootp_option43_value, NULL, NULL, - &hf_bootp_option43_value_stringz, NULL, &hf_bootp_option43_value_8, - NULL, NULL, &hf_bootp_option43_value_32, NULL, NULL}; + + struct basic_types_hfs default_hfs = { + &hf_bootp_option43_value, + NULL, + NULL, + &hf_bootp_option43_value_stringz, + NULL, + &hf_bootp_option43_value_8, + NULL, + NULL, + &hf_bootp_option43_value_32, + NULL, + NULL + }; static struct opt_info o43cablelabs_opt[]= { /* 0 */ {"nop", special, &hf_bootp_option43_cl_padding}, /* dummy */ @@ -2849,8 +2893,8 @@ dissect_vendor_cablelabs_suboption(packet_info *pinfo, proto_item *v_ti, proto_t if (suboptoff >= optend) { expert_add_info_format(pinfo, v_ti, PI_PROTOCOL, PI_ERROR, - "Suboption %d: no room left in option for suboption length", subopt); - return (optend); + "Suboption %d: no room left in option for suboption length", subopt); + return (optend); } subopt_len = tvb_get_guint8(tvb, suboptoff); @@ -2911,7 +2955,7 @@ dissect_vendor_cablelabs_suboption(packet_info *pinfo, proto_item *v_ti, proto_t } static const value_string option43_alcatel_suboption_vals[] = { - { 0, "Padding" }, + { 0, "Padding" }, { 58, "Voice VLAN ID" }, { 64, "Spatial Redundancy TFTP1" }, { 65, "Spatial Redundancy TFTP2" }, @@ -2929,11 +2973,11 @@ static const value_string option43_alcatel_app_type_vals[] = { static int dissect_vendor_alcatel_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt; - guint8 subopt_len; + int suboptoff = optoff; + guint8 subopt; + guint8 subopt_len; proto_item *vti; proto_tree *o43alcatel_v_tree; @@ -2966,7 +3010,7 @@ dissect_vendor_alcatel_suboption(packet_info *pinfo, proto_item *v_ti, proto_tre if (suboptoff+subopt_len > optend) { expert_add_info_format(pinfo, vti, PI_PROTOCOL, PI_ERROR, "Suboption %d: no room left in option for suboption value", subopt); - return (optend); + return (optend); } switch (subopt) @@ -3031,15 +3075,26 @@ static const value_string option63_suboption_vals[] = { static int dissect_netware_ip_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt, subopt_len; + int suboptoff = optoff; + guint8 subopt, subopt_len; proto_tree *o63_v_tree; proto_item *vti; - struct basic_types_hfs default_hfs = {NULL, &hf_bootp_option63_value_ip_address, &hf_bootp_option63_value_ip_address, - NULL, &hf_bootp_option63_value_boolean, &hf_bootp_option63_value_8, - NULL, NULL, NULL, NULL, NULL}; + + struct basic_types_hfs default_hfs = { + NULL, + &hf_bootp_option63_value_ip_address, + &hf_bootp_option63_value_ip_address, + NULL, + &hf_bootp_option63_value_boolean, + &hf_bootp_option63_value_8, + NULL, + NULL, + NULL, + NULL, + NULL + }; static struct opt_info o63_opt[]= { /* 0 */ {"",none,NULL}, @@ -3108,15 +3163,26 @@ static const value_string option125_tr111_suboption_vals[] = { static int dissect_vendor_tr111_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; + int suboptoff = optoff; proto_tree *o125_v_tree; proto_item *vti; - guint8 subopt, subopt_len; - struct basic_types_hfs default_hfs = {NULL, NULL, NULL, - &hf_bootp_option125_value_stringz, NULL, NULL, - NULL, NULL, NULL, NULL, NULL}; + guint8 subopt, subopt_len; + + struct basic_types_hfs default_hfs = { + NULL, + NULL, + NULL, + &hf_bootp_option125_value_stringz, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + }; /* Reference: TR-111 DHCP Option 125 Sub-Option Data Fields Page 10. @@ -3138,7 +3204,7 @@ dissect_vendor_tr111_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree if (suboptoff >= optend) { expert_add_info_format(pinfo, v_ti, PI_PROTOCOL, PI_ERROR, "Suboption %d: no room left in option for suboption length", subopt); - return (optend); + return (optend); } subopt_len = tvb_get_guint8(tvb, suboptoff); @@ -3153,7 +3219,7 @@ dissect_vendor_tr111_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree if (suboptoff+subopt_len > optend) { expert_add_info_format(pinfo, vti, PI_PROTOCOL, PI_ERROR, "Suboption %d: no room left in option for suboption value", subopt); - return (optend); + return (optend); } if (subopt < array_length(o125_tr111_opt)) { @@ -3192,15 +3258,26 @@ static const value_string pkt_mib_env_ind_opt_vals[] = { static int dissect_vendor_cl_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt, subopt_len; + int suboptoff = optoff; + guint8 subopt, subopt_len; proto_tree *o125_v_tree; proto_item *vti; - struct basic_types_hfs default_hfs = {&hf_bootp_option125_value, &hf_bootp_option125_value_ip_address, &hf_bootp_option125_value_ip_address, - &hf_bootp_option125_value_stringz, NULL, &hf_bootp_option125_value_8, - &hf_bootp_option125_value_16, NULL, NULL, NULL, NULL}; + + struct basic_types_hfs default_hfs = { + &hf_bootp_option125_value, + &hf_bootp_option125_value_ip_address, + &hf_bootp_option125_value_ip_address, + &hf_bootp_option125_value_stringz, + NULL, + &hf_bootp_option125_value_8, + &hf_bootp_option125_value_16, + NULL, + NULL, + NULL, + NULL + }; static struct opt_info o125_cl_opt[]= { /* 0 */ {"nop", special, NULL}, /* dummy */ @@ -3216,8 +3293,8 @@ dissect_vendor_cl_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_ if (suboptoff >= optend) { expert_add_info_format(pinfo, v_ti, PI_PROTOCOL, PI_ERROR, - "Suboption %d: no room left in option for suboption length", subopt); - return (optend); + "Suboption %d: no room left in option for suboption length", subopt); + return (optend); } subopt_len = tvb_get_guint8(tvb, suboptoff); @@ -3266,31 +3343,31 @@ dissect_vendor_cl_suboption(packet_info *pinfo, proto_item *v_ti, proto_tree *v_ #define PKT_MDC_TLV_OFF 10 -/* These are ASCII-encoded hexadecimal digits. We use the raw hex equivalent for +/* These are ASCII-encoded hexadecimal digits. We use the raw hex equivalent for convenience. */ -#define PKT_MDC_VERSION 0x3031 /* "01" */ -#define PKT_MDC_TEL_END 0x3032 /* "02" */ -#define PKT_MDC_TGT 0x3033 /* "03" */ -#define PKT_MDC_HTTP_ACC 0x3034 /* "04" */ -#define PKT_MDC_SYSLOG 0x3035 /* "05" */ -#define PKT_MDC_NCS 0x3036 /* "06" */ -#define PKT_MDC_PRI_LINE 0x3037 /* "07" */ -#define PKT_MDC_VENDOR_TLV 0x3038 /* "08" */ -#define PKT_MDC_NVRAM_STOR 0x3039 /* "09" */ -#define PKT_MDC_PROV_REP 0x3041 /* "0A" */ -#define PKT_MDC_PROV_REP_LC 0x3061 /* "0a" */ -#define PKT_MDC_SUPP_CODECS 0x3042 /* "0B" */ -#define PKT_MDC_SUPP_CODECS_LC 0x3062 /* "0b" */ -#define PKT_MDC_SILENCE 0x3043 /* "0C" */ -#define PKT_MDC_SILENCE_LC 0x3063 /* "0c" */ -#define PKT_MDC_ECHO_CANCEL 0x3044 /* "0D" */ -#define PKT_MDC_ECHO_CANCEL_LC 0x3064 /* "0d" */ -#define PKT_MDC_RSVP 0x3045 /* "0E" */ -#define PKT_MDC_RSVP_LC 0x3065 /* "0e" */ -#define PKT_MDC_UGS_AD 0x3046 /* "0F" */ -#define PKT_MDC_UGS_AD_LC 0x3066 /* "0f" */ -#define PKT_MDC_IF_INDEX 0x3130 /* "10" */ -#define PKT_MDC_FLOW_LOG 0x3131 /* "11" */ +#define PKT_MDC_VERSION 0x3031 /* "01" */ +#define PKT_MDC_TEL_END 0x3032 /* "02" */ +#define PKT_MDC_TGT 0x3033 /* "03" */ +#define PKT_MDC_HTTP_ACC 0x3034 /* "04" */ +#define PKT_MDC_SYSLOG 0x3035 /* "05" */ +#define PKT_MDC_NCS 0x3036 /* "06" */ +#define PKT_MDC_PRI_LINE 0x3037 /* "07" */ +#define PKT_MDC_VENDOR_TLV 0x3038 /* "08" */ +#define PKT_MDC_NVRAM_STOR 0x3039 /* "09" */ +#define PKT_MDC_PROV_REP 0x3041 /* "0A" */ +#define PKT_MDC_PROV_REP_LC 0x3061 /* "0a" */ +#define PKT_MDC_SUPP_CODECS 0x3042 /* "0B" */ +#define PKT_MDC_SUPP_CODECS_LC 0x3062 /* "0b" */ +#define PKT_MDC_SILENCE 0x3043 /* "0C" */ +#define PKT_MDC_SILENCE_LC 0x3063 /* "0c" */ +#define PKT_MDC_ECHO_CANCEL 0x3044 /* "0D" */ +#define PKT_MDC_ECHO_CANCEL_LC 0x3064 /* "0d" */ +#define PKT_MDC_RSVP 0x3045 /* "0E" */ +#define PKT_MDC_RSVP_LC 0x3065 /* "0e" */ +#define PKT_MDC_UGS_AD 0x3046 /* "0F" */ +#define PKT_MDC_UGS_AD_LC 0x3066 /* "0f" */ +#define PKT_MDC_IF_INDEX 0x3130 /* "10" */ +#define PKT_MDC_FLOW_LOG 0x3131 /* "11" */ #define PKT_MDC_PROV_FLOWS 0x3132 /* "12" */ /* PacketCable 1.5: */ #define PKT_MDC_T38_VERSION 0x3133 /* "13" */ @@ -3356,7 +3433,7 @@ static const value_string pkt_mdc_boolean_vals[] = { }; static const value_string pkt_mdc_codec_vals[] = { - { 0x3031, "other" }, /* "01" */ + { 0x3031, "other" }, /* "01" */ { 0x3032, "unknown" }, { 0x3033, "G.729" }, { 0x3034, "reserved" }, @@ -3364,8 +3441,8 @@ static const value_string pkt_mdc_codec_vals[] = { { 0x3036, "PCMU" }, { 0x3037, "G.726-32" }, { 0x3038, "G.728" }, - { 0x3039, "PCMA" }, /* "09" */ - { 0x3041, "G.726-16" }, /* "0A" */ + { 0x3039, "PCMA" }, /* "09" */ + { 0x3041, "G.726-16" }, /* "0A" */ { 0x3042, "G.726-24" }, { 0x3043, "G.726-40" }, { 0x3044, "iLBC" }, @@ -3454,15 +3531,15 @@ static const value_string pkt_mdc_euro_mib_vals[] = { static void dissect_packetcable_mta_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len) { - guint16 raw_val; - unsigned long flow_val = 0; - int off = PKT_MDC_TLV_OFF + voff; - int subopt_off, max_len; - guint tlv_len, i, mib_val; - guint8 asc_val[3] = " ", flow_val_str[5]; - char bit_fld[64]; - proto_item *ti, *mib_ti; - proto_tree *subtree, *subtree2; + guint16 raw_val; + unsigned long flow_val = 0; + int off = PKT_MDC_TLV_OFF + voff; + int subopt_off, max_len; + guint tlv_len, i, mib_val; + guint8 asc_val[3] = " ", flow_val_str[5]; + char bit_fld[64]; + proto_item *ti, *mib_ti; + proto_tree *subtree, *subtree2; tvb_memcpy (tvb, asc_val, off, 2); if (sscanf((gchar*)asc_val, "%x", &tlv_len) != 1 || tlv_len > 0xff) { @@ -3736,29 +3813,29 @@ static const value_string docsis_cm_cap_type_vals[] = { { DOCSIS_CM_CAP_IPFILT_SUP, "IP Filters Support" }, { DOCSIS_CM_CAP_LLCFILT_SUP, "LLC Filters Support" }, { DOCSIS_CM_CAP_EXPUNI_SPACE, "Expanded Unicast SID Space" }, - { DOCSIS_CM_CAP_RNGHLDOFF_SUP, "Ranging Hold-Off Support" }, + { DOCSIS_CM_CAP_RNGHLDOFF_SUP, "Ranging Hold-Off Support" }, { DOCSIS_CM_CAP_L2VPN_SUP, "L2VPN Capability" }, - { DOCSIS_CM_CAP_L2VPN_HOST_SUP, "eSAFE Host Capability" }, + { DOCSIS_CM_CAP_L2VPN_HOST_SUP, "eSAFE Host Capability" }, { DOCSIS_CM_CAP_DUTFILT_SUP, "DUT Filtering" }, - { DOCSIS_CM_CAP_USFREQRNG_SUP, "Upstream Frequency Range Support" }, - { DOCSIS_CM_CAP_USSYMRATE_SUP, "Upstream Symbol Rate Support" }, + { DOCSIS_CM_CAP_USFREQRNG_SUP, "Upstream Frequency Range Support" }, + { DOCSIS_CM_CAP_USSYMRATE_SUP, "Upstream Symbol Rate Support" }, { DOCSIS_CM_CAP_SACM2_SUP, "Selectable Active Code Mode 2 Support" }, { DOCSIS_CM_CAP_SACM2HOP_SUP, "Code Hopping SAC Mode 2 is supported" }, - { DOCSIS_CM_CAP_MULTTXCHAN_SUP, "Multiple Transmit Channel Support" }, - { DOCSIS_CM_CAP_512USTXCHAN_SUP, "5.12 Msps Upstream Transmit Channel Support" }, - { DOCSIS_CM_CAP_256USTXCHAN_SUP, "2.56 Msps Upstream Transmit Channel Support" }, - { DOCSIS_CM_CAP_TOTALSIDCLU_SUP, "Total SID Cluster Support" }, - { DOCSIS_CM_CAP_SIDCLUPERSF_SUP, "SID Clusters per Service Flow Support" }, - { DOCSIS_CM_CAP_MULTRXCHAN_SUP, "Multiple Receive Channel Support" }, - { DOCSIS_CM_CAP_TOTALDSID_SUP, "Total Downstream Service ID (DSID) Support" }, - { DOCSIS_CM_CAP_RESEQDSID_SUP, "Resequencing Downstream Service ID (DSID) Support" }, - { DOCSIS_CM_CAP_MULTDSID_SUP, "Multicast Downstream Service ID (DSID) Support" }, - { DOCSIS_CM_CAP_MULTDSIDFW_SUP, "Multicast DSID Forwarding" }, + { DOCSIS_CM_CAP_MULTTXCHAN_SUP, "Multiple Transmit Channel Support" }, + { DOCSIS_CM_CAP_512USTXCHAN_SUP, "5.12 Msps Upstream Transmit Channel Support" }, + { DOCSIS_CM_CAP_256USTXCHAN_SUP, "2.56 Msps Upstream Transmit Channel Support" }, + { DOCSIS_CM_CAP_TOTALSIDCLU_SUP, "Total SID Cluster Support" }, + { DOCSIS_CM_CAP_SIDCLUPERSF_SUP, "SID Clusters per Service Flow Support" }, + { DOCSIS_CM_CAP_MULTRXCHAN_SUP, "Multiple Receive Channel Support" }, + { DOCSIS_CM_CAP_TOTALDSID_SUP, "Total Downstream Service ID (DSID) Support" }, + { DOCSIS_CM_CAP_RESEQDSID_SUP, "Resequencing Downstream Service ID (DSID) Support" }, + { DOCSIS_CM_CAP_MULTDSID_SUP, "Multicast Downstream Service ID (DSID) Support" }, + { DOCSIS_CM_CAP_MULTDSIDFW_SUP, "Multicast DSID Forwarding" }, { DOCSIS_CM_CAP_FCTF_SUP, "Frame Control Type Forwarding Capability" }, { DOCSIS_CM_CAP_DPV_SUP, "DPV Capability" }, - { DOCSIS_CM_CAP_UGSPERUSFLOW_SUP, "Unsolicited Grant Service/Upstream Service Flow Support" }, - { DOCSIS_CM_CAP_MAPUCDRECEIPT_SUP, "MAP and UCD Receipt Support" }, - { DOCSIS_CM_CAP_USDROPCLASSIF_SUP, "Upstream Drop Classifier Support" }, + { DOCSIS_CM_CAP_UGSPERUSFLOW_SUP, "Unsolicited Grant Service/Upstream Service Flow Support" }, + { DOCSIS_CM_CAP_MAPUCDRECEIPT_SUP, "MAP and UCD Receipt Support" }, + { DOCSIS_CM_CAP_USDROPCLASSIF_SUP, "Upstream Drop Classifier Support" }, { DOCSIS_CM_CAP_IPV6_SUP, "IPv6 Support" }, { 0, NULL } }; @@ -3845,9 +3922,9 @@ static const value_string docsis_cm_cap_map_l2vpn_esafe_index_support_vals[] = { }; static const value_string docsis_cm_cap_ussymrate_vals[] = { - { 1 << 0, "160 ksps symbol rate supported" }, - { 1 << 1, "320 ksps symbol rate supported" }, - { 1 << 2, "640 ksps symbol rate supported" }, + { 1 << 0, "160 ksps symbol rate supported" }, + { 1 << 1, "320 ksps symbol rate supported" }, + { 1 << 2, "640 ksps symbol rate supported" }, { 1 << 3, "1280 ksps symbol rate supported" }, { 1 << 4, "2560 ksps symbol rate supported" }, { 1 << 5, "5120 ksps symbol rate supported" }, @@ -3880,15 +3957,16 @@ static void get_opt125_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tl /* Type */ *tlvtype = tvb_get_guint8(tvb, off); /* Length */ - *tlvlen = tvb_get_guint8(tvb, off+1); + *tlvlen = tvb_get_guint8(tvb, off+1); /* Value */ *value = ep_tvb_memdup(tvb, off + 2, *tlvlen); } static void get_opt60_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tlvlen, guint8 **value) { - guint i; - guint8 *val_asc; + guint i; + guint8 *val_asc; + val_asc = (guint8 *)ep_alloc0(4); /* Type */ tvb_memcpy(tvb, val_asc, off, 2); @@ -3909,17 +3987,17 @@ static void get_opt60_tlv(tvbuff_t *tvb, guint off, guint8 *tlvtype, guint8 *tlv static void dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len, gboolean opt125) { - guint8 *asc_val; - guint i; + guint8 *asc_val; + guint i; proto_item *ti; proto_tree *subtree; - char bit_fld[64]; - guint8 tlv_type; - guint8 tlv_len; - guint8 val_byte = 0; - guint16 val_uint16 = 0; - guint8 *val_other = NULL; - guint off = voff; + char bit_fld[64]; + guint8 tlv_type; + guint8 tlv_len; + guint8 val_byte = 0; + guint16 val_uint16 = 0; + guint8 *val_other = NULL; + guint off = voff; asc_val = ep_alloc0(4); @@ -3959,11 +4037,11 @@ dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len, gboo { get_opt125_tlv(tvb, off, &tlv_type, &tlv_len, &val_other); ti = proto_tree_add_uint_format(v_tree, hf_bootp_docsis_cm_cap_type, tvb, off, - tlv_len + 2, - tlv_type, - "0x%02x: %s = ", - tlv_type, - val_to_str(tlv_type, docsis_cm_cap_type_vals, "unknown")); + tlv_len + 2, + tlv_type, + "0x%02x: %s = ", + tlv_type, + val_to_str(tlv_type, docsis_cm_cap_type_vals, "unknown")); } else { @@ -3972,11 +4050,11 @@ dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len, gboo from ASCII to uint8s to allow the same parser to work for both */ get_opt60_tlv(tvb, off, &tlv_type, &tlv_len, &val_other); ti = proto_tree_add_uint_format(v_tree, hf_bootp_docsis_cm_cap_type, tvb, off, - (tlv_len * 2) + 4, - tlv_type, - "0x%02x: %s = ", - tlv_type, - val_to_str(tlv_type, docsis_cm_cap_type_vals, "unknown")); + (tlv_len * 2) + 4, + tlv_type, + "0x%02x: %s = ", + tlv_type, + val_to_str(tlv_type, docsis_cm_cap_type_vals, "unknown")); } if (tlv_len == 1) @@ -4188,8 +4266,8 @@ dissect_docsis_cm_cap(proto_tree *v_tree, tvbuff_t *tvb, int voff, int len, gboo #define PKT_CCC_PROV_TIMER 8 #define PKT_CCC_CMS_FQDN 9 #define PKT_CCC_IETF_SEC_TKT 9 -#define PKT_CCC_AS_KRB 10 -#define PKT_CCC_AP_KRB 11 +#define PKT_CCC_AS_KRB 10 +#define PKT_CCC_AP_KRB 11 #define PKT_CCC_MTA_KRB_CLEAR 12 static const value_string pkt_i05_ccc_opt_vals[] = { @@ -4230,10 +4308,10 @@ static const value_string pkt_i05_ccc_ticket_ctl_vals[] = { static int dissect_packetcable_i05_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend) + tvbuff_t *tvb, int optoff, int optend) { - int suboptoff = optoff; - guint8 subopt, subopt_len, fetch_tgt, timer_val, ticket_ctl; + int suboptoff = optoff; + guint8 subopt, subopt_len, fetch_tgt, timer_val, ticket_ctl; proto_tree *pkt_s_tree; proto_item *vti; @@ -4374,18 +4452,18 @@ static const value_string sec_tcm_vals[] = { static int dissect_packetcable_ietf_ccc(packet_info *pinfo, proto_item *v_ti, proto_tree *v_tree, - tvbuff_t *tvb, int optoff, int optend, int revision) + tvbuff_t *tvb, int optoff, int optend, int revision) { - int suboptoff = optoff; - guint8 subopt, subopt_len; - guint32 ipv4addr; - guint8 prov_type, fetch_tgt, timer_val; - guint16 sec_tcm; - proto_tree *pkt_s_tree; - proto_item *vti; - int max_timer_val = 255, i; + int suboptoff = optoff; + guint8 subopt, subopt_len; + guint32 ipv4addr; + guint8 prov_type, fetch_tgt, timer_val; + guint16 sec_tcm; + proto_tree *pkt_s_tree; + proto_item *vti; + int max_timer_val = 255, i; const guchar *dns_name; - char bit_fld[24]; + char bit_fld[24]; subopt = tvb_get_guint8(tvb, suboptoff); suboptoff++; @@ -4577,20 +4655,20 @@ static const value_string op_vals[] = { static void dissect_bootp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - proto_tree *bp_tree; - proto_item *ti; - proto_tree *flag_tree; - proto_item *fi, *hidden_item; - guint8 op; - guint8 htype, hlen; - int voff, eoff, tmpvoff; /* vendor offset, end offset */ - guint32 ip_addr; - gboolean at_end; - const char *dhcp_type = NULL; - const guint8 *vendor_class_id = NULL; - guint16 flags, secs; - int offset_delta; - guint8 overload = 0; /* DHCP option overload */ + proto_tree *bp_tree; + proto_item *ti; + proto_tree *flag_tree; + proto_item *fi, *hidden_item; + guint8 op; + guint8 htype, hlen; + int voff, eoff, tmpvoff; /* vendor offset, end offset */ + guint32 ip_addr; + gboolean at_end; + const char *dhcp_type = NULL; + const guint8 *vendor_class_id = NULL; + guint16 flags, secs; + int offset_delta; + guint8 overload = 0; /* DHCP option overload */ col_set_str(pinfo->cinfo, COL_PROTOCOL, "BOOTP"); /* @@ -4840,462 +4918,1449 @@ void proto_register_bootp(void) { static const value_string bootp_custom_type_vals[] = { - { ipv4, "IP Address"}, - { ipv4_list, "IP Address List" }, - { string, "string" }, - { bytes, "bytes" }, - { val_boolean, "boolean" }, - { val_u_byte, "byte" }, - { val_u_short, "unsigned short" }, + { ipv4, "IP Address"}, + { ipv4_list, "IP Address List" }, + { string, "string" }, + { bytes, "bytes" }, + { val_boolean, "boolean" }, + { val_u_byte, "byte" }, + { val_u_short, "unsigned short" }, { val_u_short_list, "unsigned short list" }, - { val_u_long, "unsigned long" }, - { time_in_s_secs, "integer time in seconds" }, - { time_in_u_secs, "unsigned integer time in seconds" }, + { val_u_long, "unsigned long" }, + { time_in_s_secs, "integer time in seconds" }, + { time_in_u_secs, "unsigned integer time in seconds" }, { 0x00, NULL } }; static hf_register_info hf[] = { { &hf_bootp_dhcp, - { "Frame is DHCP", "bootp.dhcp", FT_BOOLEAN, - BASE_NONE, NULL, 0x0, + { "Frame is DHCP", "bootp.dhcp", + FT_BOOLEAN, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_type, - { "Message type", "bootp.type", FT_UINT8, - BASE_DEC, VALS(op_vals), 0x0, + { "Message type", "bootp.type", + FT_UINT8, BASE_DEC, VALS(op_vals), 0x0, NULL, HFILL }}, { &hf_bootp_hw_type, - { "Hardware type", "bootp.hw.type", FT_UINT8, - BASE_HEX, NULL, 0x0, + { "Hardware type", "bootp.hw.type", + FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_hw_len, - { "Hardware address length", "bootp.hw.len", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "Hardware address length", "bootp.hw.len", + FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_hops, - { "Hops", "bootp.hops", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "Hops", "bootp.hops", + FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_id, - { "Transaction ID", "bootp.id", FT_UINT32, - BASE_HEX, NULL, 0x0, + { "Transaction ID", "bootp.id", + FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_secs, - { "Seconds elapsed", "bootp.secs", FT_UINT16, - BASE_DEC, NULL, 0x0, + { "Seconds elapsed", "bootp.secs", + FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_flags, - { "Bootp flags", "bootp.flags", FT_UINT16, - BASE_HEX, NULL, 0x0, + { "Bootp flags", "bootp.flags", + FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_flags_broadcast, - { "Broadcast flag", "bootp.flags.bc", FT_BOOLEAN, - 16, TFS(&flag_set_broadcast), BOOTP_BC, + { "Broadcast flag", "bootp.flags.bc", + FT_BOOLEAN, 16, TFS(&flag_set_broadcast), BOOTP_BC, NULL, HFILL }}, { &hf_bootp_flags_reserved, - { "Reserved flags", "bootp.flags.reserved", FT_UINT16, - BASE_HEX, NULL, BOOTP_MBZ, + { "Reserved flags", "bootp.flags.reserved", + FT_UINT16, BASE_HEX, NULL, BOOTP_MBZ, NULL, HFILL }}, { &hf_bootp_ip_client, - { "Client IP address", "bootp.ip.client",FT_IPv4, - BASE_NONE, NULL, 0x0, + { "Client IP address", "bootp.ip.client", + FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_ip_your, - { "Your (client) IP address", "bootp.ip.your", FT_IPv4, - BASE_NONE, NULL, 0x0, + { "Your (client) IP address", "bootp.ip.your", + FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_ip_server, - { "Next server IP address", "bootp.ip.server",FT_IPv4, - BASE_NONE, NULL, 0x0, + { "Next server IP address", "bootp.ip.server", + FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_ip_relay, - { "Relay agent IP address", "bootp.ip.relay", FT_IPv4, - BASE_NONE, NULL, 0x0, + { "Relay agent IP address", "bootp.ip.relay", + FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_hw_addr, - { "Client hardware address", "bootp.hw.addr", FT_BYTES, - BASE_NONE, NULL, 0x0, + { "Client hardware address", "bootp.hw.addr", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_hw_addr_padding, - { "Client hardware address padding", "bootp.hw.addr_padding", FT_BYTES, - BASE_NONE, NULL, 0x0, + { "Client hardware address padding", "bootp.hw.addr_padding", + FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_hw_ether_addr, - { "Client MAC address", "bootp.hw.mac_addr", FT_ETHER, - BASE_NONE, NULL, 0x0, + { "Client MAC address", "bootp.hw.mac_addr", + FT_ETHER, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_server, - { "Server host name", "bootp.server", FT_STRING, - BASE_NONE, NULL, 0x0, + { "Server host name", "bootp.server", + FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_file, - { "Boot file name", "bootp.file", FT_STRING, - BASE_NONE, NULL, 0x0, + { "Boot file name", "bootp.file", + FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_cookie, - { "Magic cookie", "bootp.cookie", FT_IPv4, - BASE_NONE, NULL, 0x0, + { "Magic cookie", "bootp.cookie", + FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }}, { &hf_bootp_fqdn_s, - { "Server", "bootp.fqdn.s", FT_BOOLEAN, - 8, TFS(&tfs_fqdn_s), F_FQDN_S, + { "Server", "bootp.fqdn.s", + FT_BOOLEAN, 8, TFS(&tfs_fqdn_s), F_FQDN_S, "If true, server should do DDNS update", HFILL }}, { &hf_bootp_fqdn_o, - { "Server overrides", "bootp.fqdn.o", FT_BOOLEAN, - 8, TFS(&tfs_fqdn_o), F_FQDN_O, + { "Server overrides", "bootp.fqdn.o", + FT_BOOLEAN, 8, TFS(&tfs_fqdn_o), F_FQDN_O, "If true, server insists on doing DDNS update", HFILL }}, { &hf_bootp_fqdn_e, - { "Encoding", "bootp.fqdn.e", FT_BOOLEAN, - 8, TFS(&tfs_fqdn_e), F_FQDN_E, + { "Encoding", "bootp.fqdn.e", + FT_BOOLEAN, 8, TFS(&tfs_fqdn_e), F_FQDN_E, "If true, name is binary encoded", HFILL }}, { &hf_bootp_fqdn_n, - { "Server DDNS", "bootp.fqdn.n", FT_BOOLEAN, - 8, TFS(&tfs_fqdn_n), F_FQDN_N, + { "Server DDNS", "bootp.fqdn.n", + FT_BOOLEAN, 8, TFS(&tfs_fqdn_n), F_FQDN_N, "If true, server should not do any DDNS updates", HFILL }}, { &hf_bootp_fqdn_mbz, - { "Reserved flags", "bootp.fqdn.mbz",FT_UINT8, - BASE_HEX, NULL, F_FQDN_MBZ, + { "Reserved flags", "bootp.fqdn.mbz", + FT_UINT8, BASE_HEX, NULL, F_FQDN_MBZ, NULL, HFILL }}, { &hf_bootp_fqdn_rcode1, - { "A-RR result", "bootp.fqdn.rcode1", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "A-RR result", "bootp.fqdn.rcode1", + FT_UINT8, BASE_DEC, NULL, 0x0, "Result code of A-RR update", HFILL }}, { &hf_bootp_fqdn_rcode2, - { "PTR-RR result", "bootp.fqdn.rcode2", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "PTR-RR result", "bootp.fqdn.rcode2", + FT_UINT8, BASE_DEC, NULL, 0x0, "Result code of PTR-RR update", HFILL }}, { &hf_bootp_fqdn_name, - { "Client name", "bootp.fqdn.name", FT_STRING, - BASE_NONE, NULL, 0x0, + { "Client name", "bootp.fqdn.name", + FT_STRING, BASE_NONE, NULL, 0x0, "Name to register via DDNS", HFILL }}, { &hf_bootp_fqdn_asciiname, - { "Client name", "bootp.fqdn.name", FT_STRING, - BASE_NONE, NULL, 0x0, + { "Client name", "bootp.fqdn.name", + FT_STRING, BASE_NONE, NULL, 0x0, "Name to register via DDNS", HFILL }}, { &hf_bootp_pkt_mta_cap_len, - { "MTA DC Length", "bootp.vendor.pktc.mta_cap_len", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "MTA DC Length", "bootp.vendor.pktc.mta_cap_len", + FT_UINT8, BASE_DEC, NULL, 0x0, "PacketCable MTA Device Capabilities Length", HFILL }}, { &hf_bootp_docsis_cm_cap_len, - { "CM DC Length", "bootp.vendor.docsis.cm_cap_len", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "CM DC Length", "bootp.vendor.docsis.cm_cap_len", + FT_UINT8, BASE_DEC, NULL, 0x0, "DOCSIS Cable Modem Device Capabilities Length", HFILL }}, { &hf_bootp_docsis_cm_cap_type, - { "CM DC Type", "bootp.docsis_cm_cap_type", FT_UINT16, - BASE_DEC, VALS(docsis_cm_cap_type_vals), 0x0, + { "CM DC Type", "bootp.docsis_cm_cap_type", + FT_UINT16, BASE_DEC, VALS(docsis_cm_cap_type_vals), 0x0, "Docsis Cable Modem Device Capability type", HFILL }}, { &hf_bootp_client_identifier_uuid, - { "Client Identifier (UUID)", "bootp.client_id_uuid", FT_GUID, - BASE_NONE, NULL, 0x0, + { "Client Identifier (UUID)", "bootp.client_id_uuid", + FT_GUID, BASE_NONE, NULL, 0x0, "Client Machine Identifier (UUID)", HFILL }}, { &hf_bootp_option_type, - { "Option", "bootp.option.type", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "Option", "bootp.option.type", + FT_UINT8, BASE_DEC, NULL, 0x0, "Bootp/Dhcp option type", HFILL }}, { &hf_bootp_option_length, - { "Length", "bootp.option.length", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "Length", "bootp.option.length", + FT_UINT8, BASE_DEC, NULL, 0x0, "Bootp/Dhcp option length", HFILL }}, { &hf_bootp_suboption_length, - { "Length", "bootp.option.suboption_length", FT_UINT8, - BASE_DEC, NULL, 0x0, + { "Length", "bootp.option.suboption_length", + FT_UINT8, BASE_DEC, NULL, 0x0, "Suboption length", HFILL }}, - { &hf_bootp_option_value, { "Value", "bootp.option.value", FT_BYTES, BASE_NONE, NULL, 0x0, "Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_8, { "Value", "bootp.option.value", FT_UINT8, BASE_DEC, NULL, 0x0, "8-bit Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_16, { "Value", "bootp.option.value", FT_UINT16, BASE_DEC, NULL, 0x0, "16-bit Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_u32, { "Value", "bootp.option.value", FT_UINT32, BASE_HEX, NULL, 0x0, "32-bit Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_i32, { "Value", "bootp.option.value", FT_INT32, BASE_DEC, NULL, 0x0, "32-bit Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_stringz, { "Value", "bootp.option.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Z-String Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_ip_address, { "Value", "bootp.option.value", FT_IPv4, BASE_NONE, NULL, 0x00, "IP address Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_value_boolean, { "Value", "bootp.option.value", FT_BOOLEAN, BASE_NONE, TFS(&tfs_true_false), 0x00, "Boolean Bootp/Dhcp option value", HFILL }}, - { &hf_bootp_option_padding, { "Padding", "bootp.option.padding", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 0: Padding", HFILL }}, - { &hf_bootp_option_subnet_mask, { "Subnet Mask", "bootp.option.subnet_mask", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 1: Subnet Mask", HFILL }}, - { &hf_bootp_option_time_offset, { "Time Offset", "bootp.option.time_offset", FT_INT32, BASE_DEC, NULL, 0x00, "Option 2: Time Offset", HFILL }}, - { &hf_bootp_option_router, { "Router", "bootp.option.router", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 3: Router", HFILL }}, - { &hf_bootp_option_time_server, { "Time Server", "bootp.option.time_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 4: Time Server", HFILL }}, - { &hf_bootp_option_name_server, { "Name Server", "bootp.option.name_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 5: Name Server", HFILL }}, - { &hf_bootp_option_domain_name_server, { "Domain Name Server", "bootp.option.domain_name_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 6: Domain Name Server", HFILL }}, - { &hf_bootp_option_log_server, { "Log Server", "bootp.option.log_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 7: Log Server", HFILL }}, - { &hf_bootp_option_quotes_server, { "Quotes Server", "bootp.option.quotes_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 8: Quotes Server", HFILL }}, - { &hf_bootp_option_lpr_server, { "LPR Server", "bootp.option.lpr_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 9: LPR Server", HFILL }}, - { &hf_bootp_option_impress_server, { "Impress Server", "bootp.option.impress_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 10: Impress Server", HFILL }}, - { &hf_bootp_option_resource_location_server, { "Resource Location Server", "bootp.option.resource_location_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 11: Resource Location Server", HFILL }}, - { &hf_bootp_option_hostname, { "Host Name", "bootp.option.hostname", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 12: Host Name", HFILL }}, - { &hf_bootp_option_boot_file_size, { "Boot File Size", "bootp.option.boot_file_size", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 13: Boot File Size", HFILL }}, - { &hf_bootp_option_merit_dump_file, { "Merit Dump File", "bootp.option.merit_dump_file", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 14: Merit Dump File", HFILL }}, - { &hf_bootp_option_domain_name, { "Domain Name", "bootp.option.domain_name", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 15: Domain Name", HFILL }}, - { &hf_bootp_option_swap_server, { "Swap Server", "bootp.option.swap_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 16: Swap Server", HFILL }}, - { &hf_bootp_option_root_path, { "Root Path", "bootp.option.root_path", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 17: Root Path", HFILL }}, - { &hf_bootp_option_extension_path, { "Extensions Path", "bootp.option.extension_path", FT_STRINGZ, BASE_NONE, NULL, 0x0,"Option 18: Extensions Path", HFILL }}, - { &hf_bootp_option_ip_forwarding, { "IP Forwarding", "bootp.option.ip_forwarding", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 19: IP Forwarding", HFILL }}, - { &hf_bootp_option_policy_filter_ip, { "IP Address", "bootp.option.policy_filter.ip", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 21: IP address", HFILL }}, - { &hf_bootp_option_policy_filter_subnet_mask, { "Subnet Mask", "bootp.option.policy_filter.subnet_mask", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 21: Subnet Mask", HFILL }}, - { &hf_bootp_option_non_local_source_routing, { "Non-Local Source Routing", "bootp.option.non_local_source_routing", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 20: Non-Local Source Routing", HFILL }}, - { &hf_bootp_option_max_datagram_reassembly_size, { "Maximum Datagram Reassembly Size", "bootp.option.max_datagram_reassembly_size", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 22: Maximum Datagram Reassembly Size", HFILL }}, - { &hf_bootp_option_default_ip_ttl, { "Default IP Time-to-Live", "bootp.option.default_ip_ttl", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 23: Default IP Time-to-Live", HFILL }}, - { &hf_bootp_option_path_mtu_aging_timeout, { "Path MTU Aging Timeout", "bootp.option.path_mtu_aging_timeout", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 24: Path MTU Aging Timeout", HFILL }}, - { &hf_bootp_option_path_mtu_plateau_table_item, { "Path MTU Plateau Table Item", "bootp.option.path_mtu_plateau_table_item", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 25: Path MTU Plateau Table Item", HFILL }}, - { &hf_bootp_option_interface_mtu, { "Interface MTU", "bootp.option.interface_mtu", FT_UINT16, BASE_DEC, NULL, 0x0,"Option 26: Interface MTU", HFILL }}, - { &hf_bootp_option_all_subnets_are_local, { "All Subnets are Local", "bootp.option.all_subnets_are_local", FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, "Option 27: All Subnets are Local", HFILL }}, - { &hf_bootp_option_broadcast_address, { "Broadcast Address", "bootp.option.broadcast_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 28: Broadcast Address", HFILL }}, - { &hf_bootp_option_perform_mask_discovery, { "Perform Mask Discovery", "bootp.option.perform_mask_discovery", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 29: Perform Mask Discovery", HFILL }}, - { &hf_bootp_option_mask_supplier, { "Mask Supplier", "bootp.option.mask_supplier", FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, "Option 30: Mask Supplier", HFILL }}, - { &hf_bootp_option_perform_router_discover, { "Perform Router Discover", "bootp.option.perform_router_discover", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 31: Perform Router Discover", HFILL }}, - { &hf_bootp_option_router_solicitation_address, { "Router Solicitation Address", "bootp.option.router_solicitation_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 32: Router Solicitation Address", HFILL }}, - { &hf_bootp_option_static_route_ip, { "Destination IP Address", "bootp.option.static_route.ip", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 33: Destination IP address", HFILL }}, - { &hf_bootp_option_static_route_router, { "Destination Router", "bootp.option.static_route.router", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 33: Destination Router", HFILL }}, - { &hf_bootp_option_trailer_encapsulation, { "Trailer Encapsulation", "bootp.option.trailer_encapsulation", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 34: Trailer Encapsulation", HFILL }}, - { &hf_bootp_option_arp_cache_timeout, { "ARP Cache Timeout", "bootp.option.arp_cache_timeout", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 35: ARP Cache Timeout", HFILL }}, - { &hf_bootp_option_ethernet_encapsulation, { "Ethernet Encapsulation", "bootp.option.ethernet_encapsulation", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 36: Ethernet Encapsulation", HFILL }}, - { &hf_bootp_option_tcp_default_ttl, { "TCP Default TTL", "bootp.option.tcp_default_ttl", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 37: TCP Default TTL", HFILL }}, - { &hf_bootp_option_tcp_keepalive_interval, { "TCP Keepalive Interval", "bootp.option.tcp_keepalive_interval", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 38: TCP Keepalive Interval", HFILL }}, - { &hf_bootp_option_tcp_keepalive_garbage, { "TCP Keepalive Garbage", "bootp.option.tcp_keepalive_garbage", FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, "Option 39: TCP Keepalive Garbage", HFILL }}, - { &hf_bootp_option_nis_domain, { "Network Information Service Domain", "bootp.option.nis_domain", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 40: Network Information Service Domain", HFILL }}, - { &hf_bootp_option_nis_server, { "Network Information Service Server", "bootp.option.nis_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 41: Network Information Service Server", HFILL }}, - { &hf_bootp_option_ntp_server, { "Network Time Protocol Server", "bootp.option.ntp_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 42: Network Time Protocol Server", HFILL }}, - - { &hf_bootp_option43_value, { "Value", "bootp.option.vendor.value", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43: Suboption value", HFILL }}, - { &hf_bootp_option43_value_8, { "Value", "bootp.option.vendor.value", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43: Suboption 8-bit value", HFILL }}, - { &hf_bootp_option43_value_32, { "Value", "bootp.option.vendor.value", FT_UINT32, BASE_DEC, NULL, 0x0, "Option 43: Suboption 32-bit value", HFILL }}, - { &hf_bootp_option43_value_stringz, { "Value", "bootp.option.vendor.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43: Suboption Z-String value", HFILL }}, - { &hf_bootp_option43_value_ip_address, { "Value", "bootp.option.vendor.value", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 43: Suboption IP address", HFILL }}, - - { &hf_bootp_option43_pxeclient_suboption, { "Option 43 Suboption", "bootp.option.vendor.pxeclient.suboption", FT_UINT8, BASE_DEC, VALS(option43_pxeclient_suboption_vals), 0x0, "Option 43:PXE Client Suboption", HFILL }}, - { &hf_bootp_option43_pxeclient_padding, { "Padding", "bootp.option.vendor.pxeclient.padding", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:PXE Client 0 Padding", HFILL }}, - { &hf_bootp_option43_pxeclient_mtftp_ip, { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_ip", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 43:PXE Client 1 mtftp IP", HFILL }}, - { &hf_bootp_option43_pxeclient_mtftp_client_port, { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_client_port", FT_UINT16, BASE_DEC, NULL, 0x00, "Option 43:PXE Client 2 mtftp client port", HFILL }}, - { &hf_bootp_option43_pxeclient_mtftp_server_port, { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_server_port", FT_UINT16, BASE_DEC, NULL, 0x00, "Option 43:PXE Client 3 mtftp server port", HFILL }}, - { &hf_bootp_option43_pxeclient_mtftp_timeout, { "mtftp timeout", "bootp.option.vendor.pxeclient.mtftp_timeout", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:PXE Client 4 mtftp timeout", HFILL }}, - { &hf_bootp_option43_pxeclient_mtftp_delay, { "mtftp delay", "bootp.option.vendor.pxeclient.mtftp_delay", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:PXE Client 5 mtftp delay", HFILL }}, - { &hf_bootp_option43_pxeclient_discovery_control, { "discovery control", "bootp.option.vendor.pxeclient.discovery_control", FT_UINT8, BASE_HEX, NULL, 0x0, "Option 43:PXE Client 6 discovery control", HFILL }}, - { &hf_bootp_option43_pxeclient_multicast_address, { "multicast address", "bootp.option.vendor.pxeclient.multicast_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 43:PXE Client 7 multicast address", HFILL }}, - { &hf_bootp_option43_pxeclient_boot_servers, { "boot servers", "bootp.option.vendor.pxeclient.boot_servers", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 8 boot servers", HFILL }}, - { &hf_bootp_option43_pxeclient_boot_menu, { "boot menu", "bootp.option.vendor.pxeclient.boot_menu", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 9 boot menu", HFILL }}, - { &hf_bootp_option43_pxeclient_menu_prompt, { "menu prompt", "bootp.option.vendor.pxeclient.menu_prompt", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 10 menu prompt", HFILL }}, - { &hf_bootp_option43_pxeclient_multicast_address_alloc, { "multicast address alloc", "bootp.option.vendor.pxeclient.multicast_address_alloc", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 11 multicast address alloc", HFILL }}, - { &hf_bootp_option43_pxeclient_credential_types, { "credential types", "bootp.option.vendor.pxeclient.credential_types", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 12 credential types", HFILL }}, - { &hf_bootp_option43_pxeclient_boot_item, { "boot item", "bootp.option.vendor.pxeclient.boot_item", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:PXE Client 71 boot item", HFILL }}, - { &hf_bootp_option43_pxeclient_end, { "PXE Client End", "bootp.option.vendor.pxeclient.end", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:PXE Client 255 End", HFILL }}, - - - { &hf_bootp_option43_cl_suboption, { "Option 43 Suboption", "bootp.option.vendor.cl.suboption", FT_UINT8, BASE_DEC, VALS(option43_cl_suboption_vals), 0x0, "Option 43:CL Suboption", HFILL }}, - { &hf_bootp_option43_cl_padding, { "Padding", "bootp.option.vendor.cl.padding", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:CL 0 Padding", HFILL }}, - { &hf_bootp_option43_cl_suboption_request_list, { "Suboption Request List", "bootp.option.vendor.cl.suboption_request_list", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 1 Suboption Request List", HFILL }}, - { &hf_bootp_option43_cl_device_type, { "Device Type", "bootp.option.vendor.cl.device_type", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 2 Device Type", HFILL }}, - { &hf_bootp_option43_cl_esafe_type, { "eSAFE Types", "bootp.option.vendor.cl.esafe_type", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 3 eSAFE Types", HFILL }}, - { &hf_bootp_option43_cl_serial_number, { "Serial Number", "bootp.option.vendor.cl.serial_number", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 4 Serial Number", HFILL }}, - { &hf_bootp_option43_cl_hardware_version, { "Hardware Version", "bootp.option.vendor.cl.hardware_version", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 5 Hardware Version", HFILL }}, - { &hf_bootp_option43_cl_software_version, { "Software Version", "bootp.option.vendor.cl.software_version", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 6 Software Version", HFILL }}, - { &hf_bootp_option43_cl_boot_rom_version, { "Boot ROM version", "bootp.option.vendor.cl.boot_rom_version", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 7 Boot ROM version", HFILL }}, - { &hf_bootp_option43_cl_oui_string, { "Organizationally Unique Identifier", "bootp.option.vendor.cl.oui_string", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 8 Organizationally Unique Identifier", HFILL }}, - { &hf_bootp_option43_cl_oui_bytes, { "Organizationally Unique Identifier", "bootp.option.vendor.cl.oui_string", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:CL 8 Organizationally Unique Identifier", HFILL }}, - { &hf_bootp_option43_cl_model_number, { "Model Number", "bootp.option.vendor.cl.model_number", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 9 Model Number", HFILL }}, - { &hf_bootp_option43_cl_vendor_name10, { "Vendor Name", "bootp.option.vendor.cl.vendor_name10", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 10 Vendor Name", HFILL }}, - { &hf_bootp_option43_cl_address_realm, { "Address Realm", "bootp.option.vendor.cl.address_realm", FT_UINT8, BASE_DEC, VALS(cablehome_subopt11_vals), 0x0, "Option 43:CL 11 Address Realm", HFILL }}, - { &hf_bootp_option43_cl_cm_ps_system_desc, { "CM/PS System Description", "bootp.option.vendor.cl.cm_ps_system_desc", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 12 CM/PS System Description", HFILL }}, - { &hf_bootp_option43_cl_cm_ps_firmware_revision, { "CM/PS Firmware Revision", "bootp.option.vendor.cl.cm_ps_firmware_revision", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 13 CM/PS Firmware Revision", HFILL }}, - { &hf_bootp_option43_cl_firewall_policy_file_version, { "Firewall Policy File Version", "bootp.option.vendor.cl.firewall_policy_file_version", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 14 Firewall Policy File Version", HFILL }}, - { &hf_bootp_option43_cl_esafe_config_file_devices, { "eSafe Config File Devices", "bootp.option.vendor.cl.esafe_config_file_devices", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 15 eSafe Config File Devices", HFILL }}, - { &hf_bootp_option43_cl_video_security_tape, { "Video Security Type", "bootp.option.vendor.cl.video_security_tape", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 18 Video Security Type", HFILL }}, - { &hf_bootp_option43_cl_mta_mac_address, { "MTA MAC Address", "bootp.option.vendor.cl.mta_mac_address", FT_ETHER, BASE_NONE, NULL, 0x0, "Option 43:CL 31 MTA MAC Address", HFILL }}, - { &hf_bootp_option43_cl_correlation_ID, { "Correlation ID", "bootp.option.vendor.cl.correlation_ID", FT_UINT32, BASE_DEC, NULL, 0x0, "Option 43: CL 32 Correlation ID", HFILL }}, - { &hf_bootp_option43_cl_vendor_name51, { "Vendor Name", "bootp.option.vendor.cl.vendor_name51", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 51 Vendor Name", HFILL }}, - { &hf_bootp_option43_cl_cablecard_capability, { "CableCARD Capability", "bootp.option.vendor.cl.cablecard_capability", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:CL 52 CableCARD Capability", HFILL }}, - { &hf_bootp_option43_cl_device_id_ca, { "Device Identification (CA)", "bootp.option.vendor.cl.device_id_ca", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 43:CL 53 Device Identification (CA)", HFILL }}, - { &hf_bootp_option43_cl_device_id_x509, { "Device Identification (X.509)", "bootp.option.vendor.cl.device_id_x509", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 43:CL 54 Device Identification (X.509)", HFILL }}, - { &hf_bootp_option43_cl_end, { "CL End", "bootp.option.vendor.cl.end", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:CL 255 End", HFILL }}, - - { &hf_bootp_option43_alcatel_suboption, { "Option 43 Suboption", "bootp.option.vendor.alu.suboption", FT_UINT8, BASE_DEC, VALS(option43_alcatel_suboption_vals), 0x0, "Option 43:Alcatel Suboption", HFILL }}, - { &hf_bootp_option43_alcatel_padding, { "Padding", "bootp.option.vendor.alu.padding", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:Alcatel 0 Padding", HFILL }}, - { &hf_bootp_option43_alcatel_vlan_id, { "Voice VLAN ID", "bootp.option.vendor.alu.vid", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 43:Alcatel 58 Voice VLAN ID", HFILL }}, - { &hf_bootp_option43_alcatel_tftp1, { "Spatial Redundancy TFTP1", "bootp.option.vendor.alu.tftp1", FT_IPv4, BASE_NONE, NULL, 0x0, "Option 43:Alcatel 64 Spatial Redundancy TFTP1", HFILL }}, - { &hf_bootp_option43_alcatel_tftp2, { "Spatial Redundancy TFTP2", "bootp.option.vendor.alu.tftp2", FT_IPv4, BASE_NONE, NULL, 0x0, "Option 43:Alcatel 65 Spatial Redundancy TFTP2", HFILL }}, - { &hf_bootp_option43_alcatel_app_type, { "Application Type", "bootp.option.vendor.alu.app_type", FT_UINT8, BASE_DEC, VALS(option43_alcatel_app_type_vals), 0x0, "Option 43:Alcatel 66 Application Type", HFILL }}, - { &hf_bootp_option43_alcatel_sip_url, { "SIP URL", "bootp.option.vendor.alu.sip_url", FT_STRING, BASE_NONE, NULL, 0x0, "Option 43:Alcatel 67 SIP URL", HFILL }}, - { &hf_bootp_option43_alcatel_end, { "Alcatel End", "bootp.option.vendor.alu.end", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 43:Alcatel 255 End", HFILL }}, - - { &hf_bootp_option_netbios_over_tcpip_name_server, { "NetBIOS over TCP/IP Name Server", "bootp.option.netbios_over_tcpip_name_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 44: NetBIOS over TCP/IP Name Server", HFILL }}, - { &hf_bootp_option_netbios_over_tcpip_dd_name_server, { "NetBIOS over TCP/IP Datagram Distribution Name Server", "bootp.option.netbios_over_tcpip_dd_name_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 45: NetBIOS over TCP/IP Datagram Distribution Name Server", HFILL }}, - { &hf_bootp_option_netbios_over_tcpip_node_type, { "NetBIOS over TCP/IP Node Type", "bootp.option.netbios_over_tcpip_node_type", FT_UINT8, BASE_DEC, VALS(bootp_nbnt_vals), 0x0, "Option 46: NetBIOS over TCP/IP Node Type", HFILL }}, - { &hf_bootp_option_netbios_over_tcpip_scope, { "NetBIOS over TCP/IP Scope", "bootp.option.netbios_over_tcpip_scope", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 47: NetBIOS over TCP/IP Scope", HFILL }}, - { &hf_bootp_option_xwindows_system_font_server, { "X Window System Font Server", "bootp.option.xwindows_system_font_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 48: X Window System Font Server", HFILL }}, - { &hf_bootp_option_xwindows_system_display_manager, { "X Window System Display Manager", "bootp.option.xwindows_system_display_manager", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 49: X Window System Display Manager", HFILL }}, - { &hf_bootp_option_requested_ip_address, { "Requested IP Address", "bootp.option.requested_ip_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 50: Requested IP Address", HFILL }}, - { &hf_bootp_option_ip_address_lease_time, { "IP Address Lease Time", "bootp.option.ip_address_lease_time", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 51: IP Address Lease Time", HFILL }}, - { &hf_bootp_option_option_overload, { "Option Overload", "bootp.option.option_overload", FT_UINT8, BASE_DEC, VALS(opt_overload_vals), 0x0, "Option 52: Option Overload", HFILL }}, - { &hf_bootp_option_dhcp, { "DHCP", "bootp.option.dhcp", FT_UINT8, BASE_DEC, VALS(opt53_text), 0x0, "Option 53: DHCP option", HFILL }}, - { &hf_bootp_option_dhcp_server_id, { "DHCP Server Identifier", "bootp.option.dhcp_server_id", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 54: DHCP Server Identifier", HFILL }}, - { &hf_bootp_option_parameter_request_list_item, { "Parameter Request List Item", "bootp.option.request_list_item", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 55: Parameter Request List Item", HFILL }}, - { &hf_bootp_option_message, { "Message", "bootp.option.message", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 56: Option message", HFILL }}, - { &hf_bootp_option_dhcp_max_message_size, { "Maximum DHCP Message Size", "bootp.option.dhcp_max_message_size", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 57: Maximum DHCP Message Size", HFILL }}, - { &hf_bootp_option_renewal_time_value, { "Renewal Time Value", "bootp.option.renewal_time_value", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 58: Renewal Time Value", HFILL }}, - { &hf_bootp_option_rebinding_time_value, { "Rebinding Time Value", "bootp.option.rebinding_time_value", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 59: Rebinding Time Value", HFILL }}, - { &hf_bootp_option_vendor_class_id, { "Vendor class identifier", "bootp.option.vendor_class_id", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 60: Vendor class identifier", HFILL }}, - { &hf_bootp_option_novell_netware_ip_domain, { "Novell/Netware IP domain", "bootp.option.novell_netware_ip_domain", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 62: Novell/Netware IP domain", HFILL }}, - - { &hf_bootp_option63_suboption, { "Option 63 Suboption", "bootp.option.novell_options.suboption", FT_UINT8, BASE_DEC, VALS(option63_suboption_vals), 0x0, "Option 63: Suboption", HFILL }}, - { &hf_bootp_option63_value, { "Value", "bootp.option.novell_options.value", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 63: Suboption value", HFILL }}, - { &hf_bootp_option63_value_8, { "Value", "bootp.option.novell_options.value", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 63: Suboption 8-bit value", HFILL }}, - { &hf_bootp_option63_value_ip_address, { "Value", "bootp.option.novell_options.value", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 63: Suboption IP address", HFILL }}, - { &hf_bootp_option63_value_boolean, { "Value", "bootp.option.novell_options.value", FT_BOOLEAN, BASE_NONE, TFS(&tfs_true_false), 0x00, "Option 63: Suboption Boolean value", HFILL }}, - { &hf_bootp_option63_broadcast, { "Broadcast for nearest Netware server", "bootp.option.novell_options.broadcast", FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, "Option 63:5 Broadcast for nearest Netware server", HFILL }}, - { &hf_bootp_option63_preferred_dss_server, { "Preferred DSS server", "bootp.option.novell_options.preferred_dss_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 63:6 Preferred DSS server", HFILL }}, - { &hf_bootp_option63_nearest_nwip_server, { "Nearest NWIP server", "bootp.option.novell_options.nearest_nwip_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 63:7 Nearest NWIP server", HFILL }}, - { &hf_bootp_option63_autoretries, { "Autoretries", "bootp.option.novell_options.autoretries", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 63:8 Autoretries", HFILL }}, - { &hf_bootp_option63_autoretry_delay, { "Autoretry delay, sec", "bootp.option.novell_options.autoretry_delay", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 63:9 Autoretry delay, sec", HFILL }}, - { &hf_bootp_option63_support_netware_v1_1, { "Broadcast for nearest Netware server", "bootp.option.novell_options.support_netware_v1_1", FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, "Option 63:10 Broadcast for nearest Netware server", HFILL }}, - { &hf_bootp_option63_primary_dss, { "Primary DSS", "bootp.option.novell_options.primary_dss", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 63:11 Primary DSS", HFILL }}, - - { &hf_bootp_option_nis_plus_domain, { "Network Information Service+ Domain", "bootp.option.nis_plus_domain", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 64: Network Information Service+ Domain", HFILL }}, - { &hf_bootp_option_nis_plus_server, { "Network Information Service+ Server", "bootp.option.nis_plus_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 65: Network Information Service+ Server", HFILL }}, - { &hf_bootp_option_tftp_server_name, { "TFTP Server Name", "bootp.option.tftp_server_name", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 66: TFTP Server Name", HFILL }}, - { &hf_bootp_option_bootfile_name, { "Bootfile name", "bootp.option.bootfile_name", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 67: Bootfile name", HFILL }}, - { &hf_bootp_option_mobile_ip_home_agent, { "Mobile IP Home Agent", "bootp.option.mobile_ip_home_agent", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 68: Mobile IP Home Agent", HFILL }}, - { &hf_bootp_option_smtp_server, { "SMTP Server", "bootp.option.smtp_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 69: SMTP Server", HFILL }}, - { &hf_bootp_option_pop3_server, { "POP3 Server", "bootp.option.pop3_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 70: POP3 Server", HFILL }}, - { &hf_bootp_option_nntp_server, { "NNTP Server", "bootp.option.nntp_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 71: NNTP Server", HFILL }}, - { &hf_bootp_option_default_www_server, { "Default WWW Server", "bootp.option.default_www_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 72: Default WWW Server", HFILL }}, - { &hf_bootp_option_default_finger_server, { "Default Finger Server", "bootp.option.default_finger_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 73: Default Finger Server", HFILL }}, - { &hf_bootp_option_default_irc_server, { "Default IRC Server", "bootp.option.default_irc_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 74: Default IRC Server", HFILL }}, - { &hf_bootp_option_streettalk_server, { "StreetTalk Server", "bootp.option.streettalk_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 75: StreetTalk Server", HFILL }}, - { &hf_bootp_option_streettalk_da_server, { "StreetTalk Directory Assistance Server", "bootp.option.streettalk_da_server", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 76: StreetTalk Directory Assistance Server", HFILL }}, - { &hf_bootp_option_slp_directory_agent_value, { "Value", "bootp.option.slp_directory_agent.value", FT_UINT8, BASE_DEC, VALS(slpda_vals), 0x0, "Option 78: SLPDA Value", HFILL }}, - { &hf_bootp_option_slp_directory_agent_slpda_address, { "IP Address", "bootp.option.slp_directory_agent.slpda_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 78: SLPDA Address", HFILL }}, - { &hf_bootp_option_slp_service_scope_value, { "Value", "bootp.option.slp_service_scope.value", FT_UINT8, BASE_DEC, VALS(slp_scope_vals), 0x0, "Option 79: SLP Service Scope Value", HFILL }}, - { &hf_bootp_option_slp_service_scope_string, { "SLP Service Scope", "bootp.option.slp_service_scope.string", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 79: SLP Service Scope", HFILL }}, - - { &hf_bootp_option82_suboption, { "Option 82 Suboption", "bootp.option.agent_information_option.suboption", FT_UINT8, BASE_DEC, VALS(option82_suboption_vals), 0x0, "Option 82: Suboption", HFILL }}, - { &hf_bootp_option82_value, { "Value", "bootp.option.agent_information_option.value", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82: Suboption value", HFILL }}, - { &hf_bootp_option82_value_8, { "Value", "bootp.option.agent_information_option.value", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82: Suboption 8-bit value", HFILL }}, - { &hf_bootp_option82_value_32, { "Value", "bootp.option.agent_information_option.value", FT_UINT32, BASE_DEC, NULL, 0x0, "Option 82: Suboption 32-bit value", HFILL }}, - { &hf_bootp_option82_value_ip_address, { "Value", "bootp.option.agent_information_option.value", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 82: Suboption IP address", HFILL }}, - { &hf_bootp_option82_value_stringz, { "Value", "bootp.option.agent_information_option.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 82: Suboption Z-String value", HFILL }}, - { &hf_bootp_option82_padding, { "Padding", "bootp.option.agent_information_option.padding", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:0 Padding", HFILL }}, - { &hf_bootp_option82_agent_circuit_id, { "Agent Circuit ID", "bootp.option.agent_information_option.agent_circuit_id", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:1 Agent Circuit ID", HFILL }}, - { &hf_bootp_option82_agent_remote_id, { "Agent Remote ID", "bootp.option.agent_information_option.agent_remote_id", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:2 Agent Remote ID", HFILL }}, - { &hf_bootp_option82_reserved, { "Reserved", "bootp.option.agent_information_option.reserved", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:3 Reserved", HFILL }}, - { &hf_bootp_option82_docsis_device_class, { "DOCSIS Device Class", "bootp.option.agent_information_option.docsis_device_class", FT_UINT32, BASE_HEX, NULL, 0x0, "Option 82:4 DOCSIS Device Class", HFILL }}, - { &hf_bootp_option82_link_selection, { "Link selection", "bootp.option.agent_information_option.link_selection", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 82:5 Link selection", HFILL }}, - { &hf_bootp_option82_subscriber_id, { "Subscriber ID", "bootp.option.agent_information_option.subscriber_id", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 82:6 Subscriber ID", HFILL }}, - { &hf_bootp_option82_radius_attributes, { "RADIUS Attributes", "bootp.option.agent_information_option.radius_attributes", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:7 RADIUS Attributes", HFILL }}, - { &hf_bootp_option82_authentication, { "Authentication", "bootp.option.agent_information_option.authentication", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:8 Authentication", HFILL }}, - { &hf_bootp_option82_vi, { "Vendor-Specific Information", "bootp.option.agent_information_option.vi", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 82:9 Vendor-Specific Information", HFILL }}, - { &hf_bootp_option82_vi_enterprise, { "Enterprise", "bootp.option.agent_information_option.vi.enterprise", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x0, "Option 82:9 VI Enterprise", HFILL }}, - { &hf_bootp_option82_vi_data_length, { "Data Length", "bootp.option.agent_information_option.vi.data_length", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:9 VI Data Length", HFILL }}, - { &hf_bootp_option82_vi_cl_option, { "Option", "bootp.option.agent_information_option.vi.cl.option", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:9 VI CL Option", HFILL }}, - { &hf_bootp_option82_vi_cl_length, { "Length", "bootp.option.agent_information_option.vi.cl.length", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:9 VI CL Length", HFILL }}, - { &hf_bootp_option82_vi_cl_tag, { "Tag", "bootp.option.agent_information_option.vi.cl.tag", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:9 VI CL Tag", HFILL }}, - { &hf_bootp_option82_vi_cl_tag_length, { "Tag Length", "bootp.option.agent_information_option.vi.cl.tag_length", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 82:9 VI CL Tag Length", HFILL }}, - { &hf_bootp_option82_vi_cl_docsis_version, { "DOCSIS Version Number", "bootp.option.agent_information_option.vi.cl.docsis_version", FT_UINT16, BASE_HEX, NULL, 0x0, "Option 82:9 VI CL DOCSIS Version Number", HFILL }}, - { &hf_bootp_option82_flags, { "Flags", "bootp.option.agent_information_option.flags", FT_UINT8, BASE_HEX, NULL, 0x0, "Option 82:10 Flags", HFILL }}, - { &hf_bootp_option82_server_id_override, { "Server ID Override", "bootp.option.agent_information_option.server_id_override", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 82:11 Server ID Override", HFILL }}, - { &hf_bootp_option82_link_selection_cisco, { "Link selection (Cisco proprietary)", "bootp.option.agent_information_option.link_selection_cisco", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 82:150 Link selection (Cisco proprietary)", HFILL }}, - { &hf_bootp_option82_vrf_name_vpn_id, { "VRF name/VPN ID", "bootp.option.agent_information_option.vrf_name_vpn_id", FT_BYTES, BASE_NONE, NULL, 0x00, "Option 82:151 VRF name/VPN ID", HFILL }}, - { &hf_bootp_option82_vrf_name_vpn_id_oui, { "VRF name/VPN ID OUI", "bootp.option.agent_information_option.vrf_name_vpn_id_oui", FT_UINT24, BASE_HEX, NULL, 0x00, "Option 82:151 VRF name/VPN ID OUI", HFILL }}, - { &hf_bootp_option82_vrf_name_vpn_id_index, { "VRF name/VPN ID Index", "bootp.option.agent_information_option.vrf_name_vpn_id_index", FT_UINT32, BASE_HEX, NULL, 0x00, "Option 82:151 VRF name/VPN ID Index", HFILL }}, - { &hf_bootp_option82_server_id_override_cisco, { "Server ID Override (Cisco proprietary)", "bootp.option.agent_information_option.server_id_override_cisco", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 82:152 Server ID Override (Cisco proprietary)", HFILL }}, - - { &hf_bootp_option_novell_dss_string, { "Novell Directory Services Servers String", "bootp.option.novell_dss.string", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 85: Novell Directory Services Servers String", HFILL }}, - { &hf_bootp_option_novell_dss_ip, { "IP Address", "bootp.option.novell_dss.ip", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 85: Novell Directory Services Servers IP Address", HFILL }}, - { &hf_bootp_option_novell_ds_tree_name, { "Novell Directory Services Tree Name", "bootp.option.novell_ds_tree_name", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 86: Novell Directory Services Tree Name", HFILL }}, - { &hf_bootp_option_novell_ds_context, { "Novell Directory Services Context", "bootp.option.novell_ds_context", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 87: Novell Directory Services Context", HFILL }}, - { &hf_bootp_option_dhcp_authentication_protocol, { "Protocol", "bootp.option.dhcp_authentication.protocol", FT_UINT8, BASE_DEC, VALS(authen_protocol_vals), 0x0, "Option 90: Authentication Protocol", HFILL }}, - { &hf_bootp_option_dhcp_authentication_alg_delay, { "Delay Algorithm", "bootp.option.dhcp_authentication.alg_delay", FT_UINT8, BASE_DEC, VALS(authen_da_algo_vals), 0x0, "Option 90: Delayed Authentication Algorithm", HFILL }}, - { &hf_bootp_option_dhcp_authentication_algorithm, { "Algorithm", "bootp.option.dhcp_authentication.algorithm", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 90: Authentication Algorithm", HFILL }}, - { &hf_bootp_option_dhcp_authentication_rdm, { "Replay Detection Method", "bootp.option.dhcp_authentication.rdm", FT_UINT8, BASE_DEC, VALS(authen_rdm_vals), 0x0, "Option 90: Replay Detection Method", HFILL }}, - { &hf_bootp_option_dhcp_authentication_rdm_replay_detection, { "RDM Replay Detection Value", "bootp.option.dhcp_authentication.rdm_replay_detection", FT_UINT64, BASE_HEX, NULL, 0x0, "Option 90: RDM Replay Detection Value", HFILL }}, - { &hf_bootp_option_dhcp_authentication_rdm_rdv, { "Replay Detection Value", "bootp.option.dhcp_authentication.rdm_rdv", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 90: Replay Detection Value", HFILL }}, - { &hf_bootp_option_dhcp_authentication_secret_id, { "Secret ID", "bootp.option.dhcp_authentication.secret_id", FT_UINT32, BASE_HEX, NULL, 0x0, "Option 90: Secret ID", HFILL }}, - { &hf_bootp_option_dhcp_authentication_hmac_md5_hash, { "HMAC MD5 Hash", "bootp.option.dhcp_authentication.hmac_md5_hash", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 90: HMAC MD5 Hash", HFILL }}, - { &hf_bootp_option_dhcp_authentication_information, { "Authentication Information", "bootp.option.dhcp_authentication.information", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 90: Authentication Information", HFILL }}, - { &hf_bootp_option_client_last_transaction_time, { "Client last transaction time", "bootp.option.client_last_transaction_time", FT_UINT32, BASE_DEC, NULL, 0x00, "Option 91: Client last transaction time", HFILL }}, - { &hf_bootp_option_associated_ip_option, { "Associated IP option", "bootp.option.associated_ip_option", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 92: Associated IP option", HFILL }}, - { &hf_bootp_option_client_system_architecture, { "Client System Architecture", "bootp.option.client_system_architecture", FT_UINT16, BASE_DEC, VALS(bootp_client_arch), 0x0, "Option 93: Client System Architecture", HFILL }}, - { &hf_bootp_option_client_network_id_major_ver, { "Major Version", "bootp.client_network_id_major", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 94: Major Version", HFILL }}, - { &hf_bootp_option_client_network_id_minor_ver, { "Minor Version", "bootp.client_network_id_minor", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 94: Minor Version", HFILL }}, - { &hf_bootp_option_civic_location_what, { "What", "bootp.option.civic_location.what", FT_UINT8, BASE_DEC, VALS(civic_address_what_values), 0x0, "Option 99: What", HFILL }}, - { &hf_bootp_option_civic_location_country, { "Country", "bootp.option.civic_location.country", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 99: Country", HFILL }}, - { &hf_bootp_option_civic_location_ca_type, { "CA Type", "bootp.option.civic_location.ca_type", FT_UINT8, BASE_DEC, VALS(civic_address_type_values), 0x0, "Option 99: CA Type", HFILL }}, - { &hf_bootp_option_civic_location_ca_length, { "CA Length", "bootp.option.civic_location.ca_length", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 99: CA Length", HFILL }}, - { &hf_bootp_option_civic_location_ca_value, { "CA Value", "bootp.option.civic_location.ca_value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 99: CA Value", HFILL }}, - { &hf_bootp_option_netinfo_parent_server_address, { "NetInfo Parent Server Address", "bootp.option.netinfo_parent_server_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 112: NetInfo Parent Server Address", HFILL }}, - { &hf_bootp_option_netinfo_parent_server_tag, { "NetInfo Parent Server Tag", "bootp.option.netinfo_parent_server_tag", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 113: NetInfo Parent Server Tag", HFILL }}, - { &hf_bootp_option_dhcp_auto_configuration, { "DHCP Auto-Configuration", "bootp.option.dhcp_auto_configuration", FT_UINT8, BASE_DEC, VALS(dhcp_autoconfig), 0x0, "Option 116: DHCP Auto-Configuration", HFILL }}, - { &hf_bootp_option_cl_dss_id_option, { "DSS_ID Type", "bootp.option.cl_dss_id.option", FT_UINT8, BASE_DEC, VALS(cl_dss_id_type_vals), 0x0, "Option 123:CL DSS_ID Type", HFILL }}, - { &hf_bootp_option_cl_dss_id_len, { "DSS_ID Length", "bootp.option.cl_dss_id.len", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 123:CL DSS_ID Length", HFILL }}, - { &hf_bootp_option_cl_dss_id, { "Country", "bootp.option.cl_dss_id", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 123:CL DSS_ID", HFILL }}, - { &hf_bootp_option_vi_class_cl_address_mode, { "CableLab Address Mode", "bootp.option.vi_class.cl_address_mode", FT_UINT8, BASE_DEC, VALS(cablelab_ipaddr_mode_vals), 0x0, "Option 124: CableLab Address Mode", HFILL }}, - { &hf_bootp_option_vi_class_enterprise, { "Enterprise", "bootp.option.vi_class.enterprise", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x00, "Option 124: Enterprise", HFILL }}, - { &hf_bootp_option_vi_class_data_length, { "CableLab Address Mode", "bootp.option.vi_class.length", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 124: Length", HFILL }}, - { &hf_bootp_option_vi_class_data, { "NetInfo Parent Server Tag", "bootp.option.vi_class.data", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 124: Data", HFILL }}, - - { &hf_bootp_option125_enterprise, { "Enterprise", "bootp.option.vi.enterprise", FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x00, "Option 125: Enterprise", HFILL }}, - { &hf_bootp_option125_value, { "Value", "bootp.option.vi.value", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 125: Suboption value", HFILL }}, - { &hf_bootp_option125_value_8, { "Value", "bootp.option.vi.value", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 125: Suboption 8-bit value", HFILL }}, - { &hf_bootp_option125_value_16, { "Value", "bootp.option.vi.value", FT_UINT16, BASE_DEC, NULL, 0x0, "Option 125: Suboption 16-bit value", HFILL }}, - { &hf_bootp_option125_value_ip_address, { "Value", "bootp.option.vi.value", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 125: Suboption IP address value", HFILL }}, - { &hf_bootp_option125_value_stringz, { "Value", "bootp.option.vi.value", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125: Suboption Z-String value", HFILL }}, - { &hf_bootp_option125_tr111_suboption, { "Option 125 Suboption", "bootp.option.vi.tr111.suboption", FT_UINT8, BASE_DEC, VALS(option125_tr111_suboption_vals), 0x0, "Option 125:TR 111 Suboption", HFILL }}, - { &hf_bootp_option125_tr111_device_manufacturer_oui, { "DeviceManufacturerOUI", "bootp.option.vi.tr111.device_manufacturer_oui", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 1 DeviceManufacturerOUI", HFILL }}, - { &hf_bootp_option125_tr111_device_serial_number, { "DeviceSerialNumber", "bootp.option.vi.tr111.device_serial_number", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 2 DeviceSerialNumber", HFILL }}, - { &hf_bootp_option125_tr111_device_product_class, { "DeviceProductClass", "bootp.option.vi.tr111.device_product_class", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 3 DeviceProductClass", HFILL }}, - { &hf_bootp_option125_tr111_gateway_manufacturer_oui, { "GatewayManufacturerOUI", "bootp.option.vi.tr111.gateway_manufacturer_oui", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 4 GatewayManufacturerOUI", HFILL }}, - { &hf_bootp_option125_tr111_gateway_serial_number, { "GatewaySerialNumber", "bootp.option.vi.tr111.gateway_serial_number", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 5 GatewaySerialNumber", HFILL }}, - { &hf_bootp_option125_tr111_gateway_product_class, { "GatewayProductClass", "bootp.option.vi.tr111.gateway_product_class", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 125:TR 111 6 GatewayProductClass", HFILL }}, - - { &hf_bootp_option125_cl_suboption, { "Option 125 Suboption", "bootp.option.vi.cl.suboption", FT_UINT8, BASE_DEC, VALS(option125_cl_suboption_vals), 0x0, "Option 125:CL Suboption", HFILL }}, - { &hf_bootp_option125_cl_option_request, { "Option Request", "bootp.option.vi.cl.option_request", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 125:CL 1 Option Request", HFILL }}, - { &hf_bootp_option125_cl_tftp_server_addresses, { "TFTP Server Addresses", "bootp.option.vi.cl.tftp_server_addresses", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 125:CL 2 TFTP Server Addresses", HFILL }}, - { &hf_bootp_option125_cl_erouter_container_option, { "eRouter Container Option", "bootp.option.vi.cl.erouter_container_option", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 125:CL 3 eRouter Container Option", HFILL }}, - { &hf_bootp_option125_cl_mib_environment_indicator_option, { "MIB Environment Indicator Option", "bootp.option.vi.cl.suboption", FT_UINT8, BASE_DEC, VALS(pkt_mib_env_ind_opt_vals), 0x0, "Option 125:CL 4 MIB Environment Indicator Option", HFILL }}, - { &hf_bootp_option125_cl_modem_capabilities, { "Modem Capabilities", "bootp.option.vi.cl.modem_capabilities", FT_BYTES, BASE_NONE, NULL, 0x0, "Option 125:CL 5 Modem Capabilities", HFILL }}, - - { &hf_bootp_option_subnet_selection_option, { "Subnet Selection Option", "bootp.option.subnet_selection_option", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 118: Subnet Selection Option", HFILL }}, - { &hf_bootp_option_lost_server_domain_name, { "LoST Server Domain Name", "bootp.option.lost_server_domain_name", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 137: LoST Server Domain Name", HFILL }}, - { &hf_bootp_option_capwap_access_controller, { "CAPWAP Access Controllers", "bootp.option.capwap_access_controller", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 138: CAPWAP Access Controllers", HFILL }}, - { &hf_bootp_option_tftp_server_address, { "TFTP Server Address", "bootp.option.tftp_server_address", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 150: TFTP Server Address", HFILL }}, - { &hf_bootp_option_6RD_ipv4_mask_len, { "6RD IPv4 Mask Length", "bootp.option.6RD.ipv4_mask_len", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 212: 6RD IPv4 Mask Length", HFILL }}, - { &hf_bootp_option_6RD_prefix_len, { "6RD Prefix Length", "bootp.option.6RD.prefix_len", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 212: 6RD Prefix Length", HFILL }}, - { &hf_bootp_option_6RD_prefix, { "6RD Prefix", "bootp.option.6RD.prefix", FT_IPv6, BASE_NONE, NULL, 0x00, "Option 212: 6RD Prefix", HFILL }}, - { &hf_bootp_option_6RD_border_relay_ip, { "Border Relay IP", "bootp.option.6RD.border_relay_ip", FT_IPv4, BASE_NONE, NULL, 0x00, "Option 212: Border Relay IP", HFILL }}, - { &hf_bootp_option_private_proxy_autodiscovery, { "Private/Proxy autodiscovery", "bootp.option.private_proxy_autodiscovery", FT_STRINGZ, BASE_NONE, NULL, 0x0, "Option 252: Private/Proxy autodiscovery", HFILL }}, - { &hf_bootp_option_end, { "Option End", "bootp.option.end", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 255: End", HFILL }}, - { &hf_bootp_option_end_overload, { "Option End (Overload)", "bootp.option.end", FT_UINT8, BASE_DEC, NULL, 0x0, "Option 255: End (Overload)", HFILL }}, + { &hf_bootp_option_value, + { "Value", "bootp.option.value", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_8, + { "Value", "bootp.option.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "8-bit Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_16, + { "Value", "bootp.option.value", + FT_UINT16, BASE_DEC, NULL, 0x0, + "16-bit Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_u32, + { "Value", "bootp.option.value", + FT_UINT32, BASE_HEX, NULL, 0x0, + "32-bit Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_i32, + { "Value", "bootp.option.value", + FT_INT32, BASE_DEC, NULL, 0x0, + "32-bit Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_stringz, + { "Value", "bootp.option.value", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Z-String Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_ip_address, + { "Value", "bootp.option.value", + FT_IPv4, BASE_NONE, NULL, 0x00, + "IP address Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_value_boolean, + { "Value", "bootp.option.value", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_true_false), 0x00, + "Boolean Bootp/Dhcp option value", HFILL }}, + + { &hf_bootp_option_padding, + { "Padding", "bootp.option.padding", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 0: Padding", HFILL }}, + + { &hf_bootp_option_subnet_mask, + { "Subnet Mask", "bootp.option.subnet_mask", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 1: Subnet Mask", HFILL }}, + + { &hf_bootp_option_time_offset, + { "Time Offset", "bootp.option.time_offset", + FT_INT32, BASE_DEC, NULL, 0x00, + "Option 2: Time Offset", HFILL }}, + + { &hf_bootp_option_router, + { "Router", "bootp.option.router", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 3: Router", HFILL }}, + + { &hf_bootp_option_time_server, + { "Time Server", "bootp.option.time_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 4: Time Server", HFILL }}, + + { &hf_bootp_option_name_server, + { "Name Server", "bootp.option.name_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 5: Name Server", HFILL }}, + + { &hf_bootp_option_domain_name_server, + { "Domain Name Server", "bootp.option.domain_name_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 6: Domain Name Server", HFILL }}, + + { &hf_bootp_option_log_server, + { "Log Server", "bootp.option.log_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 7: Log Server", HFILL }}, + + { &hf_bootp_option_quotes_server, + { "Quotes Server", "bootp.option.quotes_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 8: Quotes Server", HFILL }}, + + { &hf_bootp_option_lpr_server, + { "LPR Server", "bootp.option.lpr_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 9: LPR Server", HFILL }}, + + { &hf_bootp_option_impress_server, + { "Impress Server", "bootp.option.impress_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 10: Impress Server", HFILL }}, + + { &hf_bootp_option_resource_location_server, + { "Resource Location Server", "bootp.option.resource_location_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 11: Resource Location Server", HFILL }}, + + { &hf_bootp_option_hostname, + { "Host Name", "bootp.option.hostname", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 12: Host Name", HFILL }}, + + { &hf_bootp_option_boot_file_size, + { "Boot File Size", "bootp.option.boot_file_size", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 13: Boot File Size", HFILL }}, + + { &hf_bootp_option_merit_dump_file, + { "Merit Dump File", "bootp.option.merit_dump_file", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 14: Merit Dump File", HFILL }}, + + { &hf_bootp_option_domain_name, + { "Domain Name", "bootp.option.domain_name", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 15: Domain Name", HFILL }}, + + { &hf_bootp_option_swap_server, + { "Swap Server", "bootp.option.swap_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 16: Swap Server", HFILL }}, + + { &hf_bootp_option_root_path, + { "Root Path", "bootp.option.root_path", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 17: Root Path", HFILL }}, + + { &hf_bootp_option_extension_path, + { "Extensions Path", "bootp.option.extension_path", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 18: Extensions Path", HFILL }}, + + { &hf_bootp_option_ip_forwarding, + { "IP Forwarding", "bootp.option.ip_forwarding", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 19: IP Forwarding", HFILL }}, + + { &hf_bootp_option_policy_filter_ip, + { "IP Address", "bootp.option.policy_filter.ip", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 21: IP address", HFILL }}, + + { &hf_bootp_option_policy_filter_subnet_mask, + { "Subnet Mask", "bootp.option.policy_filter.subnet_mask", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 21: Subnet Mask", HFILL }}, + + { &hf_bootp_option_non_local_source_routing, + { "Non-Local Source Routing", "bootp.option.non_local_source_routing", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 20: Non-Local Source Routing", HFILL }}, + + { &hf_bootp_option_max_datagram_reassembly_size, + { "Maximum Datagram Reassembly Size", "bootp.option.max_datagram_reassembly_size", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 22: Maximum Datagram Reassembly Size", HFILL }}, + + { &hf_bootp_option_default_ip_ttl, + { "Default IP Time-to-Live", "bootp.option.default_ip_ttl", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 23: Default IP Time-to-Live", HFILL }}, + + { &hf_bootp_option_path_mtu_aging_timeout, + { "Path MTU Aging Timeout", "bootp.option.path_mtu_aging_timeout", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 24: Path MTU Aging Timeout", HFILL }}, + + { &hf_bootp_option_path_mtu_plateau_table_item, + { "Path MTU Plateau Table Item", "bootp.option.path_mtu_plateau_table_item", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 25: Path MTU Plateau Table Item", HFILL }}, + + { &hf_bootp_option_interface_mtu, + { "Interface MTU", "bootp.option.interface_mtu", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 26: Interface MTU", HFILL }}, + + { &hf_bootp_option_all_subnets_are_local, + { "All Subnets are Local", "bootp.option.all_subnets_are_local", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, + "Option 27: All Subnets are Local", HFILL }}, + + { &hf_bootp_option_broadcast_address, + { "Broadcast Address", "bootp.option.broadcast_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 28: Broadcast Address", HFILL }}, + + { &hf_bootp_option_perform_mask_discovery, + { "Perform Mask Discovery", "bootp.option.perform_mask_discovery", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 29: Perform Mask Discovery", HFILL }}, + + { &hf_bootp_option_mask_supplier, + { "Mask Supplier", "bootp.option.mask_supplier", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, + "Option 30: Mask Supplier", HFILL }}, + + { &hf_bootp_option_perform_router_discover, + { "Perform Router Discover", "bootp.option.perform_router_discover", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 31: Perform Router Discover", HFILL }}, + + { &hf_bootp_option_router_solicitation_address, + { "Router Solicitation Address", "bootp.option.router_solicitation_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 32: Router Solicitation Address", HFILL }}, + + { &hf_bootp_option_static_route_ip, + { "Destination IP Address", "bootp.option.static_route.ip", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 33: Destination IP address", HFILL }}, + + { &hf_bootp_option_static_route_router, + { "Destination Router", "bootp.option.static_route.router", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 33: Destination Router", HFILL }}, + + { &hf_bootp_option_trailer_encapsulation, + { "Trailer Encapsulation", "bootp.option.trailer_encapsulation", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 34: Trailer Encapsulation", HFILL }}, + + { &hf_bootp_option_arp_cache_timeout, + { "ARP Cache Timeout", "bootp.option.arp_cache_timeout", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 35: ARP Cache Timeout", HFILL }}, + + { &hf_bootp_option_ethernet_encapsulation, + { "Ethernet Encapsulation", "bootp.option.ethernet_encapsulation", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 36: Ethernet Encapsulation", HFILL }}, + + { &hf_bootp_option_tcp_default_ttl, + { "TCP Default TTL", "bootp.option.tcp_default_ttl", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 37: TCP Default TTL", HFILL }}, + + { &hf_bootp_option_tcp_keepalive_interval, + { "TCP Keepalive Interval", "bootp.option.tcp_keepalive_interval", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 38: TCP Keepalive Interval", HFILL }}, + + { &hf_bootp_option_tcp_keepalive_garbage, + { "TCP Keepalive Garbage", "bootp.option.tcp_keepalive_garbage", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_enabled_disabled), 0x00, + "Option 39: TCP Keepalive Garbage", HFILL }}, + + { &hf_bootp_option_nis_domain, + { "Network Information Service Domain", "bootp.option.nis_domain", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 40: Network Information Service Domain", HFILL }}, + + { &hf_bootp_option_nis_server, + { "Network Information Service Server", "bootp.option.nis_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 41: Network Information Service Server", HFILL }}, + + { &hf_bootp_option_ntp_server, + { "Network Time Protocol Server", "bootp.option.ntp_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 42: Network Time Protocol Server", HFILL }}, + + + { &hf_bootp_option43_value, + { "Value", "bootp.option.vendor.value", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43: Suboption value", HFILL }}, + + { &hf_bootp_option43_value_8, + { "Value", "bootp.option.vendor.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43: Suboption 8-bit value", HFILL }}, + + { &hf_bootp_option43_value_32, + { "Value", "bootp.option.vendor.value", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Option 43: Suboption 32-bit value", HFILL }}, + + { &hf_bootp_option43_value_stringz, + { "Value", "bootp.option.vendor.value", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43: Suboption Z-String value", HFILL }}, + + { &hf_bootp_option43_value_ip_address, + { "Value", "bootp.option.vendor.value", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 43: Suboption IP address", HFILL }}, + + + { &hf_bootp_option43_pxeclient_suboption, + { "Option 43 Suboption", "bootp.option.vendor.pxeclient.suboption", + FT_UINT8, BASE_DEC, VALS(option43_pxeclient_suboption_vals), 0x0, + "Option 43:PXE Client Suboption", HFILL }}, + + { &hf_bootp_option43_pxeclient_padding, + { "Padding", "bootp.option.vendor.pxeclient.padding", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:PXE Client 0 Padding", HFILL }}, + + { &hf_bootp_option43_pxeclient_mtftp_ip, + { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_ip", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 43:PXE Client 1 mtftp IP", HFILL }}, + + { &hf_bootp_option43_pxeclient_mtftp_client_port, + { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_client_port", + FT_UINT16, BASE_DEC, NULL, 0x00, + "Option 43:PXE Client 2 mtftp client port", HFILL }}, + + { &hf_bootp_option43_pxeclient_mtftp_server_port, + { "mtftp IP", "bootp.option.vendor.pxeclient.mtftp_server_port", + FT_UINT16, BASE_DEC, NULL, 0x00, + "Option 43:PXE Client 3 mtftp server port", HFILL }}, + + { &hf_bootp_option43_pxeclient_mtftp_timeout, + { "mtftp timeout", "bootp.option.vendor.pxeclient.mtftp_timeout", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:PXE Client 4 mtftp timeout", HFILL }}, + + { &hf_bootp_option43_pxeclient_mtftp_delay, + { "mtftp delay", "bootp.option.vendor.pxeclient.mtftp_delay", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:PXE Client 5 mtftp delay", HFILL }}, + + { &hf_bootp_option43_pxeclient_discovery_control, + { "discovery control", "bootp.option.vendor.pxeclient.discovery_control", + FT_UINT8, BASE_HEX, NULL, 0x0, + "Option 43:PXE Client 6 discovery control", HFILL }}, + + { &hf_bootp_option43_pxeclient_multicast_address, + { "multicast address", "bootp.option.vendor.pxeclient.multicast_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 43:PXE Client 7 multicast address", HFILL }}, + + { &hf_bootp_option43_pxeclient_boot_servers, + { "boot servers", "bootp.option.vendor.pxeclient.boot_servers", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 8 boot servers", HFILL }}, + + { &hf_bootp_option43_pxeclient_boot_menu, + { "boot menu", "bootp.option.vendor.pxeclient.boot_menu", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 9 boot menu", HFILL }}, + + { &hf_bootp_option43_pxeclient_menu_prompt, + { "menu prompt", "bootp.option.vendor.pxeclient.menu_prompt", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 10 menu prompt", HFILL }}, + + { &hf_bootp_option43_pxeclient_multicast_address_alloc, + { "multicast address alloc", "bootp.option.vendor.pxeclient.multicast_address_alloc", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 11 multicast address alloc", HFILL }}, + + { &hf_bootp_option43_pxeclient_credential_types, + { "credential types", "bootp.option.vendor.pxeclient.credential_types", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 12 credential types", HFILL }}, + + { &hf_bootp_option43_pxeclient_boot_item, + { "boot item", "bootp.option.vendor.pxeclient.boot_item", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:PXE Client 71 boot item", HFILL }}, + + { &hf_bootp_option43_pxeclient_end, + { "PXE Client End", "bootp.option.vendor.pxeclient.end", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:PXE Client 255 End", HFILL }}, + + + { &hf_bootp_option43_cl_suboption, + { "Option 43 Suboption", "bootp.option.vendor.cl.suboption", + FT_UINT8, BASE_DEC, VALS(option43_cl_suboption_vals), 0x0, + "Option 43:CL Suboption", HFILL }}, + + { &hf_bootp_option43_cl_padding, + { "Padding", "bootp.option.vendor.cl.padding", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:CL 0 Padding", HFILL }}, + + { &hf_bootp_option43_cl_suboption_request_list, + { "Suboption Request List", "bootp.option.vendor.cl.suboption_request_list", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 1 Suboption Request List", HFILL }}, + + { &hf_bootp_option43_cl_device_type, + { "Device Type", "bootp.option.vendor.cl.device_type", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 2 Device Type", HFILL }}, + + { &hf_bootp_option43_cl_esafe_type, + { "eSAFE Types", "bootp.option.vendor.cl.esafe_type", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 3 eSAFE Types", HFILL }}, + + { &hf_bootp_option43_cl_serial_number, + { "Serial Number", "bootp.option.vendor.cl.serial_number", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 4 Serial Number", HFILL }}, + + { &hf_bootp_option43_cl_hardware_version, + { "Hardware Version", "bootp.option.vendor.cl.hardware_version", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 5 Hardware Version", HFILL }}, + + { &hf_bootp_option43_cl_software_version, + { "Software Version", "bootp.option.vendor.cl.software_version", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 6 Software Version", HFILL }}, + + { &hf_bootp_option43_cl_boot_rom_version, + { "Boot ROM version", "bootp.option.vendor.cl.boot_rom_version", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 7 Boot ROM version", HFILL }}, + + { &hf_bootp_option43_cl_oui_string, + { "Organizationally Unique Identifier", "bootp.option.vendor.cl.oui_string", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 8 Organizationally Unique Identifier", HFILL }}, + + { &hf_bootp_option43_cl_oui_bytes, + { "Organizationally Unique Identifier", "bootp.option.vendor.cl.oui_string", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:CL 8 Organizationally Unique Identifier", HFILL }}, + + { &hf_bootp_option43_cl_model_number, + { "Model Number", "bootp.option.vendor.cl.model_number", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 9 Model Number", HFILL }}, + + { &hf_bootp_option43_cl_vendor_name10, + { "Vendor Name", "bootp.option.vendor.cl.vendor_name10", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 10 Vendor Name", HFILL }}, + + { &hf_bootp_option43_cl_address_realm, + { "Address Realm", "bootp.option.vendor.cl.address_realm", + FT_UINT8, BASE_DEC, VALS(cablehome_subopt11_vals), 0x0, + "Option 43:CL 11 Address Realm", HFILL }}, + + { &hf_bootp_option43_cl_cm_ps_system_desc, + { "CM/PS System Description", "bootp.option.vendor.cl.cm_ps_system_desc", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 12 CM/PS System Description", HFILL }}, + + { &hf_bootp_option43_cl_cm_ps_firmware_revision, + { "CM/PS Firmware Revision", "bootp.option.vendor.cl.cm_ps_firmware_revision", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 13 CM/PS Firmware Revision", HFILL }}, + + { &hf_bootp_option43_cl_firewall_policy_file_version, + { "Firewall Policy File Version", "bootp.option.vendor.cl.firewall_policy_file_version", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 14 Firewall Policy File Version", HFILL }}, + + { &hf_bootp_option43_cl_esafe_config_file_devices, + { "eSafe Config File Devices", "bootp.option.vendor.cl.esafe_config_file_devices", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 15 eSafe Config File Devices", HFILL }}, + + { &hf_bootp_option43_cl_video_security_tape, + { "Video Security Type", "bootp.option.vendor.cl.video_security_tape", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 18 Video Security Type", HFILL }}, + + { &hf_bootp_option43_cl_mta_mac_address, + { "MTA MAC Address", "bootp.option.vendor.cl.mta_mac_address", + FT_ETHER, BASE_NONE, NULL, 0x0, + "Option 43:CL 31 MTA MAC Address", HFILL }}, + + { &hf_bootp_option43_cl_correlation_ID, + { "Correlation ID", "bootp.option.vendor.cl.correlation_ID", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Option 43: CL 32 Correlation ID", HFILL }}, + + { &hf_bootp_option43_cl_vendor_name51, + { "Vendor Name", "bootp.option.vendor.cl.vendor_name51", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 51 Vendor Name", HFILL }}, + + { &hf_bootp_option43_cl_cablecard_capability, + { "CableCARD Capability", "bootp.option.vendor.cl.cablecard_capability", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:CL 52 CableCARD Capability", HFILL }}, + + { &hf_bootp_option43_cl_device_id_ca, + { "Device Identification (CA)", "bootp.option.vendor.cl.device_id_ca", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 43:CL 53 Device Identification (CA)", HFILL }}, + + { &hf_bootp_option43_cl_device_id_x509, + { "Device Identification (X.509)", "bootp.option.vendor.cl.device_id_x509", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 43:CL 54 Device Identification (X.509)", HFILL }}, + + { &hf_bootp_option43_cl_end, + { "CL End", "bootp.option.vendor.cl.end", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:CL 255 End", HFILL }}, + + + { &hf_bootp_option43_alcatel_suboption, + { "Option 43 Suboption", "bootp.option.vendor.alu.suboption", + FT_UINT8, BASE_DEC, VALS(option43_alcatel_suboption_vals), 0x0, + "Option 43:Alcatel Suboption", HFILL }}, + + { &hf_bootp_option43_alcatel_padding, + { "Padding", "bootp.option.vendor.alu.padding", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:Alcatel 0 Padding", HFILL }}, + + { &hf_bootp_option43_alcatel_vlan_id, + { "Voice VLAN ID", "bootp.option.vendor.alu.vid", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 43:Alcatel 58 Voice VLAN ID", HFILL }}, + + { &hf_bootp_option43_alcatel_tftp1, + { "Spatial Redundancy TFTP1", "bootp.option.vendor.alu.tftp1", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Option 43:Alcatel 64 Spatial Redundancy TFTP1", HFILL }}, + + { &hf_bootp_option43_alcatel_tftp2, + { "Spatial Redundancy TFTP2", "bootp.option.vendor.alu.tftp2", + FT_IPv4, BASE_NONE, NULL, 0x0, + "Option 43:Alcatel 65 Spatial Redundancy TFTP2", HFILL }}, + + { &hf_bootp_option43_alcatel_app_type, + { "Application Type", "bootp.option.vendor.alu.app_type", + FT_UINT8, BASE_DEC, VALS(option43_alcatel_app_type_vals), 0x0, + "Option 43:Alcatel 66 Application Type", HFILL }}, + + { &hf_bootp_option43_alcatel_sip_url, + { "SIP URL", "bootp.option.vendor.alu.sip_url", + FT_STRING, BASE_NONE, NULL, 0x0, + "Option 43:Alcatel 67 SIP URL", HFILL }}, + + { &hf_bootp_option43_alcatel_end, + { "Alcatel End", "bootp.option.vendor.alu.end", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 43:Alcatel 255 End", HFILL }}, + + + { &hf_bootp_option_netbios_over_tcpip_name_server, + { "NetBIOS over TCP/IP Name Server", "bootp.option.netbios_over_tcpip_name_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 44: NetBIOS over TCP/IP Name Server", HFILL }}, + + { &hf_bootp_option_netbios_over_tcpip_dd_name_server, + { "NetBIOS over TCP/IP Datagram Distribution Name Server", "bootp.option.netbios_over_tcpip_dd_name_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 45: NetBIOS over TCP/IP Datagram Distribution Name Server", HFILL }}, + + { &hf_bootp_option_netbios_over_tcpip_node_type, + { "NetBIOS over TCP/IP Node Type", "bootp.option.netbios_over_tcpip_node_type", + FT_UINT8, BASE_DEC, VALS(bootp_nbnt_vals), 0x0, + "Option 46: NetBIOS over TCP/IP Node Type", HFILL }}, + + { &hf_bootp_option_netbios_over_tcpip_scope, + { "NetBIOS over TCP/IP Scope", "bootp.option.netbios_over_tcpip_scope", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 47: NetBIOS over TCP/IP Scope", HFILL }}, + + { &hf_bootp_option_xwindows_system_font_server, + { "X Window System Font Server", "bootp.option.xwindows_system_font_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 48: X Window System Font Server", HFILL }}, + + { &hf_bootp_option_xwindows_system_display_manager, + { "X Window System Display Manager", "bootp.option.xwindows_system_display_manager", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 49: X Window System Display Manager", HFILL }}, + + { &hf_bootp_option_requested_ip_address, + { "Requested IP Address", "bootp.option.requested_ip_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 50: Requested IP Address", HFILL }}, + + { &hf_bootp_option_ip_address_lease_time, + { "IP Address Lease Time", "bootp.option.ip_address_lease_time", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 51: IP Address Lease Time", HFILL }}, + + { &hf_bootp_option_option_overload, + { "Option Overload", "bootp.option.option_overload", + FT_UINT8, BASE_DEC, VALS(opt_overload_vals), 0x0, + "Option 52: Option Overload", HFILL }}, + + { &hf_bootp_option_dhcp, + { "DHCP", "bootp.option.dhcp", + FT_UINT8, BASE_DEC, VALS(opt53_text), 0x0, + "Option 53: DHCP option", HFILL }}, + + { &hf_bootp_option_dhcp_server_id, + { "DHCP Server Identifier", "bootp.option.dhcp_server_id", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 54: DHCP Server Identifier", HFILL }}, + + { &hf_bootp_option_parameter_request_list_item, + { "Parameter Request List Item", "bootp.option.request_list_item", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 55: Parameter Request List Item", HFILL }}, + + { &hf_bootp_option_message, + { "Message", "bootp.option.message", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 56: Option message", HFILL }}, + + { &hf_bootp_option_dhcp_max_message_size, + { "Maximum DHCP Message Size", "bootp.option.dhcp_max_message_size", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 57: Maximum DHCP Message Size", HFILL }}, + + { &hf_bootp_option_renewal_time_value, + { "Renewal Time Value", "bootp.option.renewal_time_value", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 58: Renewal Time Value", HFILL }}, + + { &hf_bootp_option_rebinding_time_value, + { "Rebinding Time Value", "bootp.option.rebinding_time_value", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 59: Rebinding Time Value", HFILL }}, + + { &hf_bootp_option_vendor_class_id, + { "Vendor class identifier", "bootp.option.vendor_class_id", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 60: Vendor class identifier", HFILL }}, + + { &hf_bootp_option_novell_netware_ip_domain, + { "Novell/Netware IP domain", "bootp.option.novell_netware_ip_domain", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 62: Novell/Netware IP domain", HFILL }}, + + { &hf_bootp_option63_suboption, + { "Option 63 Suboption", "bootp.option.novell_options.suboption", + FT_UINT8, BASE_DEC, VALS(option63_suboption_vals), 0x0, + "Option 63: Suboption", HFILL }}, + + { &hf_bootp_option63_value, + { "Value", "bootp.option.novell_options.value", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 63: Suboption value", HFILL }}, + + { &hf_bootp_option63_value_8, + { "Value", "bootp.option.novell_options.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 63: Suboption 8-bit value", HFILL }}, + + { &hf_bootp_option63_value_ip_address, + { "Value", "bootp.option.novell_options.value", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 63: Suboption IP address", HFILL }}, + + { &hf_bootp_option63_value_boolean, + { "Value", "bootp.option.novell_options.value", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_true_false), 0x00, + "Option 63: Suboption Boolean value", HFILL }}, + + { &hf_bootp_option63_broadcast, + { "Broadcast for nearest Netware server", "bootp.option.novell_options.broadcast", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, + "Option 63:5 Broadcast for nearest Netware server", HFILL }}, + + { &hf_bootp_option63_preferred_dss_server, + { "Preferred DSS server", "bootp.option.novell_options.preferred_dss_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 63:6 Preferred DSS server", HFILL }}, + + { &hf_bootp_option63_nearest_nwip_server, + { "Nearest NWIP server", "bootp.option.novell_options.nearest_nwip_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 63:7 Nearest NWIP server", HFILL }}, + + { &hf_bootp_option63_autoretries, + { "Autoretries", "bootp.option.novell_options.autoretries", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 63:8 Autoretries", HFILL }}, + + { &hf_bootp_option63_autoretry_delay, + { "Autoretry delay, sec", + "bootp.option.novell_options.autoretry_delay", FT_UINT8, BASE_DEC, NULL, + 0x0, "Option 63:9 Autoretry delay, sec", HFILL }}, + + { &hf_bootp_option63_support_netware_v1_1, + { "Broadcast for nearest Netware server", "bootp.option.novell_options.support_netware_v1_1", + FT_BOOLEAN, BASE_NONE, TFS(&tfs_yes_no), 0x00, + "Option 63:10 Broadcast for nearest Netware server", HFILL }}, + + { &hf_bootp_option63_primary_dss, + { "Primary DSS", "bootp.option.novell_options.primary_dss", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 63:11 Primary DSS", HFILL }}, + + + { &hf_bootp_option_nis_plus_domain, + { "Network Information Service+ Domain", "bootp.option.nis_plus_domain", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 64: Network Information Service+ Domain", HFILL }}, + + { &hf_bootp_option_nis_plus_server, + { "Network Information Service+ Server", "bootp.option.nis_plus_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 65: Network Information Service+ Server", HFILL }}, + + { &hf_bootp_option_tftp_server_name, + { "TFTP Server Name", "bootp.option.tftp_server_name", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 66: TFTP Server Name", HFILL }}, + + { &hf_bootp_option_bootfile_name, + { "Bootfile name", "bootp.option.bootfile_name", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 67: Bootfile name", HFILL }}, + + { &hf_bootp_option_mobile_ip_home_agent, + { "Mobile IP Home Agent", "bootp.option.mobile_ip_home_agent", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 68: Mobile IP Home Agent", HFILL }}, + + { &hf_bootp_option_smtp_server, + { "SMTP Server", "bootp.option.smtp_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 69: SMTP Server", HFILL }}, + + { &hf_bootp_option_pop3_server, + { "POP3 Server", "bootp.option.pop3_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 70: POP3 Server", HFILL }}, + + { &hf_bootp_option_nntp_server, + { "NNTP Server", "bootp.option.nntp_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 71: NNTP Server", HFILL }}, + + { &hf_bootp_option_default_www_server, + { "Default WWW Server", "bootp.option.default_www_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 72: Default WWW Server", HFILL }}, + + { &hf_bootp_option_default_finger_server, + { "Default Finger Server", "bootp.option.default_finger_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 73: Default Finger Server", HFILL }}, + + { &hf_bootp_option_default_irc_server, + { "Default IRC Server", "bootp.option.default_irc_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 74: Default IRC Server", HFILL }}, + + { &hf_bootp_option_streettalk_server, + { "StreetTalk Server", "bootp.option.streettalk_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 75: StreetTalk Server", HFILL }}, + + { &hf_bootp_option_streettalk_da_server, + { "StreetTalk Directory Assistance Server", "bootp.option.streettalk_da_server", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 76: StreetTalk Directory Assistance Server", HFILL }}, + + { &hf_bootp_option_slp_directory_agent_value, + { "Value", "bootp.option.slp_directory_agent.value", + FT_UINT8, BASE_DEC, VALS(slpda_vals), 0x0, + "Option 78: SLPDA Value", HFILL }}, + + { &hf_bootp_option_slp_directory_agent_slpda_address, + { "IP Address", "bootp.option.slp_directory_agent.slpda_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 78: SLPDA Address", HFILL }}, + + { &hf_bootp_option_slp_service_scope_value, + { "Value", "bootp.option.slp_service_scope.value", + FT_UINT8, BASE_DEC, VALS(slp_scope_vals), 0x0, + "Option 79: SLP Service Scope Value", HFILL }}, + + { &hf_bootp_option_slp_service_scope_string, + { "SLP Service Scope", "bootp.option.slp_service_scope.string", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 79: SLP Service Scope", HFILL }}, + + + { &hf_bootp_option82_suboption, + { "Option 82 Suboption", "bootp.option.agent_information_option.suboption", + FT_UINT8, BASE_DEC, VALS(option82_suboption_vals), 0x0, + "Option 82: Suboption", HFILL }}, + + { &hf_bootp_option82_value, + { "Value", "bootp.option.agent_information_option.value", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82: Suboption value", HFILL }}, + + { &hf_bootp_option82_value_8, + { "Value", "bootp.option.agent_information_option.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82: Suboption 8-bit value", HFILL }}, + + { &hf_bootp_option82_value_32, + { "Value", "bootp.option.agent_information_option.value", + FT_UINT32, BASE_DEC, NULL, 0x0, + "Option 82: Suboption 32-bit value", HFILL }}, + + { &hf_bootp_option82_value_ip_address, + { "Value", "bootp.option.agent_information_option.value", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 82: Suboption IP address", HFILL }}, + + { &hf_bootp_option82_value_stringz, + { "Value", "bootp.option.agent_information_option.value", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 82: Suboption Z-String value", HFILL }}, + + { &hf_bootp_option82_padding, + { "Padding", "bootp.option.agent_information_option.padding", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:0 Padding", HFILL }}, + + { &hf_bootp_option82_agent_circuit_id, + { "Agent Circuit ID", "bootp.option.agent_information_option.agent_circuit_id", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:1 Agent Circuit ID", HFILL }}, + + { &hf_bootp_option82_agent_remote_id, + { "Agent Remote ID", "bootp.option.agent_information_option.agent_remote_id", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:2 Agent Remote ID", HFILL }}, + + { &hf_bootp_option82_reserved, + { "Reserved", "bootp.option.agent_information_option.reserved", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:3 Reserved", HFILL }}, + + { &hf_bootp_option82_docsis_device_class, + { "DOCSIS Device Class", "bootp.option.agent_information_option.docsis_device_class", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Option 82:4 DOCSIS Device Class", HFILL }}, + + { &hf_bootp_option82_link_selection, + { "Link selection", "bootp.option.agent_information_option.link_selection", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 82:5 Link selection", HFILL }}, + + { &hf_bootp_option82_subscriber_id, + { "Subscriber ID", "bootp.option.agent_information_option.subscriber_id", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 82:6 Subscriber ID", HFILL }}, + + { &hf_bootp_option82_radius_attributes, + { "RADIUS Attributes", "bootp.option.agent_information_option.radius_attributes", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:7 RADIUS Attributes", HFILL }}, + + { &hf_bootp_option82_authentication, + { "Authentication", "bootp.option.agent_information_option.authentication", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:8 Authentication", HFILL }}, + + { &hf_bootp_option82_vi, + { "Vendor-Specific Information", "bootp.option.agent_information_option.vi", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 82:9 Vendor-Specific Information", HFILL }}, + + { &hf_bootp_option82_vi_enterprise, + { "Enterprise", "bootp.option.agent_information_option.vi.enterprise", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x0, + "Option 82:9 VI Enterprise", HFILL }}, + + { &hf_bootp_option82_vi_data_length, + { "Data Length", "bootp.option.agent_information_option.vi.data_length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:9 VI Data Length", HFILL }}, + + { &hf_bootp_option82_vi_cl_option, + { "Option", "bootp.option.agent_information_option.vi.cl.option", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:9 VI CL Option", HFILL }}, + + { &hf_bootp_option82_vi_cl_length, + { "Length", "bootp.option.agent_information_option.vi.cl.length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:9 VI CL Length", HFILL }}, + + { &hf_bootp_option82_vi_cl_tag, + { "Tag", "bootp.option.agent_information_option.vi.cl.tag", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:9 VI CL Tag", HFILL }}, + + { &hf_bootp_option82_vi_cl_tag_length, + { "Tag Length", "bootp.option.agent_information_option.vi.cl.tag_length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 82:9 VI CL Tag Length", HFILL }}, + + { &hf_bootp_option82_vi_cl_docsis_version, + { "DOCSIS Version Number", "bootp.option.agent_information_option.vi.cl.docsis_version", + FT_UINT16, BASE_HEX, NULL, 0x0, + "Option 82:9 VI CL DOCSIS Version Number", HFILL }}, + + { &hf_bootp_option82_flags, + { "Flags", "bootp.option.agent_information_option.flags", + FT_UINT8, BASE_HEX, NULL, 0x0, + "Option 82:10 Flags", HFILL }}, + + { &hf_bootp_option82_server_id_override, + { "Server ID Override", "bootp.option.agent_information_option.server_id_override", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 82:11 Server ID Override", HFILL }}, + + { &hf_bootp_option82_link_selection_cisco, + { "Link selection (Cisco proprietary)", "bootp.option.agent_information_option.link_selection_cisco", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 82:150 Link selection (Cisco proprietary)", HFILL }}, + + { &hf_bootp_option82_vrf_name_vpn_id, + { "VRF name/VPN ID", "bootp.option.agent_information_option.vrf_name_vpn_id", + FT_BYTES, BASE_NONE, NULL, 0x00, + "Option 82:151 VRF name/VPN ID", HFILL }}, + + { &hf_bootp_option82_vrf_name_vpn_id_oui, + { "VRF name/VPN ID OUI", "bootp.option.agent_information_option.vrf_name_vpn_id_oui", + FT_UINT24, BASE_HEX, NULL, 0x00, + "Option 82:151 VRF name/VPN ID OUI", HFILL }}, + + { &hf_bootp_option82_vrf_name_vpn_id_index, + { "VRF name/VPN ID Index", "bootp.option.agent_information_option.vrf_name_vpn_id_index", + FT_UINT32, BASE_HEX, NULL, 0x00, + "Option 82:151 VRF name/VPN ID Index", HFILL }}, + + { &hf_bootp_option82_server_id_override_cisco, + { "Server ID Override (Cisco proprietary)", "bootp.option.agent_information_option.server_id_override_cisco", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 82:152 Server ID Override (Cisco proprietary)", HFILL }}, + + + { &hf_bootp_option_novell_dss_string, + { "Novell Directory Services Servers String", "bootp.option.novell_dss.string", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 85: Novell Directory Services Servers String", HFILL }}, + + { &hf_bootp_option_novell_dss_ip, + { "IP Address", "bootp.option.novell_dss.ip", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 85: Novell Directory Services Servers IP Address", HFILL }}, + + { &hf_bootp_option_novell_ds_tree_name, + { "Novell Directory Services Tree Name", "bootp.option.novell_ds_tree_name", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 86: Novell Directory Services Tree Name", HFILL }}, + + { &hf_bootp_option_novell_ds_context, + { "Novell Directory Services Context", "bootp.option.novell_ds_context", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 87: Novell Directory Services Context", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_protocol, + { "Protocol", "bootp.option.dhcp_authentication.protocol", + FT_UINT8, BASE_DEC, VALS(authen_protocol_vals), 0x0, + "Option 90: Authentication Protocol", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_alg_delay, + { "Delay Algorithm", "bootp.option.dhcp_authentication.alg_delay", + FT_UINT8, BASE_DEC, VALS(authen_da_algo_vals), 0x0, + "Option 90: Delayed Authentication Algorithm", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_algorithm, + { "Algorithm", "bootp.option.dhcp_authentication.algorithm", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 90: Authentication Algorithm", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_rdm, + { "Replay Detection Method", "bootp.option.dhcp_authentication.rdm", + FT_UINT8, BASE_DEC, VALS(authen_rdm_vals), 0x0, + "Option 90: Replay Detection Method", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_rdm_replay_detection, + { "RDM Replay Detection Value", "bootp.option.dhcp_authentication.rdm_replay_detection", + FT_UINT64, BASE_HEX, NULL, 0x0, + "Option 90: RDM Replay Detection Value", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_rdm_rdv, + { "Replay Detection Value", "bootp.option.dhcp_authentication.rdm_rdv", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 90: Replay Detection Value", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_secret_id, + { "Secret ID", "bootp.option.dhcp_authentication.secret_id", + FT_UINT32, BASE_HEX, NULL, 0x0, + "Option 90: Secret ID", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_hmac_md5_hash, + { "HMAC MD5 Hash", "bootp.option.dhcp_authentication.hmac_md5_hash", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 90: HMAC MD5 Hash", HFILL }}, + + { &hf_bootp_option_dhcp_authentication_information, + { "Authentication Information", "bootp.option.dhcp_authentication.information", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 90: Authentication Information", HFILL }}, + + { &hf_bootp_option_client_last_transaction_time, + { "Client last transaction time", "bootp.option.client_last_transaction_time", + FT_UINT32, BASE_DEC, NULL, 0x00, + "Option 91: Client last transaction time", HFILL }}, + + { &hf_bootp_option_associated_ip_option, + { "Associated IP option", "bootp.option.associated_ip_option", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 92: Associated IP option", HFILL }}, + + { &hf_bootp_option_client_system_architecture, + { "Client System Architecture", "bootp.option.client_system_architecture", + FT_UINT16, BASE_DEC, VALS(bootp_client_arch), 0x0, + "Option 93: Client System Architecture", HFILL }}, + + { &hf_bootp_option_client_network_id_major_ver, + { "Major Version", "bootp.client_network_id_major", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 94: Major Version", HFILL }}, + + { &hf_bootp_option_client_network_id_minor_ver, + { "Minor Version", "bootp.client_network_id_minor", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 94: Minor Version", HFILL }}, + + { &hf_bootp_option_civic_location_what, + { "What", "bootp.option.civic_location.what", + FT_UINT8, BASE_DEC, VALS(civic_address_what_values), 0x0, + "Option 99: What", HFILL }}, + + { &hf_bootp_option_civic_location_country, + { "Country", "bootp.option.civic_location.country", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 99: Country", HFILL }}, + + { &hf_bootp_option_civic_location_ca_type, + { "CA Type", "bootp.option.civic_location.ca_type", + FT_UINT8, BASE_DEC, VALS(civic_address_type_values), 0x0, + "Option 99: CA Type", HFILL }}, + + { &hf_bootp_option_civic_location_ca_length, + { "CA Length", "bootp.option.civic_location.ca_length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 99: CA Length", HFILL }}, + + { &hf_bootp_option_civic_location_ca_value, + { "CA Value", "bootp.option.civic_location.ca_value", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 99: CA Value", HFILL }}, + + { &hf_bootp_option_netinfo_parent_server_address, + { "NetInfo Parent Server Address", "bootp.option.netinfo_parent_server_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 112: NetInfo Parent Server Address", HFILL }}, + + { &hf_bootp_option_netinfo_parent_server_tag, + { "NetInfo Parent Server Tag", "bootp.option.netinfo_parent_server_tag", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 113: NetInfo Parent Server Tag", HFILL }}, + + { &hf_bootp_option_dhcp_auto_configuration, + { "DHCP Auto-Configuration", "bootp.option.dhcp_auto_configuration", + FT_UINT8, BASE_DEC, VALS(dhcp_autoconfig), 0x0, + "Option 116: DHCP Auto-Configuration", HFILL }}, + + { &hf_bootp_option_cl_dss_id_option, + { "DSS_ID Type", "bootp.option.cl_dss_id.option", + FT_UINT8, BASE_DEC, VALS(cl_dss_id_type_vals), 0x0, + "Option 123:CL DSS_ID Type", HFILL }}, + + { &hf_bootp_option_cl_dss_id_len, + { "DSS_ID Length", "bootp.option.cl_dss_id.len", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 123:CL DSS_ID Length", HFILL }}, + + { &hf_bootp_option_cl_dss_id, + { "Country", "bootp.option.cl_dss_id", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 123:CL DSS_ID", HFILL }}, + + { &hf_bootp_option_vi_class_cl_address_mode, + { "CableLab Address Mode", "bootp.option.vi_class.cl_address_mode", + FT_UINT8, BASE_DEC, VALS(cablelab_ipaddr_mode_vals), 0x0, + "Option 124: CableLab Address Mode", HFILL }}, + + { &hf_bootp_option_vi_class_enterprise, + { "Enterprise", "bootp.option.vi_class.enterprise", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x00, + "Option 124: Enterprise", HFILL }}, + + { &hf_bootp_option_vi_class_data_length, + { "CableLab Address Mode", "bootp.option.vi_class.length", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 124: Length", HFILL }}, + + { &hf_bootp_option_vi_class_data, + { "NetInfo Parent Server Tag", "bootp.option.vi_class.data", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 124: Data", HFILL }}, + + { &hf_bootp_option125_enterprise, + { "Enterprise", "bootp.option.vi.enterprise", + FT_UINT32, BASE_DEC|BASE_EXT_STRING, &sminmpec_values_ext, 0x00, + "Option 125: Enterprise", HFILL }}, + + { &hf_bootp_option125_value, + { "Value", "bootp.option.vi.value", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 125: Suboption value", HFILL }}, + + { &hf_bootp_option125_value_8, + { "Value", "bootp.option.vi.value", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 125: Suboption 8-bit value", HFILL }}, + + { &hf_bootp_option125_value_16, + { "Value", "bootp.option.vi.value", + FT_UINT16, BASE_DEC, NULL, 0x0, + "Option 125: Suboption 16-bit value", HFILL }}, + + { &hf_bootp_option125_value_ip_address, + { "Value", "bootp.option.vi.value", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 125: Suboption IP address value", HFILL }}, + + { &hf_bootp_option125_value_stringz, + { "Value", "bootp.option.vi.value", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125: Suboption Z-String value", HFILL }}, + + { &hf_bootp_option125_tr111_suboption, + { "Option 125 Suboption", "bootp.option.vi.tr111.suboption", + FT_UINT8, BASE_DEC, VALS(option125_tr111_suboption_vals), 0x0, + "Option 125:TR 111 Suboption", HFILL }}, + + { &hf_bootp_option125_tr111_device_manufacturer_oui, + { "DeviceManufacturerOUI", "bootp.option.vi.tr111.device_manufacturer_oui", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 1 DeviceManufacturerOUI", HFILL }}, + + { &hf_bootp_option125_tr111_device_serial_number, + { "DeviceSerialNumber", "bootp.option.vi.tr111.device_serial_number", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 2 DeviceSerialNumber", HFILL }}, + + { &hf_bootp_option125_tr111_device_product_class, + { "DeviceProductClass", "bootp.option.vi.tr111.device_product_class", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 3 DeviceProductClass", HFILL }}, + + { &hf_bootp_option125_tr111_gateway_manufacturer_oui, + { "GatewayManufacturerOUI", "bootp.option.vi.tr111.gateway_manufacturer_oui", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 4 GatewayManufacturerOUI", HFILL }}, + + { &hf_bootp_option125_tr111_gateway_serial_number, + { "GatewaySerialNumber", "bootp.option.vi.tr111.gateway_serial_number", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 5 GatewaySerialNumber", HFILL }}, + + { &hf_bootp_option125_tr111_gateway_product_class, + { "GatewayProductClass", "bootp.option.vi.tr111.gateway_product_class", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 125:TR 111 6 GatewayProductClass", HFILL }}, + + { &hf_bootp_option125_cl_suboption, + { "Option 125 Suboption", "bootp.option.vi.cl.suboption", + FT_UINT8, BASE_DEC, VALS(option125_cl_suboption_vals), 0x0, + "Option 125:CL Suboption", HFILL }}, + + { &hf_bootp_option125_cl_option_request, + { "Option Request", "bootp.option.vi.cl.option_request", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 125:CL 1 Option Request", HFILL }}, + + { &hf_bootp_option125_cl_tftp_server_addresses, + { "TFTP Server Addresses", "bootp.option.vi.cl.tftp_server_addresses", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 125:CL 2 TFTP Server Addresses", HFILL }}, + + { &hf_bootp_option125_cl_erouter_container_option, + { "eRouter Container Option", "bootp.option.vi.cl.erouter_container_option", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 125:CL 3 eRouter Container Option", HFILL }}, + + { &hf_bootp_option125_cl_mib_environment_indicator_option, + { "MIB Environment Indicator Option", "bootp.option.vi.cl.suboption", + FT_UINT8, BASE_DEC, VALS(pkt_mib_env_ind_opt_vals), 0x0, + "Option 125:CL 4 MIB Environment Indicator Option", HFILL }}, + + { &hf_bootp_option125_cl_modem_capabilities, + { "Modem Capabilities", "bootp.option.vi.cl.modem_capabilities", + FT_BYTES, BASE_NONE, NULL, 0x0, + "Option 125:CL 5 Modem Capabilities", HFILL }}, + + { &hf_bootp_option_subnet_selection_option, + { "Subnet Selection Option", "bootp.option.subnet_selection_option", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 118: Subnet Selection Option", HFILL }}, + + { &hf_bootp_option_lost_server_domain_name, + { "LoST Server Domain Name", "bootp.option.lost_server_domain_name", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 137: LoST Server Domain Name", HFILL }}, + + { &hf_bootp_option_capwap_access_controller, + { "CAPWAP Access Controllers", "bootp.option.capwap_access_controller", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 138: CAPWAP Access Controllers", HFILL }}, + + { &hf_bootp_option_tftp_server_address, + { "TFTP Server Address", "bootp.option.tftp_server_address", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 150: TFTP Server Address", HFILL }}, + + { &hf_bootp_option_6RD_ipv4_mask_len, + { "6RD IPv4 Mask Length", "bootp.option.6RD.ipv4_mask_len", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 212: 6RD IPv4 Mask Length", HFILL }}, + + { &hf_bootp_option_6RD_prefix_len, + { "6RD Prefix Length", "bootp.option.6RD.prefix_len", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 212: 6RD Prefix Length", HFILL }}, + + { &hf_bootp_option_6RD_prefix, + { "6RD Prefix", "bootp.option.6RD.prefix", + FT_IPv6, BASE_NONE, NULL, 0x00, + "Option 212: 6RD Prefix", HFILL }}, + + { &hf_bootp_option_6RD_border_relay_ip, + { "Border Relay IP", "bootp.option.6RD.border_relay_ip", + FT_IPv4, BASE_NONE, NULL, 0x00, + "Option 212: Border Relay IP", HFILL }}, + + { &hf_bootp_option_private_proxy_autodiscovery, + { "Private/Proxy autodiscovery", "bootp.option.private_proxy_autodiscovery", + FT_STRINGZ, BASE_NONE, NULL, 0x0, + "Option 252: Private/Proxy autodiscovery", HFILL }}, + + { &hf_bootp_option_end, + { "Option End", "bootp.option.end", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 255: End", HFILL }}, + + { &hf_bootp_option_end_overload, + { "Option End (Overload)", "bootp.option.end", + FT_UINT8, BASE_DEC, NULL, 0x0, + "Option 255: End (Overload)", HFILL }}, + }; static uat_field_t bootp_uat_flds[] = { @@ -5354,24 +6419,24 @@ proto_register_bootp(void) prefs_register_obsolete_preference(bootp_module, "displayasstring"); bootp_uat = uat_new("Custom BootP/DHCP Options (Excl. suboptions)", - sizeof(uat_bootp_record_t), /* record size */ - "custom_bootp", /* filename */ - TRUE, /* from_profile */ - (void*) &uat_bootp_records, /* data_ptr */ - &num_bootp_records_uat, /* numitems_ptr */ - UAT_CAT_GENERAL, /* category */ - NULL, /* help */ - uat_bootp_record_copy_cb, /* copy callback */ - uat_bootp_record_update_cb, /* update callback */ - uat_bootp_record_free_cb, /* free callback */ - NULL, /* post update callback */ - bootp_uat_flds); /* UAT field definitions */ + sizeof(uat_bootp_record_t), /* record size */ + "custom_bootp", /* filename */ + TRUE, /* from_profile */ + (void*) &uat_bootp_records, /* data_ptr */ + &num_bootp_records_uat, /* numitems_ptr */ + UAT_CAT_GENERAL, /* category */ + NULL, /* help */ + uat_bootp_record_copy_cb, /* copy callback */ + uat_bootp_record_update_cb, /* update callback */ + uat_bootp_record_free_cb, /* free callback */ + NULL, /* post update callback */ + bootp_uat_flds); /* UAT field definitions */ prefs_register_uat_preference(bootp_module, - "custom_bootp_table", - "Custom BootP/DHCP Options (Excl. suboptions)", - "Custom BootP/DHCP Options (Excl. suboptions)", - bootp_uat); + "custom_bootp_table", + "Custom BootP/DHCP Options (Excl. suboptions)", + "Custom BootP/DHCP Options (Excl. suboptions)", + bootp_uat); } void |