wiki:dhcp
Running NetPDL parser failed a:
0, PHP Deprecated: Comments starting with '#' are deprecated in /etc/php5/cli/conf.d/idn.ini on line 1 in Unknown on line 0 /usr/local/netpdl/parser.php

NetPDL dissector..........VALIDATED !!

Original XML source
  1. <protocol name="dhcp" longname="Dynamic Host Configuration Protocol" showsumtemplate="dhcp">
  2.   <format>
  3.     <fields>
  4.       <field type="fixed" name="code" longname="Code" size="1" showtemplate="dhcp.code"/>
  5.       <field type="fixed" name="htype" longname="Hardware address type" description="Hardware address type" size="1" showtemplate="FieldDec"/>
  6.       <field type="fixed" name="hlen" longname="Hardware address length" description="Hardware address length (e.g. '6' for 10mb ethernet)" size="1" showtemplate="FieldDec"/>
  7.       <field type="fixed" name="hops" longname="Hops" description="Client sets to zero, optionally used by relay agents when booting via a relay agent" size="1" showtemplate="FieldDec"/>
  8.       <field type="fixed" name="xid" longname="Transation ID" description="a random number chosen by the client, used by the client and server to associate messages and responses between a client and a server" size="4" showtemplate="FieldDec"/>
  9.       <field type="fixed" name="secs" longname="Second elapsed" description="Filled in by client, seconds elapsed since client began address acquisition or renewal process" size="2" showtemplate="FieldDec"/>
  10.       <block name="flags" longname="Flags" description="Flags">
  11.         <field type="bit" name="MBZ" longname="Must be zero" description="MUST BE ZERO (reserved for future use)" mask="0xFFFE" size="2" showtemplate="FieldBin"/>
  12.         <field type="bit" name="B" longname="Broadcast flag" description="Broadcast flag" mask="0x0001" size="2" showtemplate="FieldBin"/>
  13.       </block>
  14.       <field type="fixed" name="ciaddr" longname="Client IP address" description="Client IP address; only filled in if client is in BOUND, RENEW or REBINDING state and can respond to ARP requests" size="4" showtemplate="ip4addr-noplg"/>
  15.       <field type="fixed" name="yiaddr" longname="Your IP Address" description="'your' (client) IP address" size="4" showtemplate="ip4addr-noplg"/>
  16.       <field type="fixed" name="siaddr" longname="IP of next server to use in bootstrap" description="IP address of next server to use in bootstrap; returned in DHCPOFFER, DHCPACK by server" size="4" showtemplate="ip4addr-noplg"/>
  17.       <field type="fixed" name="giaddr" longname="Relay agent IP address" description="Relay agent IP address, used in booting via a relay agent" size="4" showtemplate="ip4addr-noplg"/>
  18.       <field type="variable" name="chaddr" longname="Client hardware address" description="Client hardware address" expr="buf2int(hlen)" showtemplate="MAC-colon" comment="The sum of the size of this field and the next one MUST be 16 bytes"/>
  19.       <field type="variable" name="chaddr_realign" longname="Client hardware address realign" expr=" 16 - buf2int(hlen)" showtemplate="Field4BytesHex" comment="The sum of the size of this field and the previous one MUST be 16 bytes"/>
  20.       <field type="fixed" name="sname" longname="Server host name" description="Optional server host name, null terminated string" size="64" showtemplate="FieldAscii"/>
  21.       <field type="fixed" name="file" longname="Boot file name" description="Boot file name, null terminated string; 'generic' name or null in DHCPDISCOVER, fully qualified directory-path name in DHCPOFFER" size="128" showtemplate="FieldAscii"/>
  22.  
  23.       <field type="fixed" name="magic" longname="DHCP magic cookie (OK)" size="4" showtemplate="FieldHex"/>
  24.  
  25.       <loop type="while" expr="1">
  26.         <!-- Loop until we find a 'break' -->
  27.  
  28.         <switch expr="buf2int($packet[$currentoffset:1])">
  29.           <case value="0"> <includeblk name="pad_option"/>                  </case>
  30.           <case value="1"> <includeblk name="subnet_option"/>                 </case>
  31.           <case value="2"> <includeblk name="time_option"/>                 </case>
  32.           <case value="3"> <includeblk name="router_option"/>                 </case>
  33.           <case value="4"> <includeblk name="time_server_option"/>              </case>
  34.           <case value="5"> <includeblk name="name_server_option"/>              </case>
  35.           <case value="6"> <includeblk name="domain_name_server_option"/>           </case>
  36.           <case value="7"> <includeblk name="log_server_option"/>               </case>
  37.           <case value="8"> <includeblk name="cookie_server_option"/>              </case>
  38.           <case value="9"> <includeblk name="lpr_server_option"/>               </case>
  39.           <case value="10"> <includeblk name="impress_server_option"/>            </case>
  40.           <case value="11"> <includeblk name="resource_location_server_option"/>        </case>
  41.           <case value="12"> <includeblk name="host_name_option"/>               </case>
  42.           <case value="13"> <includeblk name="boot_file_size_option"/>            </case>
  43.           <case value="14"> <includeblk name="merit_dump_file_option"/>           </case>
  44.           <case value="15"> <includeblk name="domain_name_option"/>             </case>
  45.           <case value="16"> <includeblk name="swap_server_option"/>             </case>
  46.           <case value="17"> <includeblk name="root_path_option"/>               </case>
  47.           <case value="18"> <includeblk name="extensions_path_option"/>           </case>
  48.           <case value="19"> <includeblk name="ip_forwading_option"/>              </case>
  49.           <case value="20"> <includeblk name="non_local_source_routing_option"/>        </case>
  50.           <case value="21"> <includeblk name="policy_filter_option"/>             </case>
  51.           <case value="22"> <includeblk name="maximum_datagram_reassembly_size_option"/>    </case>
  52.           <case value="23"> <includeblk name="default_ip_ttl_option"/>            </case>
  53.           <case value="24"> <includeblk name="path_mtu_aging_timeout_option"/>        </case>
  54.           <case value="25"> <includeblk name="path_mtu_plateau_table_option"/>        </case>
  55.           <case value="26"> <includeblk name="interface_mtu_option"/>             </case>
  56.           <case value="27"> <includeblk name="all_subnets_are_local_option"/>         </case>
  57.           <case value="28"> <includeblk name="broadcast_address_option"/>           </case>
  58.           <case value="29"> <includeblk name="perform_mask_discovery_option"/>        </case>
  59.           <case value="30"> <includeblk name="mask_supplier_option"/>             </case>
  60.           <case value="31"> <includeblk name="perform_router_discovery_option"/>        </case>
  61.           <case value="32"> <includeblk name="router_solicitation_address_option"/>     </case>
  62.           <case value="33"> <includeblk name="static_route_option"/>              </case>
  63.           <case value="34"> <includeblk name="trailer_encapsulation_option"/>         </case>
  64.           <case value="35"> <includeblk name="arp_cache_timeout_option"/>           </case>
  65.           <case value="36"> <includeblk name="ethernet_encapsulation_option"/>        </case>
  66.           <case value="37"> <includeblk name="tcp_default_ttl_option"/>             </case>
  67.           <case value="38"> <includeblk name="tcp_keepalive_interval_option"/>        </case>
  68.           <case value="39"> <includeblk name="tcp_keepalive_garbage_option"/>         </case>
  69.           <case value="40"> <includeblk name="network_information_service_domain_option"/>  </case>
  70.           <case value="41"> <includeblk name="network_information_servers_option"/>     </case>
  71.           <case value="42"> <includeblk name="network_time_protocol_servers_option"/>     </case>
  72.           <case value="43"> <includeblk name="vendor_specific_information_option"/>     </case>
  73.           <case value="44"> <includeblk name="netbios_ns_option"/>              </case>
  74.           <case value="45"> <includeblk name="netbios_dds_option"/>             </case>
  75.           <case value="46"> <includeblk name="netbios_node_type_option"/>           </case>
  76.           <case value="47"> <includeblk name="netbios_scope_option"/>             </case>
  77.           <case value="48"> <includeblk name="xwindows_system_font_server_option"/>     </case>
  78.           <case value="49"> <includeblk name="x_window_system_display_manager_option"/>   </case>
  79.           <case value="50"> <includeblk name="requested_ip_address_option"/>          </case>
  80.           <case value="51"> <includeblk name="ip_address_lease_time_option"/>         </case>
  81.           <case value="52"> <includeblk name="overload_option"/>                </case>
  82.           <case value="53"> <includeblk name="dhcp_message_type_option"/>           </case>
  83.           <case value="54"> <includeblk name="server_identifier_option"/>           </case>
  84.           <case value="55"> <includeblk name="parameter_request_list_option"/>        </case>
  85.           <case value="56"> <includeblk name="message_option"/>               </case>
  86.           <case value="57"> <includeblk name="maximum_dhcp_message_size_option"/>       </case>
  87.           <case value="58"> <includeblk name="renewal_time_value_option"/>          </case>
  88.           <case value="59"> <includeblk name="rebinding_time_value_option"/>          </case>
  89.           <case value="60"> <includeblk name="vendor_class_identifier_option"/>       </case>
  90.           <case value="61"> <includeblk name="client_identifier_option"/>           </case>
  91.           <case value="62"> <includeblk name="netware_ip_domain_name_option"/>        </case>
  92.           <case value="63"> <includeblk name="the_netware_ip_information_option"/>      </case>
  93.           <case value="64"> <includeblk name="network_information_service_domain_option"/>  </case>
  94.           <case value="65"> <includeblk name="network_information_serivice_servers_option"/>  </case>
  95.           <case value="66"> <includeblk name="tftp_server_name_option"/>            </case>
  96.           <case value="67"> <includeblk name="bootfile_name_option"/>             </case>
  97.           <case value="68"> <includeblk name="mobile_ip_home_agent_option"/>          </case>
  98.           <case value="69"> <includeblk name="smtp_server_option"/>             </case>
  99.           <case value="70"> <includeblk name="pop3_server_option"/>             </case>
  100.           <case value="71"> <includeblk name="nntp_server_option"/>             </case>
  101.           <case value="72"> <includeblk name="default_www_server_option"/>          </case>
  102.           <case value="73"> <includeblk name="default_finger_server_option"/>         </case>
  103.           <case value="74"> <includeblk name="default_irc_server_option"/>          </case>
  104.           <case value="75"> <includeblk name="streettalk_server_option"/>           </case>
  105.           <case value="76"> <includeblk name="stda_server_option"/>             </case>
  106.           <case value="77"> <includeblk name="user_class_option"/>              </case>
  107.           <case value="78"> <includeblk name="slp_directory_agent_option"/>         </case>
  108.           <case value="79"> <includeblk name="slp_service_scope_option"/>           </case>
  109.           <case value="80"> <includeblk name="naming_authority_extension_option"/>      </case>
  110.           <case value="81"> <includeblk name="client_fqdn_option"/>             </case>
  111.           <case value="82"> <includeblk name="relay_agent_information_option"/>       </case>
  112.           <case value="83"> <includeblk name="agent_remote_id_option"/>           </case>
  113.           <case value="85"> <includeblk name="nds_server_option"/>              </case>
  114.           <case value="86"> <includeblk name="nds_tree_name_option"/>             </case>
  115.           <case value="88"> <includeblk name="ieee_1003_1_posix_timezone_specifier_option"/>  </case>
  116.           <case value="90"> <includeblk name="authentication_option"/>            </case>
  117.           <case value="98"> <includeblk name="user_authentication_protocol_option"/>      </case>
  118.           <case value="116"> <includeblk name="auto_configure_option"/>           </case>
  119.           <case value="117"> <includeblk name="name_service_search_option"/>          </case>
  120.           <case value="118"> <includeblk name="subnet_selection_option"/>           </case>
  121.           <case value="120"> <includeblk name="sip_server_dhcp_option"/>            </case>
  122.           <case value="126"> <includeblk name="extension_option"/>              </case>
  123.           <case value="127"> <includeblk name="extension_option"/>              </case>
  124.  
  125.           <case value="128" maxvalue="254">
  126.             <!-- Options from 128 to 254 are for private use -->
  127.             <includeblk name="private_use_option"/>
  128.           </case>
  129.  
  130.           <case value="255">
  131.             <includeblk name="end_option"/>
  132.             <loopctrl type="break"/>
  133.           </case>
  134.  
  135.           <default>
  136.             <includeblk name="unsupported_option"/>
  137.           </default>
  138.         </switch>
  139.       </loop>
  140.  
  141.       <field type="variable" name="padding" longname="Padding" description="Padding must be a sequence of 0" expr="$packetlength - $currentoffset" showtemplate="Field4BytesHex"/>
  142.     </fields>
  143.  
  144.  
  145.     <block name="unsupported_option" longname="Unsupported Option" description="Unsupported">
  146.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  147.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  148.       <field type="variable" name="value" longname="Value" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  149.     </block>
  150.  
  151.     <block name="extension_option" longname="Extension Option" description="Extension">
  152.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  153.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  154.       <field type="variable" name="value" longname="Value" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  155.     </block>
  156.  
  157.     <block name="pad_option" longname="Pad" description="Pad to align">
  158.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  159.     </block>
  160.  
  161.     <block name="end_option" longname="End of vendor field" description="The end option marks the end of valid information in the vendor field">
  162.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  163.     </block>
  164.  
  165.     <block name="subnet_option" longname="Subnet mask option" description="The subnet mask option specifies the client's subnet mask as per RFC 950">
  166.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  167.       <field type="fixed" name="len" longname="Length of Subnetmask" description="Must be 4. see rfc2132" size="1" showtemplate="FieldDec"/>
  168.       <field type="fixed" name="netmask" longname="Subnet Mask" size="4" showtemplate="ip4addr-noplg"/>
  169.     </block>
  170.  
  171.     <block name="time_option" longname="Time offset option" description="The subnet mask option specifies the client's subnet mask as per RFC 950">
  172.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  173.       <field type="fixed" name="len" longname="Length of time" description="Must be 4" size="1" showtemplate="FieldDec"/>
  174.       <field type="fixed" name="toffset" longname="Time Offset" size="4" showtemplate="FieldDec"/>
  175.     </block>
  176.  
  177.     <block name="router_option" longname="Router Option" description="The router option specifies a list of IP addresses for routers on the client's subnet. Routers SHOULD be listed in order of preference">
  178.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  179.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  180.       <block name="address_list" longname="Address List">
  181.         <loop type="times2repeat" expr="buf2int(len) div 4">
  182.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  183.         </loop>
  184.       </block>
  185.     </block>
  186.  
  187.     <block name="time_server_option" longname="Time Server Option" description="The time server option specifies a list of RFC 868 time servers available to the client">
  188.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  189.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  190.       <block name="address_list" longname="Address List">
  191.         <loop type="times2repeat" expr="buf2int(len) div 4">
  192.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  193.         </loop>
  194.       </block>
  195.     </block>
  196.  
  197.     <block name="name_server_option" longname="Name Server Option" description="The name server option specifies a list of IEN 116 name servers available to the client">
  198.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  199.       <field type="fixed" name="len" longname="Length of Subnetmask" description="Must be 4. see rfc2132" size="1" showtemplate="FieldDec"/>
  200.       <block name="address_list" longname="Address List">
  201.         <loop type="times2repeat" expr="buf2int(len) div 4">
  202.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  203.         </loop>
  204.       </block>
  205.     </block>
  206.  
  207.     <block name="domain_name_server_option" longname="Domain Name Server Option" description="The domain name server option specifies a list of Domain Name System (STD 13, RFC 1035) name servers available to the client">
  208.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  209.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  210.       <block name="address_list" longname="Address List">
  211.         <loop type="times2repeat" expr="buf2int(len) div 4">
  212.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  213.         </loop>
  214.       </block>
  215.     </block>
  216.  
  217.     <block name="log_server_option" longname="Log Server Option" description="The log server option specifies a list of MIT-LCS UDP log servers available to the client">
  218.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  219.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  220.       <block name="address_list" longname="Address List">
  221.         <loop type="times2repeat" expr="buf2int(len) div 4">
  222.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  223.         </loop>
  224.       </block>
  225.     </block>
  226.  
  227.     <block name="cookie_server_option" longname="Cookie Server Option" description="The cookie server option specifies a list of RFC 865 cookie servers available to the client">
  228.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  229.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  230.       <block name="address_list" longname="Address List">
  231.         <loop type="times2repeat" expr="buf2int(len) div 4">
  232.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  233.         </loop>
  234.       </block>
  235.     </block>
  236.  
  237.     <block name="lpr_server_option" longname="LPR Server Option" description="The LPR server option specifies a list of RFC 1179 line printer servers available to the client">
  238.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  239.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  240.       <block name="address_list" longname="Address List">
  241.         <loop type="times2repeat" expr="buf2int(len) div 4">
  242.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  243.         </loop>
  244.       </block>
  245.     </block>
  246.  
  247.     <block name="impress_server_option" longname="Impress Server Option" description="The Impress server option specifies a list of Imagen Impress servers available to the client">
  248.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  249.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  250.       <block name="address_list" longname="Address List">
  251.         <loop type="times2repeat" expr="buf2int(len) div 4">
  252.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  253.         </loop>
  254.       </block>
  255.     </block>
  256.  
  257.     <block name="resource_location_server_option" longname="Resource Location Server Option" description="This option specifies a list of RFC 887 Resource Location servers available to the client">
  258.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  259.       <field type="fixed" name="len" longname="Number of address * 4" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  260.       <block name="address_list" longname="Address List">
  261.         <loop type="times2repeat" expr="buf2int(len) div 4">
  262.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  263.         </loop>
  264.       </block>
  265.     </block>
  266.  
  267.     <block name="host_name_option" longname="Host Name Option" description="This option specifies the name of the client">
  268.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  269.       <field type="fixed" name="len" longname="Length" description="Minimum lengthh is 1" size="1" showtemplate="FieldDec"/>
  270.       <field type="variable" name="hname" longname="Host Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  271.     </block>
  272.  
  273.     <block name="boot_file_size_option" longname="Boot File Size Option" description="This option specifies the length in 512-octet blocks of the default boot image for the client">
  274.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  275.       <field type="fixed" name="len" longname="Length " description="Must be 2" size="1" showtemplate="FieldDec"/>
  276.       <field type="fixed" name="filesize" longname="File Size" description="Length in 512-octect blocks" size="2" showtemplate="FieldDec"/>
  277.     </block>
  278.  
  279.     <block name="merit_dump_file_option" longname="Merit Dump File Option" description="This option specifies the path-name of a file to which the client's core image should be dumped in the event the client crashes">
  280.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  281.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  282.       <field type="variable" name="dump" longname="Dump File Pathname" description="The path is formatted as a character string consisting of characters from the NVT ASCII character set" expr="buf2int(len)" showtemplate="FieldAscii"/>
  283.     </block>
  284.  
  285.     <block name="domain_name_option" longname="Domain Name Option" description="This option specifies the domain name that client should use when resolving hostnames via the Domain Name System">
  286.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  287.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  288.       <field type="variable" name="domain" longname="Domain Name" description="Domain Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  289.     </block>
  290.  
  291.  
  292.     <block name="swap_server_option" longname="Swap Server Option" description="This specifies the IP address of the client's swap server">
  293.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  294.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  295.       <field type="fixed" name="address" longname="Swap Server Address" description="IP address of the client's swap server" size="4" showtemplate="ip4addr-noplg"/>
  296.     </block>
  297.  
  298.     <block name="root_path_option" longname="Root Path Option" description="This option specifies the path-name that contains the client's root disk">
  299.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  300.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  301.       <field type="variable" name="pathname" longname="Root Disk Pathname" description="The path is formatted as a character string consisting of characters from the NVT ASCII character set" expr="buf2int(len)" showtemplate="FieldAscii"/>
  302.     </block>
  303.  
  304.     <block name="extensions_path_option" longname="Extension Path Option" description="A string to specify a file, retrievable via TFTP">
  305.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  306.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  307.       <field type="variable" name="pathname" longname="Extensions Pathname" description="see rfc 2132 3.20" expr="buf2int(len)" showtemplate="FieldAscii"/>
  308.     </block>
  309.  
  310.     <block name="ip_forwading_option" longname="IP Forwading Enable/Disable Option" description="This option specifies whether the client should configure its IP layer for packet forwarding">
  311.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  312.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  313.       <field type="fixed" name="value" longname="Value" description="A value of 0 means disable IP forwarding, and a value of 1 means enable IP forwarding" size="1" showtemplate="FieldDec"/>
  314.     </block>
  315.  
  316.     <block name="non_local_source_routing_option" longname="Non-Local Source Routing Enable/Disable Option" description="This option specifies whether the client should configure its IP layer to allow forwarding of datagrams with non-local source routes">
  317.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  318.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  319.       <field type="fixed" name="value" longname="Value" description="A value of 0 means disallow forwarding of such datagrams, and a value of 1 means allow forwarding" size="1" showtemplate="FieldDec"/>
  320.     </block>
  321.  
  322.     <block name="policy_filter_option" longname="Policy Filter Option" description="This option specifies policy filters for non-local source routing">
  323.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  324.       <field type="fixed" name="len" longname="Number of address * 8" description="Must be a multiple of 8" size="1" showtemplate="FieldDec"/>
  325.       <block name="address_list" longname="Address List">
  326.         <loop type="times2repeat" expr="buf2int(len) div 8">
  327.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  328.           <field type="fixed" name="mask" longname="Mask" size="4" showtemplate="ip4addr-noplg"/>
  329.         </loop>
  330.       </block>
  331.     </block>
  332.  
  333.     <block name="maximum_datagram_reassembly_size_option" longname="Maximum Datagram Reassembly Size Option" description="This option specifies the maximum size datagram that the client should be prepared to reassemble">
  334.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  335.       <field type="fixed" name="len" longname="Length" description="Must be 2" size="1" showtemplate="FieldDec"/>
  336.       <field type="fixed" name="size" longname="Size" description="The size is specified as a 16-bit unsigned integer. The minimum value legal value is 576" size="2" showtemplate="FieldDec"/>
  337.     </block>
  338.  
  339.     <block name="default_ip_ttl_option" longname="Default IP Time-to-live Option" description="This option specifies the default time-to-live that the client should use on outgoing datagrams">
  340.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  341.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  342.       <field type="fixed" name="ttl" longname="Time-to-live" description="The TTL is specified as an octet with a value between 1 and 255" size="1" showtemplate="FieldDec"/>
  343.     </block>
  344.  
  345.     <block name="path_mtu_aging_timeout_option" longname="Path MTU Aging Timeout Option" description="This option specifies the timeout (in seconds) to use when aging Path MTU values discovered by the mechanism defined in RFC 1191">
  346.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  347.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  348.       <field type="fixed" name="ttl" longname="Time-to-live" description="The timeout is specified as a 32-bit unsigned integer" size="4" showtemplate="FieldDec"/>
  349.     </block>
  350.  
  351.     <block name="path_mtu_plateau_table_option" longname="Path MTU Plateau Table Option" description="This option specifies a table of MTU sizes to use when performing Path MTU Discovery as defined in RFC 1191">
  352.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  353.       <field type="fixed" name="len" longname="Length" description="MUST be a multiple of 2" size="1" showtemplate="FieldDec"/>
  354.  
  355.       <!-- Are we sure that the 'address list' contains a list of 'size'? -->
  356.       <block name="address_list" longname="Address List">
  357.         <loop type="times2repeat" expr="buf2int(len) div 2">
  358.           <field type="fixed" name="size" longname="Size" size="2" showtemplate="FieldDec"/>
  359.         </loop>
  360.       </block>
  361.     </block>
  362.  
  363.     <block name="interface_mtu_option" longname="Interface MTU Option" description="This option specifies the MTU to use on this interface">
  364.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  365.       <field type="fixed" name="len" longname="Length" description="Must be 2" size="1" showtemplate="FieldDec"/>
  366.       <field type="fixed" name="mtu" longname="MTU" description="The minimum legal value for the MTU is 68" size="2" showtemplate="FieldDec"/>
  367.     </block>
  368.  
  369.     <block name="all_subnets_are_local_option" longname="All Subnets are Local Option" description="This option specifies whether or not the client may assume that all subnets of the IP network to which the client is connected use the same MTU as the subnet of that network to which the client is directly connected">
  370.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  371.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  372.       <field type="fixed" name="value" longname="Value" description="A value of 1 indicates that all subnets share the same MTU. A value of 0 means that the client should assume that some subnets of the directly connected network may have smaller MTUs" size="1" showtemplate="FieldDec"/>
  373.     </block>
  374.  
  375.     <block name="broadcast_address_option" longname="Broadcast Adress Option" description="This option specifies the broadcast address in use on the client's subnet">
  376.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  377.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  378.       <field type="fixed" name="baddr" longname="Broadcast Address" size="4" showtemplate="ip4addr-noplg"/>
  379.     </block>
  380.  
  381.     <block name="perform_mask_discovery_option" longname="Perform Masck Discovery Option" description="This option specifies whether or not the client should perform subnet mask discovery using ICMP">
  382.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  383.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  384.       <field type="fixed" name="value" longname="Value" description="A value of 0 indicates that the client should not perform mask discovery. A value of 1 means that the client should perform mask discovery" size="1" showtemplate="FieldDec"/>
  385.     </block>
  386.  
  387.     <block name="mask_supplier_option" longname="Mask Supplier Option" description="This option specifies whether or not the client should respond to subnet mask requests using ICMP">
  388.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  389.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  390.       <field type="fixed" name="value" longname="Value" description="A value of 0 indicates that the client should not respond. A value of 1 means that the client should respond" size="1" showtemplate="FieldDec"/>
  391.     </block>
  392.  
  393.     <block name="perform_router_discovery_option" longname="Perform Router Discovery Option" description="This option specifies whether or not the client should solicit routers using the Router Discovery mechanism defined in RFC 1256">
  394.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  395.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  396.       <field type="fixed" name="value" longname="Value" description="A value of 0 indicates that the client should not perform router discovery. A value of 1 means that the client should perform router discovery" size="1" showtemplate="FieldDec"/>
  397.     </block>
  398.  
  399.     <block name="router_solicitation_address_option" longname="Router Solicitation Address Option" description="This option specifies the address to which the client should transmit router solicitation requests">
  400.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  401.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  402.       <field type="fixed" name="addr" longname="Address" description="Address" size="4" showtemplate="ip4addr-noplg"/>
  403.     </block>
  404.  
  405.     <block name="static_route_option" longname="Static Route Option" description="This option specifies a list of static routes that the client should install in its routing cache">
  406.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  407.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 8" size="1" showtemplate="FieldDec"/>
  408.       <block name="destinations" longname="Destination List">
  409.         <loop type="times2repeat" expr="buf2int(len) div 8">
  410.           <field type="fixed" name="destination" longname="Destination Address" size="4" showtemplate="ip4addr-noplg"/>
  411.           <field type="fixed" name="router" longname="Router Address" size="4" showtemplate="ip4addr-noplg"/>
  412.         </loop>
  413.       </block>
  414.     </block>
  415.  
  416.     <block name="trailer_encapsulation_option" longname="Trailer Encapsulation Option" description="This option specifies whether or not the client should negotiate the use of trailers (RFC 893) when using the ARP protocol">
  417.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  418.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  419.       <field type="fixed" name="value" longname="Value" description="A value of 0 indicates that the client should not attempt to use trailers. A value of 1 means that the client should attempt to use trailers" size="1" showtemplate="FieldDec"/>
  420.     </block>
  421.  
  422.     <block name="arp_cache_timeout_option" longname="ARP Cache Timeout Option" description="This option specifies the timeout in seconds for ARP cache entries">
  423.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  424.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  425.       <field type="fixed" name="time" longname="Time" size="4" showtemplate="FieldDec"/>
  426.     </block>
  427.  
  428.     <block name="ethernet_encapsulation_option" longname="Ethernet Encapsulation Option" description="This option specifies whether or not the client should use Ethernet Version 2 (RFC 894) or IEEE 802.3 (RFC 1042) encapsulation if the interface is an Ethernet">
  429.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  430.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  431.       <field type="fixed" name="value" longname="Value" description="A value of 0 indicates that the client should use RFC 894 encapsulation. A value of 1 means that the client should use RFC 1042 encapsulation" size="1" showtemplate="FieldDec"/>
  432.     </block>
  433.  
  434.     <block name="tcp_default_ttl_option" longname="TCP Default TTL Option" description="This option specifies the default TTL that the client should use when sending TCP segments">
  435.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  436.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  437.       <field type="fixed" name="ttl" longname="TTL" description="Time To Live. The minimum value is 1" size="1" showtemplate="FieldDec"/>
  438.     </block>
  439.  
  440.     <block name="tcp_keepalive_interval_option" longname="TCP Keeplive Intervall Option" description="This option specifies the interval (in seconds) that the client TCP should wait before sending a keepalive message on a TCP connection">
  441.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  442.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  443.       <field type="fixed" name="time" longname="Time" description="A value of zero indicates that the client should not generate keepalive messages on connections unless specifically requested by an application" size="4" showtemplate="FieldDec"/>
  444.     </block>
  445.  
  446.     <block name="tcp_keepalive_garbage_option" longname="TCP Keeplive Garbage Option" description="This option specifies the whether or not the client should send TCP keepalive messages with a octet of garbage for compatibility with older implementations">
  447.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  448.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  449.       <field type="fixed" name="value" longname="Value" size="1" showtemplate="FieldDec"/>
  450.     </block>
  451.  
  452.     <block name="network_information_service_domain_option" longname="Network Information Service Domain Option" description="This option specifies the name of the client's NIS domain">
  453.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  454.       <field type="fixed" name="len" longname="Length" description="String Length" size="1" showtemplate="FieldDec"/>
  455.       <field type="variable" name="nisdn" longname="NIS Domain Name" description="The domain is formatted as a character string consisting of characters from the NVT ASCII character set" expr="buf2int(len)" showtemplate="FieldAscii"/>
  456.     </block>
  457.  
  458.     <block name="network_information_servers_option" longname="Network Information Servers Option" description="This option specifies a list of IP addresses indicating NIS servers available to the client">
  459.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  460.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  461.       <block name="nis_list" longname="NIS servers list" description="Servers SHOULD be listed in order of preference">
  462.         <loop type="times2repeat" expr="buf2int(len) div 4">
  463.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  464.         </loop>
  465.       </block>
  466.     </block>
  467.  
  468.     <block name="network_time_protocol_servers_option" longname="Network Time Protocol Servers Option" description="This option specifies a list of IP addresses indicating NTP servers available to the client">
  469.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  470.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  471.       <block name="ntp_list" longname="NTP servers list" description="Servers SHOULD be listed in order of preference">
  472.         <loop type="times2repeat" expr="buf2int(len) div 4">
  473.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  474.         </loop>
  475.       </block>
  476.     </block>
  477.  
  478.     <block name="vendor_specific_information_option" longname="Vendor Specific Information Option" description="This option is used by clients and servers to exchange vendor-specific information">
  479.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  480.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  481.       <block name="sub_options_list" longname="Sub Options List">
  482.         <loop type="size" expr="buf2int(len)">
  483.           <field type="fixed" name="sub_code" longname="Sub Option Code" size="1" showtemplate="FieldDec"/>
  484.           <field type="fixed" name="sub_len" longname="Length" size="1" showtemplate="FieldDec"/>
  485.           <field type="variable" name="data_item" longname="Data item" expr="buf2int(sub_len)" showtemplate="Field4BytesHex"/>
  486.         </loop>
  487.       </block>
  488.     </block>
  489.  
  490.     <block name="netbios_ns_option" longname="NetBIOS over TCP/IP Name Server Option" description="The NetBIOS name server (NBNS) option specifies a list of RFC 1001/1002 NBNS name servers listed in order of preference">
  491.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  492.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  493.       <block name="nbns_list" longname="NBNS List">
  494.         <loop type="times2repeat" expr="buf2int(len) div 4">
  495.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  496.         </loop>
  497.       </block>
  498.     </block>
  499.  
  500.     <block name="netbios_dds_option" longname="NetBIOS over TCP/IP Datagram Distribution Server Option" description="The NetBIOS datagram distribution server (NBDD) option specifies a list of RFC 1001/1002 NBDD servers listed in order of preference">
  501.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  502.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  503.       <block name="nbdds_list" longname="NBDDS List">
  504.         <loop type="times2repeat" expr="buf2int(len) div 4">
  505.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  506.         </loop>
  507.       </block>
  508.     </block>
  509.  
  510.     <block name="netbios_node_type_option" longname="NetBIOS over TCP/IP Node Type Option" description="The NetBIOS node type option allows NetBIOS over TCP/IP clients which are configurable to be configured as described in RFC 1001/1002">
  511.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  512.       <field type="fixed" name="len" longname="Length of Subnetmask" description="Must be 1" size="1" showtemplate="FieldDec"/>
  513.       <block name="node_type" longname="Node Type">
  514.         <field type="bit" name="b_node" longname="B-node" mask="0x01" size="1" showtemplate="FieldBin"/>
  515.         <field type="bit" name="p_node" longname="P-node" mask="0x02" size="1" showtemplate="FieldBin"/>
  516.         <field type="bit" name="m_node" longname="M-node" mask="0x04" size="1" showtemplate="FieldBin"/>
  517.         <field type="bit" name="h_node" longname="H-node" mask="0x08" size="1" showtemplate="FieldBin"/>
  518.       </block>
  519.     </block>
  520.  
  521.     <block name="netbios_scope_option" longname="NetBIOS over TCP/IP Scope Option" description="The NetBIOS scope option specifies the NetBIOS over TCP/IP scope parameter for the client as specified in RFC 1001/1002">
  522.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  523.       <field type="fixed" name="len" longname="Length" description="Minimum lengthh is 1" size="1" showtemplate="FieldDec"/>
  524.       <field type="variable" name="netbios_scope" longname="NetBIOS Scope" expr="buf2int(len)" showtemplate="FieldAscii"/>
  525.     </block>
  526.  
  527.     <block name="xwindows_system_font_server_option" longname="X Window System Font Server Option" description="This option specifies a list of X Window System Font servers available to the client">
  528.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  529.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  530.       <block name="xwsfs_list" longname="XWindows SFS List">
  531.         <loop type="times2repeat" expr="buf2int(len) div 4">
  532.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  533.         </loop>
  534.       </block>
  535.     </block>
  536.  
  537.     <block name="x_window_system_display_manager_option" longname="X Window System Display Manager Option" description="This option specifies a list of IP addresses of systems that are running the X Window System Display Manager and are available to the client">
  538.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  539.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  540.       <block name="xwsdm_list" longname="XWindows SDM List">
  541.         <loop type="times2repeat" expr="buf2int(len) div 4">
  542.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  543.         </loop>
  544.       </block>
  545.     </block>
  546.  
  547.     <block name="network_information_service_domain_option" longname="Network Information Service + Domain Option" description="This option specifies the name of the client's NIS+ domain">
  548.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  549.       <field type="fixed" name="len" longname="Length" description="Minimum lengthh is 1" size="1" showtemplate="FieldDec"/>
  550.       <field type="variable" name="nis_client_domain_name" longname="NIS Client Domain Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  551.     </block>
  552.  
  553.     <block name="network_information_serivice_servers_option" longname="Network Information Service+ Servers Options" description="This option specifies a list of IP addresses indicating NIS+ servers available to the client">
  554.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  555.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  556.       <block name="address_list" longname="NBDDS List">
  557.         <loop type="times2repeat" expr="buf2int(len) div 4">
  558.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  559.         </loop>
  560.       </block>
  561.     </block>
  562.  
  563.     <block name="mobile_ip_home_agent_option" longname="Mobile IP Home Agent Option" description="This option specifies a list of IP addresses indicating mobile IP home agents available to the client">
  564.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  565.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  566.       <block name="address_list" longname="Address List">
  567.         <loop type="times2repeat" expr="buf2int(len) div 4">
  568.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  569.         </loop>
  570.       </block>
  571.     </block>
  572.  
  573.     <block name="smtp_server_option" longname="SMTP Server Option" description="The SMTP server option specifies a list of SMTP servers available to the client">
  574.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  575.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  576.       <block name="address_list" longname="Address List">
  577.         <loop type="times2repeat" expr="buf2int(len) div 4">
  578.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  579.         </loop>
  580.       </block>
  581.     </block>
  582.  
  583.     <block name="pop3_server_option" longname="POP3 Server Option" description="The POP3 server option specifies a list of POP3 available to the client">
  584.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  585.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  586.       <block name="address_list" longname="Address List">
  587.         <loop type="times2repeat" expr="buf2int(len) div 4">
  588.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  589.         </loop>
  590.       </block>
  591.     </block>
  592.  
  593.     <block name="nntp_server_option" longname="NNTP Server Option" description="The NNTP server option specifies a list of NNTP available to the client">
  594.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  595.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  596.       <block name="address_list" longname="Address List">
  597.         <loop type="times2repeat" expr="buf2int(len) div 4">
  598.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  599.         </loop>
  600.       </block>
  601.     </block>
  602.  
  603.     <block name="default_www_server_option" longname="Default WWW Server Option" description="The WWW server option specifies a list of WWW available to the client">
  604.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  605.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  606.       <block name="address_list" longname="Address List">
  607.         <loop type="times2repeat" expr="buf2int(len) div 4">
  608.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  609.         </loop>
  610.       </block>
  611.     </block>
  612.  
  613.     <block name="default_finger_server_option" longname="Default Finger Server Option" description="The Finger server option specifies a list of Finger available to the client">
  614.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  615.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  616.       <block name="address_list" longname="Address List">
  617.         <loop type="times2repeat" expr="buf2int(len) div 4">
  618.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  619.         </loop>
  620.       </block>
  621.     </block>
  622.  
  623.     <block name="default_irc_server_option" longname="Default IRC Server Option" description="The IRC server option specifies a list of IRC available to the client">
  624.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  625.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  626.       <block name="address_list" longname="Address List">
  627.         <loop type="times2repeat" expr="buf2int(len) div 4">
  628.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  629.         </loop>
  630.       </block>
  631.     </block>
  632.  
  633.     <block name="streettalk_server_option" longname="StreetTalk Server Option" description="The StreetTalk server option specifies a list of StreetTalk servers available to the client">
  634.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  635.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  636.       <block name="address_list" longname="Address List">
  637.         <loop type="times2repeat" expr="buf2int(len) div 4">
  638.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  639.         </loop>
  640.       </block>
  641.     </block>
  642.  
  643.     <block name="stda_server_option" longname="STDA Server Option" description="The StreetTalk Directory Assistance (STDA) server option specifies a list of STDA servers available to the client">
  644.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  645.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  646.       <block name="address_list" longname="Address List">
  647.         <loop type="times2repeat" expr="buf2int(len) div 4">
  648.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  649.         </loop>
  650.       </block>
  651.     </block>
  652.  
  653.     <block name="requested_ip_address_option" longname="Requested IP Address Option" description="This option is used in a client request (DHCPDISCOVER) to allow the client to request that a particular IP address be assigned">
  654.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  655.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  656.       <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  657.     </block>
  658.  
  659.     <block name="ip_address_lease_time_option" longname="IP Address Lease Time Option" description="This option is used in a client request (DHCPDISCOVER or DHCPREQUEST) to allow the client to request a lease time for the IP address">
  660.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  661.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  662.       <field type="fixed" name="time" longname="Lease Time" description="The time is in units of seconds" size="4" showtemplate="FieldDec"/>
  663.     </block>
  664.  
  665.     <block name="overload_option" longname="Overload Option" description="This option is used to indicate that the DHCP 'sname' or 'file' fields are being overloaded by using them to carry DHCP options">
  666.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  667.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  668.       <field type="fixed" name="value" longname="Value" description="Must be 1, 2 or 3" size="1" showtemplate="FieldDec"/>
  669.     </block>
  670.  
  671.     <block name="tftp_server_name_option" longname="TFTP Sever Name Option" description="This option is used to identify a TFTP server when the 'sname' field in the DHCP header has been used for DHCP options">
  672.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  673.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  674.       <field type="variable" name="tftp_server" longname="TFTP Server" expr="buf2int(len)" showtemplate="FieldAscii"/>
  675.     </block>
  676.  
  677.     <block name="bootfile_name_option" longname="Boot File Name Option" description="This option is used to identify a bootfile when the 'file' field in the DHCP header has been used for DHCP options">
  678.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  679.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  680.       <field type="variable" name="bootfile_name" longname="Bootfile Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  681.     </block>
  682.  
  683.     <block name="dhcp_message_type_option" longname="DHCP Message Type Option" description="This option is used to convey the type of the DHCP message" showsumtemplate="dhcp.MessTypeOpt">
  684.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  685.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  686.       <field type="fixed" name="type" longname="DHCP Message Type" size="1" showtemplate="dhcp.type"/>
  687.     </block>
  688.  
  689.     <block name="server_identifier_option" longname="Server Identifier Option" description="This option is used in DHCPOFFER and DHCPREQUEST messages, and may optionally be included in the DHCPACK and DHCPNAK messages">
  690.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  691.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  692.       <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  693.     </block>
  694.  
  695.     <block name="parameter_request_list_option" longname="Parameter Request List Option" description="This option is used by a DHCP client to request values for specified configuration parameters">
  696.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  697.       <field type="fixed" name="len" longname="Length" description="Minimum lengthh is 1" size="1" showtemplate="FieldDec"/>
  698.  
  699.       <block name="option_codes" longname="Option Codes" description="List of Requested Option">
  700.         <loop type="times2repeat" expr="buf2int(len)">
  701.           <field type="fixed" name="option" longname="Option" size="1" showtemplate="dhcp.option"/>
  702.         </loop>
  703.       </block>
  704.     </block>
  705.  
  706.     <block name="message_option" longname="Message Option" description="This option is used by a DHCP server to provide an error message to a DHCP client in a DHCPNAK message in the event of a failure">
  707.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  708.       <field type="fixed" name="len" longname="Length" description="Minimum lengthh is 1" size="1" showtemplate="FieldDec"/>
  709.       <field type="variable" name="text" longname="Text" expr="buf2int(len)" showtemplate="FieldAscii"/>
  710.     </block>
  711.  
  712.     <block name="maximum_dhcp_message_size_option" longname="Maximum DHCP Message Size Option" description="This option specifies the maximum length DHCP message that it is willing to accept">
  713.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  714.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  715.       <field type="fixed" name="msg_size" longname="Message Size" size="2" showtemplate="FieldDec"/>
  716.     </block>
  717.  
  718.     <block name="renewal_time_value_option" longname="Renewal (T1) Time Value Option" description="This option specifies the time interval from address assignment until the client transitions to the RENEWING state">
  719.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  720.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  721.       <field type="fixed" name="t1" longname="T1 Interval" description="The time is in units of seconds" size="4" showtemplate="FieldDec"/>
  722.     </block>
  723.  
  724.     <block name="rebinding_time_value_option" longname="Rebinding (T2) Time Value Option" description="This option specifies the time interval from address assignment until the client transitions to the REBINDING state">
  725.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  726.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  727.       <field type="fixed" name="t2" longname="T2 Interval" description="The time is in units of seconds" size="4" showtemplate="FieldDec"/>
  728.     </block>
  729.  
  730.     <block name="vendor_class_identifier_option" longname="Vendor Class Indentifier Option" description="This option is used by DHCP clients to optionally identify the vendor type and configuration of a DHCP client">
  731.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  732.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  733.       <field type="variable" name="vendor_class_id" longname="Vendor Class Identifier" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  734.     </block>
  735.  
  736.     <block name="client_identifier_option" longname="Client Identifier Option" description="This option is used by DHCP clients to specify their unique identifier">
  737.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  738.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  739.       <field type="fixed" name="type" longname="Type" size="1" showtemplate="FieldDec"/>
  740.       <field type="variable" name="client_id" longname="Client Identifier" expr="buf2int(len) - 1" showtemplate="Field4BytesHex"/>
  741.     </block>
  742.  
  743.     <block name="nds_server_option" longname="Novell Directory Services Server Option" description="This option specifies one or more NDS servers for the client to contact for access to the NDS database">
  744.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  745.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 4" size="1" showtemplate="FieldDec"/>
  746.       <block name="address_list" longname="Address List">
  747.         <loop type="times2repeat" expr="buf2int(len) div 4">
  748.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  749.         </loop>
  750.       </block>
  751.     </block>
  752.  
  753.     <block name="nds_tree_name_option" longname="Novell Tree Name Option" description="This option specifies the name of the NDS tree the client will be ontacting">
  754.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  755.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  756.       <field type="variable" name="nds_tree_name" longname="NDS Tree Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  757.     </block>
  758.  
  759.     <block name="user_authentication_protocol_option" longname="User Authentication Protocol Option" description="This option specifies a list of URLs, each pointing to a user authentication service that is capable of processing authentication requests encapsulated in the User Authentication Protocol (UAP)">
  760.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  761.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  762.       <field type="variable" name="url_list" longname="URL List" description="Separed by the ASCII space character (0x20)" expr="buf2int(len)" showtemplate="FieldAscii"/>
  763.     </block>
  764.  
  765.     <block name="private_use_option" longname="Private Use Option" description="Private use option">
  766.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  767.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  768.       <field type="variable" name="value" longname="Value" description="Value" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  769.     </block>
  770.  
  771.     <block name="auto_configure_option" longname="Auto Configure Option" description="This option code is used to ask whether, and be notified if, auto-configuration should be disabled on the local subnet">
  772.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  773.       <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  774.       <field type="fixed" name="value" longname="Value" size="1" showtemplate="FieldDec"/>
  775.     </block>
  776.  
  777.     <block name="subnet_selection_option" longname="Subnet Selection Option" description="The option contains a single IPv4 address that is the address of a subnet">
  778.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  779.       <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  780.       <field type="fixed" name="address" longname="IPv4 Address" size="4" showtemplate="ip4addr-noplg"/>
  781.     </block>
  782.  
  783.     <block name="netware_ip_domain_name_option" longname="NetWare/IP Domain Name Option" description="This option code is used to convey the NetWare/IP domain name used by the NetWare/IP product">
  784.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  785.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  786.       <field type="variable" name="netware_ip_domain_name" longname="NetWare/IP Domain Name" expr="buf2int(len)" showtemplate="FieldAscii"/>
  787.     </block>
  788.  
  789.     <block name="the_netware_ip_information_option" longname="The NetWare/IP Information option" description="The NetWare/IP option code will be used to convey all the NetWare/IP related information except for the NetWare/IP domain name">
  790.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  791.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  792.       <block name="sub_options_list" longname="Sub Options List">
  793.         <loop type="size" expr="buf2int(len)">
  794.           <switch expr="buf2int($packet[$currentoffset:1])">
  795.             <case value="1">
  796.               <field type="fixed" name="nwip_does_not_exist" longname="NWIP_DOES_NOT_EXIST" description="The responding DHCP server does not have any NetWare/IP information configured" size="1" showtemplate="FieldDec"/>
  797.               <field type="fixed" name="len" longname="Length" description="Must be 0" size="1" showtemplate="FieldDec"/>
  798.             </case>
  799.             <case value="2">
  800.               <field type="fixed" name="nwip_exist_in_options_area" longname="NWIP_EXIST_IN_OPTIONS_AREA" description="All NetWare/IP information is present in the 'options' area of the DHCP response packet" size="1" showtemplate="FieldDec"/>
  801.               <field type="fixed" name="len" longname="Length" description="Must be 0" size="1" showtemplate="FieldDec"/>
  802.             </case>
  803.             <case value="3">
  804.               <field type="fixed" name="nwip_exist_in_sname_file" longname="NWIP_EXIST_IN_SNAME_FILE" description="All NetWare/IP information is present in the 'sname' and, if necessary, 'file' fields of the DHCP response packet" size="1" showtemplate="FieldDec"/>
  805.               <field type="fixed" name="len" longname="Length" description="Must be 0" size="1" showtemplate="FieldDec"/>
  806.             </case>
  807.             <case value="4">
  808.               <field type="fixed" name="nwip_exist_but_too_big" longname="NWIP_EXIST_BUT_TOO_BIG" description="Neither 'options' area nor 'sname' field can accommodate the NetWare/IP information" size="1" showtemplate="FieldDec"/>
  809.               <field type="fixed" name="len" longname="Length" description="Must be 0" size="1" showtemplate="FieldDec"/>
  810.             </case>
  811.             <case value="5">
  812.               <field type="fixed" name="nsq_broadcast" longname="NSQ_BROADCAST" description="If the value is 1, the client SHOULD perform a NetWare Nearest Server Query to find out its nearest NetWare/IP server" size="1" showtemplate="FieldDec"/>
  813.               <field type="fixed" name="len" longname="Length" description="Must be 1" size="1" showtemplate="FieldDec"/>
  814.               <field type="fixed" name="value" longname="Value" description="Must be 0 or 1" size="1" showtemplate="FieldDec"/>
  815.             </case>
  816.             <case value="6">
  817.               <field type="fixed" name="preferred_dss" longname="PREFERRED_DSS" description="The list contains the addresses of N NetWare Domain SAP/RIP Server (DSS)" size="1" showtemplate="FieldDec"/>
  818.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  819.               <loop type="times2repeat" expr="buf2int(len) div 4">
  820.                 <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  821.               </loop>
  822.             </case>
  823.             <case value="7">
  824.               <field type="fixed" name="nearest_nwip_server" longname="NEAREST_NWIP_SERVER" description="The list contains the addresses of n Nearest NetWare/IP servers" size="1" showtemplate="FieldDec"/>
  825.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  826.               <loop type="times2repeat" expr="buf2int(len) div 4">
  827.                 <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  828.               </loop>
  829.             </case>
  830.             <case value="8">
  831.               <field type="fixed" name="autoretries" longname="AUTORETRIES" description="The value is a one byte integer value indicating the number of times a NetWare/IP client should attempt to communicate with a given DSS server at startup" size="1" showtemplate="FieldDec"/>
  832.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  833.               <field type="fixed" name="value" longname="Value" size="1" showtemplate="FieldDec"/>
  834.             </case>
  835.             <case value="9">
  836.               <field type="fixed" name="autoretry_secs" longname="AUTORETRY_SECS" description="The value is a one byte integer value indicating the amount of delay in seconds in between each NetWare/IP client attempt to communicate with a given DSS server at startup" size="1" showtemplate="FieldDec"/>
  837.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  838.               <field type="fixed" name="value" longname="Value" size="1" showtemplate="FieldDec"/>
  839.             </case>
  840.             <case value="10">
  841.               <field type="fixed" name="nwip_1_1" longname="NWIP_1_1" description="If the value is 1, the NetWare/IP client SHOULD support NetWare/IP Version 1.1 compatibility" size="1" showtemplate="FieldDec"/>
  842.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  843.               <field type="fixed" name="value" longname="Value" size="1" showtemplate="FieldDec"/>
  844.             </case>
  845.             <case value="11">
  846.               <field type="fixed" name="primary_dss" longname="PRIMARY_DSS" description="This field identifies the Primary Domain SAP/RIP Service server (DSS) for this NetWare/IP domain" size="1" showtemplate="FieldDec"/>
  847.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  848.               <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  849.             </case>
  850.             <default>
  851.               <field type="fixed" name="unknown" longname="UNKNOWN" size="1" showtemplate="FieldDec"/>
  852.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  853.               <field type="variable" name="value" longname="Value" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  854.             </default>
  855.           </switch>
  856.         </loop>
  857.       </block>
  858.     </block>
  859.  
  860.     <block name="user_class_option" longname="User Class option" description="This option is used by a DHCP client to optionally identify the type or category of user or applications it represents">
  861.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  862.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  863.       <block name="uc_option_list" longname="User Class Option List">
  864.         <loop type="size" expr="buf2int(len)">
  865.           <field type="fixed" name="uc_len" longname="User Class Data Length" size="1" showtemplate="FieldDec"/>
  866.           <field type="variable" name="user_class_data" longname="User Class Data" expr="buf2int(uc_len)" showtemplate="Field4BytesHex"/>
  867.         </loop>
  868.       </block>
  869.     </block>
  870.  
  871.     <block name="slp_directory_agent_option" longname="SLP Directory Agent Option" description="This option specifies the location of one or more SLP Directory Agents">
  872.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  873.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 4 + 1" size="1" showtemplate="FieldDec"/>
  874.       <field type="fixed" name="mandatory" longname="Mandatory" size="1" showtemplate="FieldDec"/>
  875.       <block name="address_list" longname="Address List">
  876.         <loop type="times2repeat" expr="(buf2int(len) - 1) div 4">
  877.           <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  878.         </loop>
  879.       </block>
  880.     </block>
  881.  
  882.     <block name="slp_service_scope_option" longname="SLP Service Scope Option" description="The scope list is a comma delimited list which indicates the scopes that a SLP Agent is configured to use">
  883.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  884.       <field type="fixed" name="len" longname="Length" description="Minimum length is 2" size="1" showtemplate="FieldDec"/>
  885.       <field type="fixed" name="mandatory" longname="Mandatory" size="1" showtemplate="FieldDec"/>
  886.       <field type="variable" name="scopelist" longname="Scope List" expr="buf2int(len) - 1" showtemplate="FieldAscii"/>
  887.     </block>
  888.  
  889.     <block name="client_fqdn_option" longname="The Client FQDN Option" description="To update the IP address to FQDN mapping a DHCP server needs to know the FQDN of the client to which the server leases the address">
  890.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  891.       <field type="fixed" name="len" longname="Length" description="Minimum length is 4" size="1" showtemplate="FieldDec"/>
  892.       <block name="flags" longname="Flags" description="Flags">
  893.         <field type="bit" name="MBZ" longname="Must be zero" description="MUST BE ZERO (reserved for future use)" mask="0xF0" size="1" showtemplate="FieldBin"/>
  894.         <field type="bit" name="N" longname="N" mask="0x08" size="1" showtemplate="FieldBin"/>
  895.         <field type="bit" name="E" longname="E" mask="0x04" size="1" showtemplate="FieldBin"/>
  896.         <field type="bit" name="O" longname="O" mask="0x02" size="1" showtemplate="FieldBin"/>
  897.         <field type="bit" name="S" longname="S" mask="0x01" size="1" showtemplate="FieldBin"/>
  898.       </block>
  899.       <field type="fixed" name="rcode1" longname="rcode1" size="1" showtemplate="FieldDec"/>
  900.       <field type="fixed" name="rcode2" longname="rcode2" size="1" showtemplate="FieldDec"/>
  901.       <field type="variable" name="domain_name" longname="Domain Name" expr="buf2int(len) - 3" showtemplate="FieldAscii"/>
  902.     </block>
  903.  
  904.     <block name="relay_agent_information_option" longname="Relay Agent Information Option" description="It is a 'container' option for specific agent=supplied sub=options">
  905.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  906.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  907.  
  908.       <block name="agent_information_field" longname="Agent Information Field">
  909.         <loop type="size" expr="buf2int(len)">
  910.           <switch expr="buf2int($packet[$currentoffset:1])">
  911.             <case value="1">
  912.               <field type="fixed" name="agent_circuit_id_sub_option" longname="Agent Circuit ID Sub-option" description="It encodes an agent-local identifier of the circuit from which a DHCP client-to-server packet was received" size="1" showtemplate="FieldDec"/>
  913.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  914.               <field type="variable" name="circuit_id" longname="Circuit Id" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  915.             </case>
  916.             <case value="2">
  917.               <field type="fixed" name="agent_remote_id_sub_option" longname="Agent Remote ID Sub-option" description="This sub-option MAY be added by DHCP relay agents which terminate switched or permanent circuits and have mechanisms to identify the remote host end of the circuit" size="1" showtemplate="FieldDec"/>
  918.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  919.               <field type="variable" name="agent_remote_id" longname="Agent Remote ID" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  920.             </case>
  921.             <case value="4">
  922.               <field type="fixed" name="docsis_device_class_sub_option" longname="DOCSIS Device Class Sub-option" description="The DOCSIS RFI specification specifies the Device Class encoding within the payload of the Device Class Identification Request (DCI-REQ) message" size="1" showtemplate="FieldDec"/>
  923.               <field type="fixed" name="len" longname="Length" description="Must be 4" size="1" showtemplate="FieldDec"/>
  924.               <field type="fixed" name="device_class" longname="Device Class" description="Device Class" size="4" showtemplate="FieldDec"/>
  925.             </case>
  926.             <default>
  927.               <field type="fixed" name="unknown_sub_option" longname="Unknown Sub Option" size="1" showtemplate="FieldDec"/>
  928.               <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  929.               <field type="variable" name="data" longname="Data" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  930.             </default>
  931.           </switch>
  932.         </loop>
  933.       </block>
  934.     </block>
  935.  
  936.     <block name="name_service_search_option" longname="Name Service Search Option" description="A DHCP server SHOULD return, in its preferred order, the 16-bit, network byte order (big-endian) integer option code for the name services (the earlier in the list, the more preferred the name service)">
  937.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  938.       <field type="fixed" name="len" longname="Length" description="Must be a multiple of 4 + 1" size="1" showtemplate="FieldDec"/>
  939.       <block name="name_service_search_list" longname="Name Service Search Order in Sequence">
  940.         <loop type="times2repeat" expr="buf2int(len) div 2">
  941.           <field type="fixed" name="ns" longname="Name Service" size="2" showtemplate="FieldDec"/>
  942.         </loop>
  943.       </block>
  944.     </block>
  945.  
  946.     <block name="sip_server_dhcp_option" longname="SIP Server DHCP Option" description="The SIP server DHCP option carries either a 32-bit (binary) IPv4 address or, preferably, a DNS (RFC 1035) fully-qualified domain name to be used by the SIP client to locate a SIP server">
  947.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  948.       <field type="fixed" name="len" longname="Length" size="1" showtemplate="FieldDec"/>
  949.       <field type="fixed" name="enc" longname="Encoding" size="1" showtemplate="FieldDec"/>
  950.  
  951.       <switch expr="buf2int(enc)">
  952.         <case value="0">
  953.           <field type="variable" name="dns_name_of_sip_server" longname="DNS name of SIP server" expr="buf2int(len) - 1" showtemplate="FieldAscii"/>
  954.         </case>
  955.         <case value="1">
  956.           <block name="address_list" longname="IPv4 Address List">
  957.             <loop type="times2repeat" expr="(buf2int(len) - 1) div 4">
  958.               <field type="fixed" name="address" longname="Address" size="4" showtemplate="ip4addr-noplg"/>
  959.             </loop>
  960.           </block>
  961.         </case>
  962.       </switch>
  963.     </block>
  964.  
  965.     <block name="authentication_option" longname="Authentication Option" description="The code for the authentication option is 90, and the length field contains the length of the protocol, RDM, algorithm, Replay Detection fields and authentication information fields in octets">
  966.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  967.       <field type="fixed" name="len" longname="Length" description="Minimum length is 4" size="1" showtemplate="FieldDec"/>
  968.       <field type="fixed" name="protocol" longname="Protocol" description="The protocol field defines the particular technique for authentication used in the option" size="1" showtemplate="FieldDec"/>
  969.       <field type="fixed" name="algorithm" longname="Algorithm" description="The algorithm field defines the specific algorithm within the technique identified by the protocol field" size="1" showtemplate="FieldDec"/>
  970.       <field type="fixed" name="rdm" longname="Replay Detection Method" description="The Replay Detection Method (RDM) field determines the type of replay detection used in the Replay Detection field" size="1" showtemplate="FieldDec"/>
  971.       <field type="fixed" name="rd" longname="Replay Detection" description="The Replay Detection field is per the RDM, and the authentication information field is per the protocol in use" size="8" showtemplate="Field4BytesHex"/>
  972.       <field type="variable" name="authentication_information" longname="Authentication Information" expr="buf2int(len) - 1" showtemplate="Field4BytesHex"/>
  973.     </block>
  974.  
  975.     <block name="naming_authority_extension_option" longname="Naming Authority Extension Option" description="This extension indicates a naming authority (which specifies the syntax for schemes that may be used in URLs) for use by entities with the Service Location Protocol">
  976.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  977.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  978.       <field type="variable" name="naming_authority" longname="Naming Authority" expr="buf2int(len)" showtemplate="FieldAscii"/>
  979.     </block>
  980.  
  981.     <block name="ieee_1003_1_posix_timezone_specifier_option" longname="IEEE 1003.1 POSIX Timezone specifier Option" description="This NVT ASCII string represents the IEEE 1003.1 POSIX Timezone specification that a client is to use to set its timezone">
  982.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  983.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  984.       <field type="variable" name="posix_timezone_string" longname="POSIX Timezone string" expr="buf2int(len)" showtemplate="FieldAscii"/>
  985.     </block>
  986.  
  987.     <block name="agent_remote_id_option" longname="Agent Remote ID Option" description="This option MAY be added by DHCP relay agents which terminate switched or permanent circuits and have mechanisms to identify the remote host end of the circuit">
  988.       <field type="fixed" name="opcode" longname="Option Code" size="1" showtemplate="FieldDec"/>
  989.       <field type="fixed" name="len" longname="Length" description="Minimum length is 1" size="1" showtemplate="FieldDec"/>
  990.       <field type="variable" name="agent_remote_id" longname="Agent Remote ID" expr="buf2int(len)" showtemplate="Field4BytesHex"/>
  991.     </block>
  992.   </format>
  993.  
  994.  
  995.   <visualization>
  996.     <showsumtemplate name="dhcp">
  997.       <section name="next"/>
  998.       <text value="DHCP "/>
  999.       <protofield name="code" showdata="showmap"/>
  1000.       <text value=": Transaction ID "/>
  1001.       <protofield name="xid" showdata="showvalue"/>
  1002.     </showsumtemplate>
  1003.  
  1004.     <showsumtemplate name="dhcp.MessTypeOpt">
  1005.       <text value=" "/>
  1006.       <protofield name="type" showdata="showmap"/>
  1007.     </showsumtemplate>
  1008.  
  1009.     <showtemplate name="dhcp.type" showtype="dec">
  1010.       <showmap>
  1011.         <switch expr="buf2int(this)">
  1012.           <case value="1" show="DHCP Discovery"/>
  1013.           <case value="2" show="DHCP Offer"/>
  1014.           <case value="3" show="DHCP Request"/>
  1015.           <case value="4" show="DHCP Decline"/>
  1016.           <case value="5" show="DHCP Acknowledgement"/>
  1017.           <case value="6" show="DHCP Negative Acknowledgement"/>
  1018.           <case value="7" show="DHCP Release"/>
  1019.           <case value="8" show="DHCP Inform"/>
  1020.           <default show="Error in DHCP type lookup"/>
  1021.         </switch>
  1022.       </showmap>
  1023.     </showtemplate>
  1024.    
  1025.     <showtemplate name="dhcp.option" showtype="dec">
  1026.       <showmap>
  1027.         <switch expr="buf2int(this)">
  1028.           <case value="0" show="Pad"/>
  1029.           <case value="1" show="Subnet Mask"/>
  1030.           <case value="2" show="Time Offset in seconds from UTC"/>
  1031.           <case value="3" show="Router addresses"/>
  1032.           <case value="4" show="Timeserver addresses"/>
  1033.           <case value="5" show="IEN-116 Server addresses"/>
  1034.           <case value="6" show="DNS Server addresses"/>
  1035.           <case value="7" show="Logging Server addresses"/>
  1036.           <case value="8" show="Quotes Server addresses"/>
  1037.           <case value="9" show="Printer Server addresses"/>
  1038.           <case value="10" show="Impress Server addresses"/>
  1039.           <case value="11" show="RLP Server addresses"/>
  1040.           <case value="12" show="Hostname string"/>
  1041.           <case value="13" show="Size of boot file in 512 byte chunks"/>
  1042.           <case value="14" show="Client to dump and name the file to dump it to"/>
  1043.           <case value="15" show="The DNS domain name of the client"/>
  1044.           <case value="16" show="Swap Server addeess"/>
  1045.           <case value="17" show="Path name for root disk"/>
  1046.           <case value="18" show="Path name for more BOOTP info"/>
  1047.           <case value="19" show="Enable/Disable IP Forwarding"/>
  1048.           <case value="20" show="Enable/Disable Source Routing"/>
  1049.           <case value="21" show="Routing Policy Filters"/>
  1050.           <case value="22" show="Max Datagram Reassembly Size"/>
  1051.           <case value="23" show="Default IP Time to Live"/>
  1052.           <case value="24" show="Path MTU Aging Timeout"/>
  1053.           <case value="25" show="Path MTU Plateau Table"/>
  1054.           <case value="26" show="Interface MTU Size"/>
  1055.           <case value="27" show="All Subnets are Local"/>
  1056.           <case value="28" show="Broadcast Address"/>
  1057.           <case value="29" show="Perform Mask Discovery"/>
  1058.           <case value="30" show="Provide Mask to Others"/>
  1059.           <case value="31" show="Perform Router Discovery"/>
  1060.           <case value="32" show="Router Solicitation Address"/>
  1061.           <case value="33" show="Static Routing Table"/>
  1062.           <case value="34" show="Trailer Encapsulation"/>
  1063.           <case value="35" show="ARP Cache Timeout"/>
  1064.           <case value="36" show="Ethernet Encapsulation"/>
  1065.           <case value="37" show="Default TCP Time to Live"/>
  1066.           <case value="38" show="TCP Keepalive Interval"/>
  1067.           <case value="39" show="TCP Keepalive Garbage"/>
  1068.           <case value="40" show="NIS Domain Name"/>
  1069.           <case value="41" show="NIS Server Addresses"/>
  1070.           <case value="42" show="NTP Server Addresses"/>
  1071.           <case value="43" show="Vendor Specific Information"/>
  1072.           <case value="44" show="NETBIOS Name Servers"/>
  1073.           <case value="45" show="NETBIOS Datagram Distribution"/>
  1074.           <case value="46" show="NETBIOS Node Type"/>
  1075.           <case value="47" show="NETBIOS Scope"/>
  1076.           <case value="48" show="X Window Font Server"/>
  1077.           <case value="49" show="X Window Display Manager"/>
  1078.           <case value="50" show="Requested IP Address"/>
  1079.           <case value="51" show="IP Address Lease Time"/>
  1080.           <case value="52" show="Overload 'sname' or 'file'"/>
  1081.           <case value="53" show="DHCP Message Type"/>
  1082.           <case value="54" show="DHCP Server Identification"/>
  1083.           <case value="55" show="Parameter Request List"/>
  1084.           <case value="56" show="DHCP Error Message"/>
  1085.           <case value="57" show="DHCP Maximum Message Size"/>
  1086.           <case value="58" show="DHCP Renewal (T1) Time"/>
  1087.           <case value="59" show="DHCP Rebinding (T2) Time"/>
  1088.           <case value="60" show="Class Identifier"/>
  1089.           <case value="61" show="Client Identifier"/>
  1090.           <case value="62" show="Netware/IP Domain Name"/>
  1091.           <case value="63" show="Netware/IP sub Options"/>
  1092.           <case value="64" show="NIS+ v3 Client Domain Name"/>
  1093.           <case value="65" show="NIS+ v3 Server Addresses"/>
  1094.           <case value="66" show="TFTP Server Name"/>
  1095.           <case value="67" show="Boot File Name"/>
  1096.           <case value="68" show="Home Agent Addresses"/>
  1097.           <case value="69" show="Simple Mail Server Addresses"/>
  1098.           <case value="70" show="Post Office Server Addresses"/>
  1099.           <case value="71" show="Network News Server Addresses"/>
  1100.           <case value="72" show="WWW Server Addresses"/>
  1101.           <case value="73" show="Finger Server Addresses"/>
  1102.           <case value="74" show="Chat Server Addresses"/>
  1103.           <case value="75" show="StreetTalk Server Addresses"/>
  1104.           <case value="76" show="ST Directory Assist Addresses"/>
  1105.           <case value="77" show="User Class Information"/>
  1106.           <case value="78" show="Directory Agent Information"/>
  1107.           <case value="79" show="Service Location Agent Scope"/>
  1108.           <case value="80" show="Naming Authority"/>
  1109.           <case value="81" show="Fully Qualified Domain Name"/>
  1110.           <case value="82" show="Relay Agent Information"/>
  1111.           <case value="83" show="Agent Remote ID"/>
  1112.           <case value="84" show="Agent Subnet Mask"/>
  1113.           <case value="85" show="Novell Directory Services"/>
  1114.           <case value="86" show="Novell Directory Services"/>
  1115.           <case value="87" show="Novell Directory Services"/>
  1116.           <case value="88" show="IEEE 1003.1 POSIX Timezone"/>
  1117.           <case value="89" show="Fully Qualified Domain Name"/>
  1118.           <case value="90" show="Authentication"/>
  1119.           <case value="91" show="Vines TCP/IP Server Option"/>
  1120.           <case value="92" show="Server Selection Option"/>
  1121.           <case value="93" show="Client System Architecture"/>
  1122.           <case value="94" show="Client Network Device Interface"/>
  1123.           <case value="95" show="Lightweight Directory Access Protocol"/>
  1124.           <case value="96" show="IPv6 Transitions"/>
  1125.           <case value="97" show="UUID/GUID-based Client Identifier"/>
  1126.           <case value="98" show="Open Group's User Authentication"/>
  1127.           <case value="99" show="Printer Name"/>
  1128.           <case value="100" show="DHCP multicast address"/>
  1129.           <case value="108" show="Swap Path Option"/>
  1130.           <case value="110" show="IPX Compatability"/>
  1131.           <case value="112" show="NetInfo Parent Server Address"/>
  1132.           <case value="113" show="NetInfo Parent Server Tag"/>
  1133.           <case value="114" show="URL"/>
  1134.           <case value="115" show="DHCP Failover Protocol"/>
  1135.           <case value="116" show="DHCP Auto-Configuration"/>
  1136.           <case value="117" show="Name Service Search"/>
  1137.           <case value="118" show="Subnet Selection Option"/>
  1138.           <case value="119" show="DNS domain search list"/>
  1139.           <case value="120" show="SIP Servers DHCP Option"/>
  1140.           <case value="121" show="Classless Static Route Option"/>
  1141.           <case value="126" show="Extension"/>
  1142.           <case value="127" show="Extension"/>
  1143.           <case value="255" show="None"/>
  1144.           <case value="128" maxvalue="254" show="Private Use"/>
  1145.           <default show="Error in DHCP parameter lookup"/>
  1146.         </switch>
  1147.       </showmap>
  1148.     </showtemplate>
  1149.   </visualization>
  1150.  
  1151. </protocol>
  1152.  
Processing time: 0.722